微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 一种新型CAN总线冗余电路设计与研究

一种新型CAN总线冗余电路设计与研究

时间:03-11 来源:互联网 点击:
3 软件编程

CAN总线节点的通信程序主要包括初始化、报文发送和报文接收三部分。

(1)CAN节点初始化主要是配置控制组寄存器。在初始化前,必须确保CAN控制器进入复位模式。初始化主要有:配置总线定时器BTR0和BTR1,设定总线通信波特率;配置输出控制寄存器OCR,设定控制器输出管脚CTXO和CTX1的输出模式;配置验收码寄存器ACR和验收屏蔽码寄存器AMR,设定验收码和验收屏蔽码。

(2)报文发送程序将报文(目标节点ID、数据长度和数据)送入发送缓冲器,然后启动发送指令即可,CAN控制器能自动报文发送过程。报文发送可通过中断和查询两种方式实现,但是中断方式效率高,采用较多。

(3)报文接收程序是从CAN控制器的接收缓冲器读取节点需要的数据并保存。数据接收也可通过中断和查询两种方式实现,普遍采用效率高的中断方式。

4 结论

本文所设计的驱动器冗余电路简单,能较好地提高硬件可靠性,相对降低了成本,同时,为双总线运行提供了更多的方式,使得编程更加灵活,可以提高总线通信利用率。除此之外,在报文发送出现冲突时,还可以通过软件转移负荷,平衡双总线的通信负荷。

参考文献

   1. 汪晋宽,马淑华,吴雨川.工业网络技术[M].北京:北京邮电大学出版社,2005.08.
   2. 周江春.基于双CAN总线船舶机舱自动化监测系统的设计与实现[D].上海交通大学硕士学位论文.20040601.
   3. 陈尧,孙汉旭,贾庆轩,等.空间机器人冷热双冗余CAN总线系统的研制[J].测控技术与仪器仪表,2008,(2):83-90.
   4. 曹俊敏,孟祥群,唐厚君.单个CAN控制器的双总线冗余网络实现[J].微处理机,2007(4):29-31.
   5. 马力伟.基于双CAN冗余网络的电力机车逻辑控制单元设计[D].合肥上业大学硕士学位论文.20050301.

作者:段正强,梁述海 海军工程大学 来源:电子技术  2009(12)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top