一种双冗余CAN总线数据发送方法技术

技术编号:16285524 阅读:134 留言:0更新日期:2017-09-24 11:19
本发明专利技术为了提高数据传输的实时性及降低数据在两个通道传输的延迟差,基于双冗余通道数据同发同收技术提供了一种在双冗余CAN总线网络中实现双冗余CAN总线数据发送的方法,包括如下步骤:(1)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类;(2)为经过步骤(1)的分类后得到的数据分配不同的消息标识符;(3)同时向两个CAN控制器写入数据,启动数据的发送。本方法不需要现有技术中复杂的通道切换检测方法,并且能够进一步提高CAN总线通信的可靠性;同时,降低了相同数据在两个总线上发送时的传输延迟。

Data transmission method of double redundancy CAN bus

The present invention in order to improve the real time of data transmission and reduce the data on the two channel transmission delay, dual redundant channel data based on the same hair with the technology provides a method for implementing a dual redundant CAN bus data transmission in the dual redundant CAN bus network, which comprises the following steps: (1) to send data according to the arrangement, and send real-time predetermined priority from high to low for data classification; (2) after step (1) the classification of the data distribution message identifier different; (3) to write data to the two CAN controller at the same time, start sending data. This method does not need the channel switching detection method in the prior art complex, and can further improve the reliability of CAN bus communication; at the same time, reduce the transmission of the same data sent in two on the bus when the delay.

【技术实现步骤摘要】

本专利技术属于数据通信
,更具体地,涉及一种双冗余CAN总线数据发送方法
技术介绍
CAN总线具有标准帧和扩展帧两种帧类型,标准帧采用11位的标识符,扩展帧采用29位的标识符。双冗余CAN总线网络的帧类型可为标准帧,也可为扩展帧。CAN总线的数据帧主要由仲裁场、控制场和数据场组成。仲裁场由CAN消息标识符构成,CAN消息标识符用于表征该消息的功能,例如通道检测帧的CAN消息标识符用于表征该数据帧为通道检测帧,同时对CAN通信起仲裁的作用。数据场携带CAN消息数据。应用传统的单CAN总线的控制网络时,有时会出现某些失效环节,比如主干线故障、分支线故障、驱动电路故障等。因此,双冗余CAN总线网络能够很好地克服上述缺点。就此,申请人开展了双冗余CAN总线网络的应用研究,先后尝试采用了双冗余通道热切换技术以及双冗余通道数据同发同收技术。双冗余通道热切换技术是将双冗余CAN总线的一个通道作为工作通道,另外一个通道热备份。当工作通道出现故障时,切换到备份通道,备份通道作为工作通道继续工作,原来的通道如果修复好则作为备份通道,如果不能修复好则标识故障。双冗余通道数据同发同收技术是将双冗余CAN总线的两个通道都作为工作通道,相同的数据在两个通道上同时传送,只要有一个通道数据传送通畅,就认为工作正常。然而,现有技术中,尚无针对同发同收技术的双冗余CAN总线网络的数据发送的有效解决方案。中国专利申请CN201110169089.0公开了一种CAN网络数据发送方法,包括:分别设定CAN网络中所有CAN节点的发送顺序;所有CAN节点按照各自设定的发送顺序依次向其它所有CAN节点发送信息,克服了现有CAN网络中多个CAN节点同时向一个CAN节点发送信息,但数据发送的实时性较差。
技术实现思路
为了提高数据传输的实时性及降低数据在两个通道传输的延迟差,本专利技术基于双冗余通道数据同发同收技术提供了一种在双冗余CAN总线网络(或称双冗余CAN总线通信系统)中实现双冗余CAN总线数据发送的方法。所述双冗余CAN总线网络包括一个处理器及与该处理器连接的两条CAN总线,两条CAN总线上均依次连接有CAN总线控制器和CAN总线驱动器,通信数据在所述两条CAN总线上同时发送。所述数据发送方法包括如下步骤:(1)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类;(2)为经过步骤(1)的分类后得到的数据分配不同的消息标识符;(3)同时向两个CAN控制器写入数据,启动数据的发送。进一步地,所述步骤(2)和步骤(3)之间还包括:将待发送的数据的消息标识符、数据长度、数据打包成一帧数据,并将该帧数据送入发送队列,所述发送队列用于暂存待发送的多帧数据,所述发送队列直接并同时向两个CAN控制器写入数据。进一步地,所述步骤(3)包括所述处理器同时向所述两个CAN控制器写入发送数据,并启动CAN总线驱动器进行数据发送。进一步地,所述经过步骤(1)的分类后得到的数据包括:故障信息数据、通道检测信息数据、控制指令信息数据、配置指令信息数据、过程信息数据及节点状态信息数据。进一步地,在步骤(2)中,所述数据按照优先级由高到低进行消息标识符的分配。本专利技术的有益效果如下:在双冗余CAN总线通信系统上,本专利技术基于双冗余通道数据同发同收技术实现数据发送,不需要现有技术中复杂的通道切换检测方法,并且能够进一步提高CAN总线通信的可靠性。此外,同时向两个CAN控制器写入数据,启动数据发送,降低了相同数据在两个总线上发送时的传输延迟。附图说明图1是根据本专利技术的一个实施例的双冗余CAN总线网络示意图;图2是根据本专利技术的一个实施例的CAN接口扩展示意图;图3是根据本专利技术的一个实施例的双冗余CAN总线数据发送方法的流程图。具体实施方式如图1-2所示,描绘了根据本专利技术的一个实施例的双冗余CAN总线网络的结构和CAN接口扩展示意图。在硬件上,双冗余CAN总线同时使用两条CAN总线、两个CAN总线驱动器和两个CAN总线控制器和一个CPU。CPU通过不同的端口和中断同时控制两个CAN控制器。在一个优选的实施例中,所采用的双冗余CAN总线BUSA、BUSB要求使用相同两套CAN设备,从而实现物理介质的隔离。BUSA的CAN设备包括独立的总线电缆、总线驱动器1-2和总线控制器1-1,BUSB的CAN设备包括独立的总线电缆、总线驱动器2-2和总线控制器2-1。CPU1由FPGA实现。工作过程中,发送时可以通过两条总线BUSA、BUSB发送同一组数据;接收时CPU控制器1-1和2-1可以同时处理两路总线BUSA、BUSB上发来的数据,接收并进行适当处理。在一个优选的实施例中,双冗余CAN接口卡1-1和1-2均采用SJAl000。两个双冗余CAN接口卡1-1和1-2共提供两路独立的CAN接口、CAN总线控制芯片的8位地址/数据总线,还提供读写控制信号。SJAl000输出信号经过光耦连接CAN收发器PCA82C250,PCA82C250供电电源为隔离电源,由隔离式电源转换模块提供。CAN总线的复位信号由FPGA芯片提供,CAN控制器SJAl000的中断信号输出到FPGA。软件设计上,双冗余CAN接口卡1-1和1-2采用VXWorks开发驱动。VXWorks操作系统是风河公司(WindRiverSyStem)推出的一款运行在目标机上的高性能、可裁减的嵌入式强实时操作系统,它包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分,只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。VXWorks操作系统提供几种标准驱动模型,如串行设备驱动、块设备驱动、网络接口驱动、总线控制器驱动等。根据设备不同,可选择相应的标准驱动模型或自定CAN模块是串行设备,设计选择了标准串行设备驱动模型。根据本专利技术的一个实施例提供的数据发送方法是基于上述图1的双冗余CAN总线网络和图2的CAN接口的,如图3的流程图所示,具体包括如下步骤:步骤100:对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类,得到包括故障信息数据、通道检测信息数据、控制指令信息数据、配置指令信息数据、过程信息数据及节点状态信息数据在内的多种数据。步骤200:为经过步骤(1)的分类后得到的数据分配不同的消息标识符本文档来自技高网
...

