[发明专利]一种冗余CAN总线通信系统的数据通信方法有效
申请号: | 201611193809.6 | 申请日: | 2016-12-21 |
公开(公告)号: | CN106789509B | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 王君惠;石磊;金江善;姜春宇;张岳 | 申请(专利权)人: | 中国船舶重工集团公司第七一一研究所 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 上海华祺知识产权代理事务所 31247 | 代理人: | 刘卫宇 |
地址: | 201108 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 冗余 can 总线 通信 系统 数据通信 方法 | ||
1.一种冗余CAN总线通信系统的数据通信方法,其特征在于,包括以下步骤:
a、发送端将包含滚动计数值a的PDO报文在两条CAN总线上发送;发送端发送具有同一个报文ID的PDO报文时,每发送一帧PDO报文,PDO报文的滚动计数值a加1,滚动计数值a的初始值为0,滚动计数值的上限值为N,当滚动计数值a达到其上限值N时,重新从1开始计数;
b、在接收端设置期望计数器和无效接收窗口,所述期望计数器的计数值b用于表示期望接收到的PDO报文的滚动计数值,所述无效接收窗口所对应的PDO报文的滚动计数值范围由M帧PDO报文的计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之前,并紧邻该期望接收到的PDO报文;M为预设的窗口宽度;接收端每接收到发送端发送的一帧PDO报文时,先判断该帧PDO报文是否有效,其中: 除接收到的PDO报文的滚动计数值a为0的情况以外,当接收到的PDO报文的滚动计数值a落入无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收到的PDO报文为无效报文;当期望计数器的计数值b为0、接收到的PDO报文的滚动计数值a为0、或者是接收到的PDO报文的滚动计数值a不在所述无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收的PDO报文有效;
c、接收端在接收到滚动计数值a为0的有效报文时,将期望计数器的计数值b设为1,在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b小于所述的上限值N时,将期望计数器的计数值b更新为该有效报文的滚动计数值加1,在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b等于所述的上限值N时,将期望计数器的计数值b更新为1;
d、接收端在接收到无效报文时,丢弃该无效报文,并维持当前期望计数器的计数值b不变。
2.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,将PDO报文的数据场中的第一个字节用于计数。
3.根据权利要求2所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,N=255。
4.根据权利要求1或2所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,所述预设的窗口宽度M的取值范围为5<M<50。
5.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,接收端在接收到PDO报文的滚动计数值a为0的报文时对外发出发送端正在重启的通知信息。
6.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,在接收端设置正常接收窗口,所述正常接收窗口所对应的PDO报文的滚动计数值范围由期望接收到的PDO报文和M帧PDO报文的滚动计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之后,并紧邻该期望接收到的PDO报文;
接收端在接收到有效的PDO报文时,如果该有效的PDO报文的滚动计数值a既不为0也不在所述的正常接收窗口所对应的PDO报文滚动计数值范围内,则接收端对外发出故障报警信息。
7.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,所述的步骤b进一步包括以下步骤:
接收端每接收到发送端发送的一帧PDO报文时,先判断所述期望计数器的计数值b 是否为0,如果b=0,则判断接收到的PDO报文为有效报文;
如果b≠0,接收端判断接收到的PDO报文的滚动计数值a是否为0,如果a=0,则判断接收到的PDO报文为有效报文;
如果a≠0,接收端判断期望计数器的计数值b与该接收到的PDO报文的滚动计数值a的差值c是否小于0,c=a-b;如果c不小于0,则直接判断c是否大于等于0且小于预设的窗口宽度M,如果c<0,则将c+N赋给c后再判断c是否大于等于0且小于预设的窗口宽度M;
如果接收端判断c是大于等于0且小于预设的窗口宽度M,则判断接收到的PDO报文为有效报文,如果接收端判断c不是大于等于0且小于预设的窗口宽度M,则进一步判断c是否大于等于M且小于报文有效但发生故障的阈值T,T=N-M;
如果接收端判断c是大于等于M且小于报文有效但发生故障的阈值T,则接收端判断接收到的PDO报文为有效报文并对外发出故障报警信息;如果接收端判断c不是大于等于M且小于报文有效但发生故障的阈值T,则判断接收到的PDO报文为无效报文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一一研究所,未经中国船舶重工集团公司第七一一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611193809.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种趣味儿童床
- 下一篇:一种可自动摇晃的多功能婴儿床