双冗余CAN总线模块的设计与实现

发布者:SecretWhisper最新更新时间:2013-06-26 来源: dzsc关键字:双冗余  CAN总线模块  冗余技术 手机看文章 扫描二维码
随时随地手机看文章

  引言冗余技术有两种方式:工作冗余和后备冗余。工作冗余是对关键设备以双重或三重的原则来重复配置,这些设备同时处于工作运行状态,工作过程中若某一台设备出现故障,它会自动脱离系统,但并不影响系统的正常工作。后备冗余方式是使一台设备投入运行,另一台冗余设备处于热备用状态,但不投入运行,在线运行设备一旦出现故障,后备设备立即投入运行。常用的冗余系统按其结构可分为并联系统。备用系统和表决系统3种。最简单的冗余设计是并联装置,其它方法还有串并联或并串联混合装置和多数表决装置等。

  本文通过以上冗余技术的分析选择,将其结合到CAN总线模块的设计中,并在V×Works系统下设计了双冗余驱动,通过测试,验证了本设计的有效性。

  1 总体设计双冗余CAN总线模块设计主要包括硬件与软件设计两部分。为实现冗余功能,硬件上需要有几个相同可独立工作的设备支持;软件上要具备错误检测和动态切换功能,且切换时间要尽可能短。在本设计中,双冗余CAN总线模块硬件配置两个独立的CAN控制器,并有FPGA对其进行控制,软件通过读取CAN总线状态寄存器判断是否进行冗余切换动作。

  下面将详细描述双冗余CAN总线模块的硬件与软件设计,以及冗余功能的实现细节。

  2硬件设计我们选择PCI9052作为接口芯片,利用功能芯片实现硬件的逻辑和物理实现。CAN控制器采用PHILIPS的SJAl000,可工作于BasicCAN模式或PeI.CAN模式下,其中PeIiCAN模式支持CAN 2.0B协议,采用8位地址/数据复用总线接口。如图1所示,PC J总线双CAN接口卡由两片SJAl000提供两路独立的CAN接口,每片芯片的8位地址/数据总线和读写控制信号。锁存信号直接与PCI9052相连。SJAl000输出信号经过光耦到CAN收发器PCA82C250,82C250供电电源为隔离电源,由隔离电源转换模块提供。CAN总线的复位信号由FPGA提供,CAN控制器SJAl000的中断信号输出到FPGA.

  在硬件上CAN总线冗余模块要求使用相同两套CAN设备(CAN0.CANl),每套包含独立的总线电缆。总线驱动器和总线控制器,从而实现物理介质。物理层。数据链路层及应用层的全面冗余。两套设备采用热备份方式运行:一个CAN控制器作为系统上电后默认的CAN(称为主CAN);另一个为系统的备用CAN(称为从CAN)。系统正常工作时,主CAN设备(CAN0)投入运行,当主CAN设备发生故障时,系统自动切换至从CAN设备运行,保证整个系统的正常通信,提高系统可靠性。

  3软件设计3.1 VXWorks驱动开发模型VXWorks操作系统是风河公司(Wind River SyStem)推出的一款运行在目标机上的高性能。可裁减的嵌入式强实时操作系统,它包括进程管理。存储管理。设备管理。文件系统管理。网络协议及系统应用等几个部分,只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。它以其良好的可靠性和卓越的实时性被广泛地应用在通信。军事。航空。航天等高精尖技术及实时性要求极高的领域中。

  VXWorks操作系统提供几种标准驱动模型,如串行设备驱动。块设备驱动。网络接口驱动。总线控制器驱动等。根据设备不同,可选择相应的标准驱动模型或自定cAN模块是串行设备,设计选择了标准串行设备驱动模型。CAN总线驱动VXWorks系统中的结构框图如图2所示。

  3.2.1 CAN模块驱动设计CAN模块驱动设计主要包括实现设备初始化。与上层IO通信。数据收发。参数设置。验收滤波器设置等。其中设备初始化要针对CAN设备冗余的特点,对两个CAN控制器进行相同的初始化操作;与上层IO通信。数据收发。参数设置。验收滤波器设置操作只控制当前处于工作状态的CAN控制器。

  3.2.2驱动冗余设计在双CAN冗余系统的设计中,较之硬件结构而言,软件设计相对复杂,其关键之处在于CAN系统故障检测及CAN系统自动切换。由于采用两套完全独立的传输介质。总线驱动器和总线控制器,因此它们能分别独立检测到自己通道的故障,比如CANH与CANL短路,CANH或CANL断开。CANH与地短路。CANL与电源短路。总线驱动器损坏等。实际调试中发现,如果CANH.CANL断开或只有一个发送器在总线上,均会造成发送/接收错误计数器不断增加到128,使节点处于忽略错误态;而CANH与CANL短路。CANH与地短路或CANL与电源短路均会造成发送/接收错误计数器不断增加到256,使节点处于总线脱离态。所以,通过节点状态改变中断子程序中调用CAN冗余模块,可以达到实现上述故障自动检测及CAN系统自动切换的目的。[page]

