[发明专利]一种提高CAN总线通讯可靠性的技术方法有效
申请号: | 202011049857.4 | 申请日: | 2020-09-29 |
公开(公告)号: | CN112333066B | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 杨正;赵云旭 | 申请(专利权)人: | 中国船舶重工集团公司第七0七研究所 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L41/0631;H04L41/0654;H04L43/50 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 300131 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 can 总线 通讯 可靠性 技术 方法 | ||
本发明涉及一种提高CAN总线通讯可靠性的技术方法,其技术特点是:通过设置CAN总线通讯验证码和屏蔽码;CAN总线通讯波特率设置采取75%以上采样率的参数;CAN总线接收使用10次循环进行接收;CAN总线通讯写寄存器前后关闭和恢复接收中断;采用外部救援方法拯救CAN总线通讯错误故障;采用压力测试的方法测试CAN总线通讯的正确性和可靠性,实现了CAN总线通讯正确性和可靠性的提高。本发明能够在不影响实时接收数据不丢数据的前提下,CAN节点尽量少接收与自身无关数据少产生接收中断,保证CAN节点发送出来的数据均为预期数据。
技术领域
本发明属于嵌入式通讯领域,尤其是一种提高CAN总线通讯可靠性的技术方法。
背景技术
控制器局域网络CAN总线是国际上应用最广泛的现场总线之一,它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。由于CAN总线本身的特点,其应用范围已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。特别是在军用领域,通讯的正确性和可靠性的重要性不言而喻。
在实际项目中,惯导设备做为一个CAN节点,能够接收到整车CAN网上的所有数据,其发送的数据也可以被在CAN网上的其它节点所接收。根据通讯协议,惯导设备实时接收CAN 网上的数据同时,以200Hz高频向CAN总线上发送三维姿态角信息。在实际整车使用过程中,出现了数据频率低于惯导发送的200Hz频率以及偶发出现数据报文校验不通过的问题,即出现了非预期数据,严重影响了通讯的正确性和可靠性。
发明内容
本发明的目的在于克服现有技术的不足,提出一种提高CAN总线通讯可靠性的技术方法,能够提高CAN总线通讯的正确性和可靠性。
本发明解决其技术问题是采取以下技术方案实现的:
一种提高CAN总线通讯可靠性的技术方法,包括以下步骤:
步骤1、设置CAN总线通讯验证码和屏蔽码;
步骤2、设置CAN总线通讯参数;
步骤3、CAN总线接收使用数次循环进行接收;
步骤4、CAN总线通讯写寄存器前后关闭和恢复接收中断;
步骤5、采用外部救援方法拯救CAN总线通讯错误故障;
步骤6、采用压力测试的方法测试CAN总线通讯的正确性和可靠性。
而且,所述步骤1的具体实现方法为:根据通讯协议规定的ID,计算CAN通讯验证码和屏蔽码,并设置CAN通讯验证码和屏蔽码。
而且,所述步骤2的具体实现方法为:CAN总线通讯波特率设置采取75%以上采样率的参数。
而且,所述步骤3的具体实现方法为:判断CAN总线在10次循环内是否接受到中断标志,若接收到中断则进行处理。
而且,所述步骤4的具体实现方法为:在判断为发送中断后,开始发送数据,此时关闭接收中断,数据写入发送寄存器,触发发送中断,使能接收中断。
而且,所述步骤5的具体实现方法为:CAN总线通讯产生错误时,错误寄存器会有错误标志,此时在CAN的中断服务函数以外进行判断,一旦判断检测到错误寄存器有错误标志后,重新初始化CAN芯片的方式恢复CAN的通讯。
而且,所述步骤6的具体实现方法为:采用多CAN节点模拟整个CAN网上的数据,数据设置为协议内的和协议外的干扰数据,采用高频率通讯和干扰通讯,实时查看数据的正确性和是否存在丢数现象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七0七研究所,未经中国船舶重工集团公司第七0七研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011049857.4/2.html,转载请声明来源钻瓜专利网。