一种双冗余can总线数据发送方法

文档序号:7799972阅读:1865来源:国知局
一种双冗余can总线数据发送方法
【专利摘要】本发明为了提高数据传输的实时性及降低数据在两个通道传输的延迟差,基于双冗余通道数据同发同收技术提供了一种在双冗余CAN总线网络中实现双冗余CAN总线数据发送的方法,包括如下步骤:(1)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类;(2)为经过步骤(1)的分类后得到的数据分配不同的消息标识符;(3)同时向两个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总线网络的数据发送的有效解决方案。中国专利申请CN201110169089.0公开了一种CAN网络数据发送方法,包括:分别设定CAN网络中所有CAN节点的发送顺序;所有CAN节点按照各自设定的发送顺序依次向其它所有CAN节点发送信息,克服了现有CAN网络中多个CAN节点同时向一个CAN节点发送信息,但数据发送的实时性较差。

【发明内容】

[0008]为了提高数据传输的实时性及降低数据在两个通道传输的延迟差,本发明基于双冗余通道数据同发同收技术提供了一种在双冗余CAN总线网络(或称双冗余CAN总线通信系统)中实现双冗余CAN总线数据发送的方法。
[0009]所述双冗余CAN总线网络包括一个处理器及与该处理器连接的两条CAN总线,两条CAN总线上均依次连接有CAN总线控制器和CAN总线驱动器,通信数据在所述两条CAN总线上同时发送。
[0010]所述数据发送方法包括如下步骤:
[0011](I)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类;
[0012](2)为经过步骤(I)的分类后得到的数据分配不同的消息标识符;[0013](3)同时向两个CAN控制器写入数据,启动数据的发送。
[0014]进一步地,所述步骤(2)和步骤(3)之间还包括:将待发送的数据的消息标识符、数据长度、数据打包成一帧数据,并将该帧数据送入发送队列,所述发送队列用于暂存待发送的多帧数据,所述发送队列直接并同时向两个CAN控制器写入数据。
[0015]进一步地,所述步骤(3)包括所述处理器同时向所述两个CAN控制器写入发送数据,并启动CAN总线驱动器进行数据发送。
[0016]进一步地,所述经过步骤(I)的分类后得到的数据包括:故障信息数据、通道检测信息数据、控制指令信息数据、配置指令信息数据、过程信息数据及节点状态信息数据。
[0017]进一步地,在步骤(2)中,所述数据按照优先级由高到低进行消息标识符的分配。
[0018]本发明的有益效果如下:在双冗余CAN总线通信系统上,本发明基于双冗余通道数据同发同收技术实现数据发送,不需要现有技术中复杂的通道切换检测方法,并且能够进一步提高CAN总线通信的可靠性。此外,同时向两个CAN控制器写入数据,启动数据发送,降低了相同数据在两个总线上发送时的传输延迟。
【专利附图】

