双冗余CAN总线模块的设计与实现
误计数器不断增加到256,使节点处于总线脱离态。所以,通过节点状态改变中断子程序中调用CAN冗余模块,可以达到实现上述故障自动检测及CAN系统自动切换的目的。
(1)接收冗余设计CAN设备接收时无法主动检测连接线路的通断状态,这时就要求系统中的两个CAN控制器都同时工作于接收状态。这时系统中出现以下几种情况:①正常工作。这个时候两个CAN控制器都在接收数据,此时我们只要取其中主CAN设备中的数据即可,从CAN设备中的数据丢弃;②主CAN设备没有接收到数据而从CAN设备能正常接收到数据,主CAN设备控制器的状态寄存器中并没有错误标志,这种情况是因为主CAN设备的连接线路断开而引起的,此时进行通道切换,将主CAN设备设置为备用通道,把从CAN设备设置为工作通道并从中取出数据送给10系统;③主CAN设备能接收到数据,但其状态寄存器中有错误标志,这是因为线路上的数据出错引起的,此时主CAN设备中的数据为错误数据,不能被使用,因此要进行通道切换,把从CAN设备设定为工作通道,从中取出数据送IO系统,而主CAN设备进行复位处理后再让其工作于接收状态,作为备用通道。数据接收流程如图3所示。
![](../img/eep/emb/emb-38271lecoqlyogkg.jpg)
(2)发送冗余设计当CAN设备处于发送状态时,如果发生主CAN设备连接线路断开的情况,会在主CAN设备控制器的状态寄存器中置位错误标志,这样相对于接收程序来说要简单一些。
发送过程中系统只会出现两种情况:①正常工作时,只有主CAN设备在发送数据,从CAN设备处于复位状态或者侦听状态,随时准备工作;②主CAN设备控制器的状态寄存器的错误标志置位时,主设备不能正常发送,应通道切换,复位主CAN设备,在从CAN设备上进行信息重发。数据
![](../img/eep/emb/emb-38272m5tsw4xyjgi.jpg)
3.3冗余测试测试利用双通道CAN分析仪分别连接本CAN冗余模块的A.B通道上,在从A通道连续发送数据至分析仪的过程中,手动断开此链接,则备用通道B开始工作,切换成功。
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)