[发明专利]一种CAN总线双通路备份中冗余消息处理方法在审
申请号: | 202210437984.4 | 申请日: | 2022-04-25 |
公开(公告)号: | CN114726676A | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 代希杰;杨威;杨文俊;陈明欣;李之强;刘进;张骞;丁攀 | 申请(专利权)人: | 宁波天擎航天科技有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 深圳贝谷知识产权代理事务所(普通合伙) 44635 | 代理人: | 马文龙 |
地址: | 315048 浙江省宁波市高*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 can 总线 通路 备份 冗余 消息 处理 方法 | ||
1.一种CAN总线双通路备份中冗余消息处理方法,控制系统各节点设备之间采用CAN1和CAN2双总线组网机制进行传输数据和冗余消息处理,其特征在于:所述冗余消息处理方法作为应用程序运行于控制器,通过在CAN消息的发送端增加缓存机制和进行冗余备份,在接收端采用查重过滤机制来完成对数据信息处理,以保证CAN总线组网通信中数据传输无缺损或者缺损率极低,其过程包括:
1)设备节点发送CAN信息过程:
某节点需要向外发送CAN消息时,将发送的CAN消息先存入CAN1和CAN2消息FIFO队列中,通过主循环不间断查询方式,将CAN消息发送到CAN1和CAN2总线上;
2)设备节点接收CAN信息过程:
CAN总线线缆网中,对各节点设备ID分配采用互斥性设计,保持其唯一性,各节点与各节点之间通过CAN通讯协议完成通讯;
为避免无关信息对各执行节点产生干扰,各节点单机对CAN总线节点信息进行过滤处理,只响应与本节点相关信息;单机节点在收到控制信息后,无论信息来自哪条总线,首先确认是否为重复信息,如果不是重复信息则执行动作。
2.根据权利要求1所述的CAN总线双通路备份中冗余消息处理方法,其特征在于:设备节点发送CAN信息过程中,节点待发CAN消息先存入CAN1和CAN2消息FIFO队列中,通过在程序中设置不间断查询方式判断CAN发送邮箱是否有空闲的邮箱;若有空闲邮箱,则划出一条CAN消息从FIFO队列中出栈进入CAN发送邮箱中,等待发送;若发送邮箱都被占用,则等待下一次主循环判断CAN发送邮箱是否有空闲;
设置每个邮箱优先级相同,消息依次发送,发送成功后将当前被占用的邮箱置空,等待接收CAN信息,此时CAN消息已发送CAN1和CAN2总线上;发送失败后,不设置丢弃此信息,邮箱被继续占用等待下一次发送;
对于不多于3个节点设备或少数据量的简单系统,设备节点需要向外发送CAN消息时,直接放入CAN发送邮箱使用而不需要存入FIFO缓存队列中。
3.根据权利要求1或2所述的CAN总线双通路备份中冗余消息处理方法,其特征在于:CAN发送邮箱有3个,每个邮箱只能装一个报文;设备节点发送CAN信息过程中,应用程序查询到发送邮箱有空闲状态的,选择1个空闲邮箱将一帧CAN数据填充进去,将此空闲邮箱状态设置为繁忙,并设置CAN数据长度和发送数据位,然后将此邮箱请求预定,此时每个邮箱优先级相同,邮箱被预定发送后,等待总线空闲,发送成功后,邮箱置空,若发送失败,返回预定发送。
4.根据权利要求1或2所述的CAN总线双通路备份中冗余消息处理方法,其特征在于:设备节点接收CAN信息过程中,节点接收到有效报文时,被存储在3级邮箱深度的FIFO中,此时接收回调函数会被调用,通过读取FIFO输出邮箱,来读取FIFO中最先收到的报文,等这个读完之后,才能读下一个报文;读取报文数据时,通过判断CAN句柄指针地址,判断是CAN1地址区接受的数据还是CAN2,然后对读取到的报文数据进行解析和检查是否是新消息,防止CAN1、CAN2总线上的重复消息,避免二次执行;对收到数据ID与缓存队列2中的数据ID依次进行对别,当前收到的数据ID的时间点与缓存队列2中的数据ID时间戳在设定时间t内,且二者ID相同则认为时重复消息,当丢弃此消息;若收到数据ID的时间点与缓存队列2中数据ID时间戳大于设定时间t或者二者ID不相同时,则认为时新消息,当把此消息放入缓存队列1作消息预处理使用,同时此消息ID和此消息时间戳放入缓存队列2,作判重使用。
5.根据权利要求4所述的CAN总线双通路备份中冗余消息处理方法,其特征在于:设备节点接收CAN信息过程中,为节省控制器的处理负荷,接收邮箱FIFO完全由硬件来管理,从而简化应用程序并保证数据的一致性;设定时间t基于系统CAN总线上最短发数周期和线路延时设定为8毫秒,以此判断是否为新消息。
6.根据权利要求1、2或5所述的CAN总线双通路备份中冗余消息处理方法,其特征在于:为保证总线为负载较低,CAN总线网络速率设定为500Kbps,各单机节点的时钟晶振为8MHz的整数倍,时间片分配方案如下表1所示:
表1:总线速率时间片分配表
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波天擎航天科技有限公司,未经宁波天擎航天科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210437984.4/1.html,转载请声明来源钻瓜专利网。