【附图说明】
[0019]图1是根据本发明的一个实施例的双冗余CAN总线网络示意图;
[0020]图2是根据本发明的一个实施例的CAN接口扩展示意图;
[0021]图3是根据本发明的一个实施例的双冗余CAN总线数据发送方法的流程图。
【具体实施方式】
[0022]如图1-2所示,描绘了根据本发明的一个实施例的双冗余CAN总线网络的结构和CAN接口扩展示意图。
[0023]在硬件上,双冗余CAN总线同时使用两条CAN总线、两个CAN总线驱动器和两个CAN总线控制器和一个CPU。CPU通过不同的端口和中断同时控制两个CAN控制器。
[0024]在一个优选的实施例中,所采用的双冗余CAN总线BUS A、BUS B要求使用相同两套CAN设备,从而实现物理介质的隔离。BUS A的CAN设备包括独立的总线电缆、总线驱动器1-2和总线控制器1-1,BUS B的CAN设备包括独立的总线电缆、总线驱动器2_2和总线控制器2-1。CPUl由FPGA实现。
[0025]工作过程中,发送时可以通过两条总线BUS A、BUS B发送同一组数据;接收时CPU控制器1-1和2-1可以同时处理两路总线BUS A、BUS B上发来的数据,接收并进行适当处理。
[0026]在一个优选的实施例中,双冗余CAN接口卡1-1和1-2均采用SJA1000。两个双冗余CAN接口卡1-1和1-2共提供两路独立的CAN接口、CAN总线控制芯片的8位地址/数据总线,还提供读写控制信号。SJA1000输出信号经过光耦连接CAN收发器PCA82C250,PCA82C250供电电源为隔离电源,由隔离式电源转换模块提供。CAN总线的复位信号由FPGA芯片提供,CAN控制器SJA1000的中断信号输出到FPGA。
[0027]软件设计上,双冗余CAN接口卡1-1和1-2采用VXWorks开发驱动。VXWorks操作系统是风河公司(Wind River SyStem)推出的一款运行在目标机上的高性能、可裁减的嵌入式强实时操作系统,它包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分,只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
[0028]VXfforks操作系统提供几种标准驱动模型,如串行设备驱动、块设备驱动、网络接口驱动、总线控制器驱动等。根据设备不同,可选择相应的标准驱动模型或自定CAN模块是串行设备,设计选择了标准串行设备驱动模型。
[0029]根据本发明的一个实施例提供的数据发送方法是基于上述图1的双冗余CAN总线网络和图2的CAN接口的,如图3的流程图所示,具体包括如下步骤:
[0030]步骤100:对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类,得到包括故障信息数据、通道检测信息数据、控制指令信息数据、配置指令信息数据、过程信息数据及节点状态信息数据在内的多种数据。
[0031]步骤200:为经过步骤(I)的分类后得到的数据分配不同的消息标识符。这些数据按照优先级由高到低进行消息标识符的分配。步骤300:同时向两个CAN控制器写入数据,启动数据的发送。根据本发明的一个优选的实施例,在此步骤中,所述处理器同时向所述两个CAN控制器写入发送数据,并启动CAN总线驱动器进行数据发送。
[0032]在另一个优选的实施例中,在上述步骤(2)和步骤(3)之间还包括:将待发送的数据的消息标识符、数据长度、数据打包成一帧数据,并将该帧数据送入发送队列,所述发送队列用于暂存待发送的多帧数据,所述发送队列直接并同时向两个CAN控制器写入数据。这样,待发送的多帧数据和CAN硬件直接打交道,规避了其他环节引起的时间延迟。这种方式能够保证时序控制等引起的双通道数据发送的延迟降到最小。
[0033]以上的各实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
【权利要求】
1.一种在双冗余CAN总线网络基于双冗余通道数据同发同收技术的数据发送方法,所述双冗余CAN总线网络包括一个处理器及与该处理器连接的两条CAN总线,两条CAN总线上均依次连接有CAN总线控制器和CAN总线驱动器,通信数据在所述两条CAN总线上同时发送,其特征在于,所述数据发送方法包括如下步骤: (1)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类; (2)为经过步骤(I)的分类后得到的数据分配不同的消息标识符; (3)同时向两个CAN控制器写入数据,启动数据的发送。
2.根据权利要求1所述的数据发送方法,其特征在于,所述步骤(2)和步骤(3)之间还包括:将待发送的数据的消息标识符、数据长度、数据打包成一帧数据,并将该帧数据送入发送队列,所述发送队列用于暂存待发送的多帧数据,所述发送队列直接并同时向两个CAN控制器写入数据。
3.根据权利要求1或2所述的数据发送方法,其特征在于,所述步骤(3)包括所述处理器同时向所述两个CAN控制器写入发送数据,并启动CAN总线驱动器进行数据发送。
4.根据权利要求1或2所述的数据发送方法,其特征在于,所述经过步骤(I)的分类后得到的数据包括:故障信息数据、通道检测信息数据、控制指令信息数据、配置指令信息数据、过程信息数据及节点状态信息数据。
5.根据权利要求1或2所述的数据发送方法,其特征在于,在步骤(2)中,所述数据按照优先级由高到低进行消息标识符的分配。
【文档编号】H04L12/40GK103840993SQ201410117301
【公开日】2014年6月4日 申请日期:2014年3月26日 优先权日:2013年10月10日
【发明者】王小军, 李向阳, 孙招凤, 李 荣, 梁财海, 许进亮 申请人:北京航天发射技术研究所, 中国运载火箭技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1