一种双冗余can总线故障检测方法

文档序号:7773209阅读:424来源:国知局
一种双冗余can总线故障检测方法
【专利摘要】本发明为了解决缺乏基于同发同收技术的双冗余CAN总线网络的故障检测的有效途径的问题,提供了一种双冗余CAN总线故障检测方法,所述CAN总线的两个通道都作为工作通道,数据在两个通道上同时被发送和接收,两个通道上的各节点均被默认为从节点,需要在两个通道上分别发起通道检测的节点将自己设置为主节点,包括如下步骤:主节点在两个通道分别向各从节点发送检测信号;各从节点从两个通道之一接收到主节点的检测信号后,在该通道发送该从节点的反馈信号;主节点从所述两个通道分别接收反馈信号;根据接收到的反馈信号对两个通道分别进行故障识别。本发明具有实施简单、检测结果可靠的优点,能够快速地查找出两个通道各自的故障。
【专利说明】—种双冗余CAN总线故障检测方法
【技术领域】
[0001]本发明涉及线路故障检测方法,更具体地,涉及一种双冗余CAN总线故障检测方法。
【背景技术】
[0002]CAN总线具有标准帧和扩展帧两种帧类型,标准帧采用11位的标识符,扩展帧采用29位的标识符。双冗余CAN总线网络的帧类型可为标准帧,也可为扩展帧。CAN总线的数据帧主要由仲裁场、控制场和数据场组成。仲裁场由CAN消息标识符构成,CAN消息标识符用于表征该消息的功能,例如通道检测帧的CAN消息标识符用于表征该数据帧为通道检测帧,同时对CAN通信起仲裁的作用。数据场携带CAN消息数据。
[0003]应用传统的单CAN总线的控制网络时,有时会出现某些失效环节,比如主干线故障、分支线故障、驱动电路故障等。因此,双冗余CAN总线网络能够很好地克服上述缺点。
[0004]就此, 申请人:开展了双冗余CAN总线网络的应用研究,先后尝试采用了双冗余通道热切换技术以及双冗余通道数据同发同收技术。
[0005]双冗余通道热切换技术是将双冗余CAN总线的一个通道作为工作通道,另外一个通道热备份。当工作通道出现故障时,切换到备份通道,备份通道作为工作通道继续工作,原来的通道如果修复好则作为备份通道,如果不能修复好则标识故障。
[0006]双冗余通道数据同发同收技术是将双冗余CAN总线的两个通道都作为工作通道,数据在两个通道上同时传送,只要有一个通道数据传送通畅,就认为工作正常。
[0007]然而,现有技术中,尚无针对同发同收技术的双冗余CAN总线网络的故障检测的有效途径。

【发明内容】

[0008]为了克服上述现有技术中存在的缺陷,本发明提供了 一种基于双冗余通道数据同发同收技术的双冗余CAN总线故障检测方法。这种故障检测方法能够检测出CAN总线网络上各节点的两个通道是否出现故障,还能进一步确定CAN总线网络的分支线故障问题还是主干线故障问题。
[0009]本发明提供的技术方案如下:一种双冗余CAN总线故障检测方法,所述CAN总线的两个通道都作为工作通道,数据在两个通道上同时被发送和接收,两个通道上的各节点均被默认为从节点,需要在两个通道上分别发起通道检测的节点将自己设置为主节点,包括如下步骤:
[0010](I)主节点在两个通道分别向各从节点发送检测信号;
[0011](2)各从节点从两个通道之一接收到主节点的检测信号后,在该通道发送该从节点的反馈信号;
[0012](3)主节点从所述两个通道分别接收反馈信号;
[0013](4)根据步骤(3)中接收到的反馈信号对两个通道分别进行故障识别。[0014]进一步地,步骤(4)中,对某个通道进行故障识别包括:主节点再根据各从节点反馈的从节点通道检测帧情况具体确定是主干线断故障还是某个分支线故障。
[0015]进一步地,判断步骤包括:
[0016](2.1)当该通道的某个主节点没有接收到来自该通道上的任何从节点的反馈信号时,则确定该通道在其上的所述主节点处出现故障;否则
[0017](2.2)当该通道的主节点没有接收到来自该通道上的某个从节点的反馈信号时,则确定该通道在其上的该从节点处出现故障;否则
[0018](2.3)该通道无故障。
[0019]进一步地,所述检测信号为主节点通道检测帧,所述反馈信号为从节点通道检测帧。
[0020]进一步地,所述进行故障识别包括检测是否发生故障以及故障的位置。
[0021]进一步地,所述步骤(2)和步骤(3)之间还包括:等待预定的延迟时间。
[0022]进一步地,所述延迟时间小于0.5秒。
[0023]本发明的有益效果如下:本发明提供的双冗余CAN总线故障检测方法具有实施简单、检测结果可靠的优点,不需要添加过多额外的电气设备就能够实施,并且还能够快速地查找出两个通道各自的故障,极大地方便了 CAN总线布线复杂时进行错误检测的工作量。
【专利附图】

