此种拓扑结构的特点是多个网络通信节点共用一条传输线,不仅信道利用率较高,而且连接简单,成本低,系统可靠性高。信息传输采用CAN通信协议,传输介质采用双绞线,如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离等措施。
1.2 系统主要硬件
硬件模块电路如图2所示。因LF2407A芯片本身含有内嵌式CAN控制器,所以硬件设计较为简单,只需加一个收发器SN65HVD232D就可实现此节点与总线的接口。
SN65HVD232D是TI公司的CAN协议控制器和物理总线的接口芯片,符合ISO11898标准。它对总线提供差动发送能力,而对CAN控制器提供差动接收能力。终端加接120Ω匹配电阻,以保证数据通信的抗干扰能力及可靠性。
2 软件设计
2.1 波特率设置的编程
CAN总线的传输速率与2个节点间的最大距离有关,表1给出了CAN总线系统任意二节点间最大距离与位速率的关系。表中还同时给出LF2407A的位定时器配置寄存器BCR2和BCR1的数值。这些值的设定与LF2407A的主时钟频率有关。一般地可以按下面的公式计算位速率:
波特率=ICLK/[(BRP+1)×bitTime] (1)
其中ICLK为DSP系统频率,BRP由位定时器配置寄存器BCR2决定。
bitTime=(TSEG1+1)+(TSEG2+1)+1 (2)
其中TSEG1和TSEG2由位定时器配置寄存器BCR1决定。
2.2 帧结构设计
按照CAN2.0规范,CAN总线上传送的报文由3~11个字节组成,其中包含3个字节的控制字节和0~8个字节的数据字节。
一个有效的CAN数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。TMS320LF2407A的CAN控制器支持2种不同的帧格式:标准帧和扩展帧。它们主要区别在于仲裁域格式不同,标准帧仲裁域由11位标识符和远程发送请求位RTR组成;扩展帧仲裁域则由29位标示符和替代远程请求位SRR位、标志位和远程发送请求位RTR组成,如图3所示。