新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 一种新型CAN总线冗余电路设计与研究

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

作者: 时间:2010-03-09 来源:网络 收藏

本文采用带在片控制器的单片机P80C3592,节点电路连接图如图6所示。控制器的发送输出端CTX0接CD4053的第二路模拟开关输出端Y;控制器的接收输入端CRX0接CD4053的第一路模拟开关输出端X。CD4053的第一路模拟开关的输入端X0、X1分别接两个驱动器的接收输出端RXD;CD4053的第三路模拟开关的输出端Z与其输入端Z0连接后,然后将第二路与第三路模拟开关的输入端Y0、Y1和Z0、z1对应连接,再对应连接两个驱动器的发送输入端TXD。CD4053三独立选通由单片机的P1口低三位控制。这样就使得双可供选择的工作方式增加。对于单一节点来说,双总线所有可能的运行方式如表1所示。

本文引用地址://www.cghlg.com/article/181007.htm


对于所有节点来说,双CAN总线有同时运行和热备份两种运行方式。由于采用双驱动器冗余,只有一个总线控制器,所以每个节点不能同时从两路总线接收数据,故本文的驱动器冗余方式不能实现严格意义上的同时运行方式。另外,同时运行方式功耗大,总线通信利用率低。
若采用图3所示的电路,只能实现表1中的方式5和6,若采用图4所示的电路,只能实现表1中的方式1和4。方式2和3具有非常特殊的作用:a.双总线同时运行时,可以为两个不同的节点传递报文,提高总线通信利用率;b.可能实现单节点调试。因为单节点采用其他方式调试时,报文发送后由于得不到应答而会检测到错误并不断重发报文,节点转为被动出错节点。

3 软件编程
CAN总线节点的通信程序主要包括初始化、报文发送和报文接收三部分。
(1)CAN节点初始化主要是配置控制组寄存器。在初始化前,必须确保CAN控制器进入复位模式。初始化主要有:配置总线定时器BTR0和BTR1,设定总线通信波特率;配置输出控制寄存器OCR,设定控制器输出管脚CTXO和CTX1的输出模式;配置验收码寄存器ACR和验收屏蔽码寄存器AMR,设定验收码和验收屏蔽码。
(2)报文发送程序将报文(目标节点ID、数据长度和数据)送入发送缓冲器,然后启动发送指令即可,CAN控制器能自动报文发送过程。报文发送可通过中断和查询两种方式实现,但是中断方式效率高,采用较多。
(3)报文接收程序是从CAN控制器的接收缓冲器读取节点需要的数据并保存。数据接收也可通过中断和查询两种方式实现,普遍采用效率高的中断方式。

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



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