[发明专利]一种多设备CAN通讯智能重发方法有效
申请号: | 201210262745.6 | 申请日: | 2012-07-27 |
公开(公告)号: | CN102752084A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 胡炎良;陆坚;戴侃;李仲 | 申请(专利权)人: | 湖南先步信息股份有限公司 |
主分类号: | H04L1/08 | 分类号: | H04L1/08;H04L12/40 |
代理公司: | 长沙市融智专利事务所 43114 | 代理人: | 黄美成 |
地址: | 410116 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 设备 can 通讯 智能 重发 方法 | ||
技术领域
本发明涉及一种多设备CAN通讯智能重发方法。
背景技术
在实际应用中,CAN通信的数据基本上多是实时数据,多台CAN通信设备连接时,由于CAN通信机制采用的是生产者与消费者【消费者模式是通信模式,在这种模式下可以接收数据】模式,每个设备都可以作为生产者也可以作为消费者,所以互相通信时就会存在总线仲裁问题,CAN模块在发送数据的时候,也同时会对总线进行监听,当实际情况中有仲裁的情况发生时,系统将会自动触发CAN总线的仲裁机制,进行仲裁处理。
假设两个节点同时发送数据,A节点发送的前5个位是10000,B节点为10001,在前4个位发送完毕的时候,两个节点都会认为自己发送成功【因为前4位相同,所以不报错,即认为是发送成功】,但是当发送到第5个位的时候,B节点会失去仲裁,因为0的优先级高于1的优先级,B节点监听到总线上不是1,因此失去仲裁,等待重新发送数据。对于CAN通信,假设仲裁出错也会表示发送完成,而实际上数据并没有发送成功,导致当前总线竞争失败而且放弃当前发送状态,进而影响到通讯系统出错和失效。
目前在CAN通信中仲裁出错,采用的是错误硬件重发方法来解决仲裁错误问题,但是存在不安全因素,当发送不成功则会一直发送,直到发送成功为止。在CAN尝试发送数据过程中,没有更新邮箱(CAN通信用邮箱发送或者接收数据,发送的数据和接收的数据都放在邮箱里,一旦总线空闲就直接发送数据,不需要CPU的参与)中数据,往往导致数据过时而会误导消费者,容易产生误操作。
现有的硬件重发机制,如图1所示,由于没有考虑数据的实时更新,没有发送成功的数据一直在重发,一旦重发的失去实时性的数据发送成功,很容易导致信号逻辑混乱,严重时会造成设备故障性损伤和人员伤亡,因此,有必要对现有的重发机制进行改进。因此,有必要设计一种多设备CAN通讯智能重发方法。
发明内容
本发明所要解决的技术问题是提供一种多设备CAN通讯智能重发方法,该多设备CAN通讯智能重发方法易于实施,且能保障控制系统的运行安全性能。
发明的技术解决方案如下:
一种多设备CAN通讯智能重发方法,多个CAN控制器均连接在CAN总线上;多个CAN控制器采用标识符列表过滤机制实现报文过滤,即屏蔽与本CAN控制器无关的CAN控制器发来的报文标识符;每一个CAN控制器中具有2个发送邮箱,具有同等优先级,分别为邮箱1和邮箱2,邮箱1用于按正常逻辑要求发送报文,邮箱2用于发送因错误而重发的报文;
网络中的CAN控制器以定时方式或者事件触发方式用邮箱1发送正常逻辑产生的报文到CAN总线上;
若同一时刻,有多个CAN控制器发送报文到CAN总线上,(当网路中的CAN控制器都监测到总线空闲而且都要发送数据时就会产生总线竞争现象,)此时,每个网络中的CAN控制器就会启用总线仲裁,报文标识符(报文包含数据与报文标识符,报文标识符即对应CAN控制器的ID号)小的竞争到总线数据能完成发送,而报文标识符大的退出仲裁【丢弃邮箱中的数据同时使能状态寄存器中的对应仲裁出错位;在CAN控制器总线仲裁中,报文标识符越小优先级越高,报文标识符最小的CAN控制器竞争到总线,能够正常完成报文发送】;
未竞争到总线的CAN控制器将数据重新加载到本CAN控制器的邮箱2中,在总线空闲时又将该数据发送到CAN总线上;若此时CAN总线上仍有多个CAN控制器同时发送数据,又将产生新的一轮总线竞争;若此时CAN总线没有其他CAN控制器同时发送数据,则当前的CAN控制器将数据成功发出;
采用重发次数限定机制防止数据无限制重发;
所述的重发次数限定机制为:每一个CAN控制器的重发计数值的初值为0,当前待发送的数据每重发一次,则重发计数值增加1,如果某CAN控制器将该当前待发送的数据成功发出,则重发计数值清零;当重发计数值达到了预先设定的阈值即重发次数N,则放弃当前待发送的数据,不再重发。
各CAN控制器每次发送一次正常逻辑产生的数据间隔为:
发送数据间隔时间T=重发次数N x(报文位数F/波特率B)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南先步信息股份有限公司,未经湖南先步信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210262745.6/2.html,转载请声明来源钻瓜专利网。