新闻中心

EEPW首页>嵌入式系统>设计应用> CAN总线及其在UPS网络监控系统中的应用

CAN总线及其在UPS网络监控系统中的应用

作者: 时间:2012-06-09 来源:网络 收藏

鉴于本系统的要求,ups1、ups2、ups3及显示监控模块的控制芯片均采用ti公司生产的tms320f240dsp,can控制器采用philip公司生产的sja1000t。

3.1 dsp与can总线控制器硬件接口

dsp与can控制器sja1000t之间的接口电路如图3所示。

sja1000t的存储空间映射在微控制器dsp的i/o空间,对sja1000存储空间的寻址必须用指令in和out。在intel方式下读写sja1000时,地址和数据是分时传送的,地址在前,数据在后。根据dsp对外设端口的逻辑时序及sja1000t要求的读写逻辑时序,除了dsp的基本读写引脚we、w/r外,我们还选用a14、a15、is为控制脚,控制sja1000地址空间和数据空间的选通,当a15=1、a14=0时为地址空间,选通ale和cs;当a15=1、a14=0时为数据空间,此时对于dsp来说,写则选通sja1000t的wr和cs, 读则选通sja1000t的rd/w和cs,从而完成了dsp与sja1000t之间的数据传递。

另外,由于接收数据采用中断方式,故在dsp上选用外部中断xint1作为中断源,而sja1000t是低有效,故通过一个上拉电阻接vcc。

4 can通信网络软件设计

单个can节点通信的功能主要是将本节点的数据信息传送给can通信网络其它节点,以及接收网络上其它节点传送来的信息。can总线单个节点的软件设计主要包括三大部分:can节点初始化、信息的发送和信息的接收。设计时将can初始化、发送信息(数据和远程帧)设计为子程序,发送信息采用查询方式,接收信息采用中断方式。

(1) 初始化子程序

sja1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器amr和接收代码寄存器acr的设置、波特率参数设置和中断允许寄存器ier的设置等。在完成sja1000的初始化设置以后,sja1000就可以回到工作状态,进行正常的通信任务,其源程序如下:
data_can .set 0c000h
dress_can .set 8000h
can_start:
ldp #4
splk #0,temp ;控制寄存器(mod)设置
out temp,dress_can
splk #1bh, temp ;复位模式
out temp,data_can ;sja1000进行初始化
splk #0, temp
out temp,dress_can
in temp,data_can
bit temp,bit0
bcnd can_reset,ntc
splk #4,canflag ;设置验收代码寄存器
out temp,dress_can
splk #01h,canflag
out temp,data_can
splk #5, temp ;设置验收屏蔽寄存器
out temp,dress_can
splk #000h, temp
out temp,data_can
splk #31, temp ;设置时钟分频寄存器(cdr)
out temp,dress_can
splk #48h, temp ;选择basiccan模式,关
;闭时钟(clkout)



评论


相关推荐

技术专区

关闭