(1)接收冗余设计CAN设备接收时无法主动检测连接线路的通断状态,这时就要求系统中的两个CAN控制器都同时工作于接收状态。这时系统中出现以下几种情况:①正常工作。这个时候两个CAN控制器都在接收数据,此时我们只要取其中主CAN设备中的数据即可,从CAN设备中的数据丢弃;②主CAN设备没有接收到数据而从CAN设备能正常接收到数据,主CAN设备控制器的状态寄存器中并没有错误标志,这种情况是因为主CAN设备的连接线路断开而引起的,此时进行通道切换,将主CAN设备设置为备用通道,把从CAN设备设置为工作通道并从中取出数据送给10系统;③主CAN设备能接收到数据,但其状态寄存器中有错误标志,这是因为线路上的数据出错引起的,此时主CAN设备中的数据为错误数据,不能被使用,因此要进行通道切换,把从CAN设备设定为工作通道,从中取出数据送IO系统,而主CAN设备进行复位处理后再让其工作于接收状态,作为备用通道。数据接收流程如图3所示。

  (2)发送冗余设计当CAN设备处于发送状态时,如果发生主CAN设备连接线路断开的情况,会在主CAN设备控制器的状态寄存器中置位错误标志,这样相对于接收程序来说要简单一些。

  发送过程中系统只会出现两种情况:①正常工作时,只有主CAN设备在发送数据,从CAN设备处于复位状态或者侦听状态,随时准备工作;②主CAN设备控制器的状态寄存器的错误标志置位时,主设备不能正常发送,应通道切换,复位主CAN设备,在从CAN设备上进行信息重发。数据

      3.3冗余测试测试利用双通道CAN分析仪分别连接本CAN冗余模块的A.B通道上,在从A通道连续发送数据至分析仪的过程中,手动断开此链接,则备用通道B开始工作,切换成功。

关键字:双冗余  CAN总线模块  冗余技术 引用地址:双冗余CAN总线模块的设计与实现

上一篇:基于短距无线通信及CAN总线的照明光源控制研究
下一篇:1553B总线远程终端的FPGA程序设计

推荐阅读最新更新时间:2024-05-02 22:42

WDM定时器在冗余技术中的应用
0 引 言   本文将WDM 的定时器功能应用在 冗余技术 中,为系统的故障检测和切换技术提供了一种解决方案, 并以双冗余CAN 总线接口板为例测试本设计的可行性。   1 冗余技术   冗余技术有两种方式: 工作冗余和后备冗余。工作冗余是对关键设备以双重或三重的原则来重复配置, 这些设备同时处于工作运行状态, 工作过程中若某一台设备出现故障, 它会自动脱离系统, 但并不影响系统的正常工作。后备冗余方式是使一台设备投入运行, 另一台冗余设备处于热备用状态, 但不投入运行, 在线运行设备一旦出现故障, 后备设备立即投入运行。常用的冗余系统按其结构可分为并联系统、备用系统和表决系统三种。最简单的冗余设计是并联装置, 其他方法还有
[工业控制]
WDM定时器在<font color='red'>冗余技术</font>中的应用
基于CAN总线模块化独立光伏发电控制系统
引言     随着能源日益紧缺和环保压力不断增大,光伏发电技术以其资源丰富、清洁环保、受地域限制小等优点,越来越受到人们的重视。根据对现有光伏发电系统的调查分析,储能蓄电池的使用寿命是导致系统故障和失效的重要因素之一。传统的独立光伏发电系统一般采用单个充电控制器控制太阳能电池板对蓄电池进行充电。该方法基本能够满足小容量蓄电池的要求,但不能胜任大容量蓄电池或蓄电池组。大容量的蓄电池或蓄电池组充电时需要的充电电流较大,充电过程中充电控制器投入/切出充电频繁,对蓄电池冲击较大,易损坏蓄电池。当前,大容量蓄电池和蓄电池组正被逐渐广泛使用,因此,需要更加有效、可靠的充电控制方案。CAN总线有组态灵活、结构简单、可靠性高、通信速度快等特点
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved