一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现Can数据透传质量提升的方法及其装置与流程

2023-03-29 06:26:50 来源:中国专利 TAG:

技术特征:
1.一种实现can数据透传质量提升的方法,其特征在于,所述方法包括:步骤s100对每一个can数据帧进行封装,增加数据包头、can数据流水号和crc校验;步骤s200透传设备设定一个接收缓冲区和发送缓冲区;步骤s300透传设备从can总线上接收的每一个数据按(0-254)顺序循环编号(到254后,下一个can数据编号为0),按编号封装好帧后放入发送缓冲区数组中对应位置;同时通过网络接口发送该帧;步骤s400透传设备从网络接口上接收数据帧,按帧定义校验该帧数据完整性;步骤s500透传设备接收到控制帧后,从发送缓冲区数组中lostidbeg的位置找到相应帧,并再次通过网络发送从lostidbeg到lostidend之间的所有帧;步骤s600透传设备在发出控制帧后200ms仍未能接收正确编号的帧,则跳过该缺失的编号,并设置处于同步状态。2.根据权利要求1所述的一种实现can数据透传质量提升的方法,其特征在于,所述can数据帧格式如下:字节1,0x24;字节2,flowid;字节3-字节14,can数据帧;字节15,crc校验码;其中flowid为255的帧为控制帧;控制帧用于区别数据帧。3.根据权利要求2所述的一种实现can数据透传质量提升的方法,其特征在于,所述步骤s200中接收缓冲区存放从网络udp接口上接收的数据帧;发送缓冲区为从can总线上获得的can数据。发送缓冲和接收缓冲都定义为255*15的数组。4.根据权利要求3所述的一种实现can数据透传质量提升的方法,其特征在于,所述步骤s400详细步骤如下:如该帧数据完整,按帧中flowid的编号放入接收缓冲区中对应的数组位置中;如果该帧flowid为接收的上一帧的flowid 1,则判断为编号连续,马上发送到can网络中。5.根据权利要求4所述的一种实现can数据透传质量提升的方法,其特征在于,所述步骤s400中由于网络传送原因可能丢失其中的部分帧,导致接收的编号并不连续;透传设备判断到帧不连续后,马上发送控制帧给对方。6.根据权利要求5所述的一种实现can数据透传质量提升的方法,其特征在于,所述控制帧格式如下:字节1,0x24;字节2,0xff;字节3,0x01;字节4,lostidbeg;字节5,lostidend;字节6-字节14,空;字节15,crc校验码;字节3中的0x1表示补充数据控制帧;字节4中为接收方缺失的开始帧编号,字节5位当前接收到的编号,这两者之间的为丢失掉的帧。7.根据权利要求6所述的一种实现can数据透传质量提升的方法,其特征在于,本方法中还包括同步控制帧,所述同步控制帧用于使通讯双方在通讯开始时或者通讯中断一段时间后能够保持同步,其具体使用步骤如下:通讯一方判断超过500ms没有接收到数据时,发送一个同步帧给对方;同步帧中的字节3 0x02表示此帧为同步控制帧;字节四synid表示本方接下来开始发送数据的帧编号;对方接收到同步帧后,默认synid为接下来接收到的帧编号,这样让双方保持同步,不会因此误判为帧丢失;其中同步控制帧格式如下:字节1,0x24;字节2,0xff;字节3,0x02;字节4,synid;字节5-字节14,空;字节15,crc校验码。
8.根据权利要求7所述的一种实现can数据透传质量提升的方法,其特征在于,在本方法中所述接收缓冲区发送到can总线的流程处理流程如下:接收缓冲区从udp端口读取帧数据,并发送到can网络中去;i、接收到最新的数据帧,按数据帧字节2的序号i,把该帧放入接收缓冲区列表i的位置;ii、判断发送列表位置i的数据帧的字节1是否为0x42,如果是0x42则回到步骤i,等待读取新帧;i i i、如果不是0xff,则发送当前帧数据到can网络,并把字节1设置为0x42即表示本条数据已经发送过给can网络;并且i=i 1;回到步骤i i。9.根据权利要求8所述的一种实现can数据透传质量提升的方法,其特征在于,在本方法中发送缓冲区发送到网络总线的流程处理如下:发送缓冲区从can网络中读取数据,并把每一个can数据帧按(0-254循环)编号放入对应的发送缓冲区中;i、监听can网络和i i、接收到最新的can数据帧,按顺序编号为i,并把该帧放入发送缓冲区列表i的位置;iii、监听补发帧信号,如果有接收到补发数据帧;则进入步骤iv;否则发送当前位置i数据帧;并把该帧第一个字节标记为0x42(表示已经发送过),i=i 1;回到步骤i;iv、判断补发数据帧中的lostidbeg和lostidend之间的数据帧是否第一个字节都为0x42;如果都是0x42表示可以发送这些帧的数据;按顺序发送这些帧到网络;否则表示缓冲区中的数据被更新过,缓冲区数据已经失效不能补帧操作;回到步骤i。10.一种基于权利要求1-9所述的实现can数据透传质量提升的装置,其特征在于,所述装置用于执行权利要求1-9所述方法。

技术总结
本发明涉及数据传输技术领域,具体公开了一种实现Can数据透传质量提升的方法及其装置,所述方法包括:步骤S100对每一个can数据帧进行封装,增加数据包头、can数据流水号和crc校验;步骤S200透传设备设定一个接收缓冲区和发送缓冲区;步骤S300透传设备从Can总线上接收的每一个数据按(0-254)顺序循环编号(到254后,下一个can数据编号为0),按编号封装好帧后放入发送缓冲区数组中对应位置;同时通过网络接口发送该帧;依据本发明定义的方法进行数据透传,在udp数据包丢失率为1%-2%的网络上,能够实现can数据的有效透传,能够满足目前绝大多数专业诊断仪的远程诊断要求。大多数专业诊断仪的远程诊断要求。大多数专业诊断仪的远程诊断要求。


技术研发人员:缪雨辰 刘毅 陈文开
受保护的技术使用者:厦门鸿谷智芯科技有限公司
技术研发日:2022.11.22
技术公布日:2023/3/10
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献