【附图说明】
[0024]图1是根据本发明的一个实施例的双冗余CAN总线网络示意图;
[0025]图2是根据本发明的一个实施例的CAN接口扩展示意图;
[0026]图3是根据本发明的一个实施例的需要区分重复数据的数据帧格式;
[0027]图4示出了根据本发明的一个实施例的数据接收处理流程图。
【具体实施方式】
[0028]如图1-2所示,描绘了根据本发明的一个实施例的双冗余CAN总线网络的结构和CAN接口扩展示意图。
[0029]在硬件上,双冗余CAN总线同时使用两条CAN总线、两个CAN总线驱动器和两个CAN总线控制器和一个CPU。CPU通过不同的端口和中断同时控制两个CAN控制器。
[0030]在一个优选的实施例中,所采用的双冗余CAN总线BUS A、BUS B要求使用相同两套CAN设备,从而实现物理介质的隔离。BUS A的CAN设备包括独立的总线电缆、总线驱动器1-2和总线控制器1-1,BUS B的CAN设备包括独立的总线电缆、总线驱动器2_2和总线控制器2-1。CPUl由FPGA实现。
[0031]工作过程中,发送时可以通过两条总线BUS A、BUS B发送同一组数据;接收时CPU控制器1-1和2-1可以同时处理两路总线BUS A、BUS B上发来的数据,接收并进行适当处理。
[0032]在一个优选的实施例中,双冗余CAN接口卡1-1和1-2均采用SJA1000。两个双冗余CAN接口卡1-1和1-2共提供两路独立的CAN接口、CAN总线控制芯片的8位地址/数据总线,还提供读写控制信号。SJA1000输出信号经过光耦连接CAN收发器PCA82C250,PCA82C250供电电源为隔离电源,由隔离式电源转换模块提供。CAN总线的复位信号由FPGA芯片提供,CAN控制器SJA1000的中断信号输出到FPGA。
[0033]软件设计上,双冗余CAN接口卡1-1和1-2采用VXWorks开发驱动。VXWorks操作系统是风河公司(Wind River SyStem)推出的一款运行在目标机上的高性能、可裁减的嵌入式强实时操作系统,它包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分,只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
[0034]VXfforks操作系统提供几种标准驱动模型,如串行设备驱动、块设备驱动、网络接口驱动、总线控制器驱动等。根据设备不同,可选择相应的标准驱动模型或自定CAN模块是串行设备,设计选择了标准串行设备驱动模型。
[0035]本发明提供的双冗余CAN总线故障检测方法以专用通道检测帧为基础,通道检测帧格式具体见图3。在一个优选的实施例中,通道检测帧的CAN消息标识符由功能码0x100和节点号NodeID和组成。通道检测帧的数据长度为3个字节,第一个字节存放通道号——A通道该字节放置0x55,B通道该字节放置OxAA ;第二个字节存放节点号;第三个字节存放主从标识——主节点此字节放置0x55,从节点此字节放置OxAA。
[0036]如图4,示出了根据本发明的一个实施例的数据接收处理流程图。当CAN总线的两个通道都作为工作通道时,数据在两个通道上同时被发送和接收,两个通道上的各节点均被默认为从节点。需要在两个通道上分别发起通道检测的节点将自己设置为主节点。该处理流程包括:
[0037](I)主节点在两个通道分别向各从节点发送检测信号;
[0038](2)各从节点从两个通道之一接收到主节点的检测信号后,在该通道发送该从节点的反馈信号;
[0039](3)主节点从所述两个通道分别接收反馈信号;
[0040](4)根据步骤(3)中接收到的反馈信号对两个通道分别进行故障识别。
[0041]其中,对某个通道进行故障识别包括:主节点再根据各从节点反馈的从节点通道检测帧情况具体确定是主干线断故障还是某个分支线故障。进一步地,判断步骤包括:
[0042](2.1)当该通道的主节点没有接收到来自该通道上的任何从节点的反馈信号时,则确定该通道在其上的当前主节点处出现故障;否则
[0043](2.2)当该通道的主节点没有接收到来自该通道上的某个从节点的反馈信号时,则确定该通道在其上的该从节点处出现故障;否则
[0044](2.3)该通道无故障。
[0045]其中,所述检测信号为主节点通道检测帧,所述反馈信号为从节点通道检测帧。在一个优选的实施例中,所述进行故障识别包括检测是否发生故障以及故障的位置。
[0046]在另一个优选的实施例中,本发明的检测方法包括:
[0047](I)双冗余CAN总线的各节点默认为从节点,需要发起通道检测的节点将自己设置为主节点,并分别在两个通道发送主节点通道检测帧。
[0048](2)从节点接收到主节点通道检测帧后,发送从节点通道检测帧。各从节点接收到其他节点的从节点通道检测帧不予处理。
[0049](3)主节点发送完成主节点通道检测帧后,最长延时0.5秒,如果在该时间内某个通道没有接收到任何从节点的通道检测帧则确定为本节点该通道故障,否则某个通道上没有接收到哪个节点的从节点通道检测帧则确定该节点的相应通道故障。
[0050](4)主节点再根据各从节点反馈的从节点通道检测帧情况具体确定是主干线断故障还是某个分支线故障。
[0051]例如CAN网络中有节点号为3、4、5的三个节点,节点号为3的节点为主节点,其他节点为从节点。则节点号为3、4、5的通道检测帧的CAN消息标识符分别为0xl03、0xl04、0x105。三个节点发送的通道检测帧分别如表1所示。
[0052]表1节点3、4和5发送的CAN通道检测帧示例
[0053]
M [al CAN消息数据长度I数据O I数据I I数据2
【权利要求】
1.一种双冗余CAN总线故障检测方法,所述CAN总线的两个通道都作为工作通道,数据在两个通道上同时被发送和接收,其特征在于,两个通道上的各节点均被默认为从节点,需要在两个通道上分别发起通道检测的节点将自己设置为主节点,所述方法包括如下步骤: (1)主节点在两个通道分别向各从节点发送检测信号; (2)各从节点从两个通道之一接收到主节点的检测信号后,在该通道发送该从节点的反馈信号; (3)主节点从所述两个通道分别接收反馈信号; (4)根据步骤(3)中接收到的反馈信号对两个通道分别进行故障识别。
2.根据权利要求1所述的双冗余CAN总线故障检测方法,其特征在于,步骤(4)中,对某个通道进行故障识别包括:主节点再根据各从节点反馈的从节点通道检测帧情况确定是主干线断故障还是某个分支线故障。
3.根据权利要求2所述的双冗余CAN总线故障检测方法,其特征在于,判断步骤包括: (2.1)当该通道的某个主节点没有接收到来自该通道上的任何从节点的反馈信号时,则确定该通道在其上的所述主节点处出现故障;否则 (2.2)当该通道的主节点没有接收到来自该通道上的某个从节点的反馈信号时,则确定该通道在其上的该从节点处出现故障;否则(2.3)该通道无故障。
4.根据权利要求1-3之一所述的双冗余CAN总线故障检测方法,其特征在于,所述检测信号为主节点通道检测帧,所述反馈信号为从节点通道检测帧。
5.根据权利要求1-3之一所述的双冗余CAN总线故障检测方法,其特征在于,所述进行故障识别包括检测是否发生故障以及故障的位置。
6.根据权利要求1-3之一所述的双冗余CAN总线故障检测方法,其特征在于,所述步骤(2)和步骤(3)之间还包括:等待预定的延迟时间。
7.根据权利要求6所述的双冗余CAN总线故障检测方法,其特征在于,所述延迟时间小于0.5秒。
【文档编号】H04L12/26GK103490959SQ201310470784
【公开日】2014年1月1日 申请日期:2013年10月10日 优先权日:2013年10月10日
【发明者】李向阳, 李 荣, 王小军, 张洪彬, 孙招凤, 许进亮 申请人:北京航天发射技术研究所, 中国运载火箭技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1