【技术保护点】
一种在双冗余CAN总线网络基于双冗余通道数据同发同收技术的数据发送方法,所述双冗余CAN总线网络包括一个处理器及与该处理器连接的两条CAN总线,两条CAN总线上均依次连接有CAN总线控制器和CAN总线驱动器,通信数据在所述两条CAN总线上同时发送,其特征在于,所述数据发送方法包括如下步骤:(1)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进行分类;(2)为经过步骤(1)的分类后得到的数据分配不同的消息标识符;(3)同时向两个CAN控制器写入数据,启动数据的发送。

【技术特征摘要】
2013.10.10 CN 201320623831.51.一种在双冗余CAN总线网络基于双冗余通道数据同发同收技术的数据发送方法,所述双
冗余CAN总线网络包括一个处理器及与该处理器连接的两条CAN总线,两条CAN总线
上均依次连接有CAN总线控制器和CAN总线驱动器,通信数据在所述两条CAN总线上
同时发送,其特征在于,所述数据发送方法包括如下步骤:
(1)对待发送的数据进行整理,并根据预先确定的发送实时性优先级由高到低对数据进
行分类;
(2)为经过步骤(1)的分类后得到的数据分配不同的消息标识符;
(3)同时向两个CAN控制器写入数据,启动数据的发送。
2.根据权利要求1所述的数据发送方法,其特征在于,所述步骤(2)和步骤(3...

【专利技术属性】
技术研发人员:王小军李向阳孙招凤李荣梁财海许进亮
申请(专利权)人:北京航天发射技术研究所中国运载火箭技术研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1