买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:安徽骁骏智能装备有限公司
摘要:本发明公开了一种支持CAN总线传输多于8字节数据的通讯方法,涉及数据传输技术领域。本发明包括数据的发送方法和数据的接收方法;接收一帧数据,判断接收device_id是否与本节点device_id相等;判断payload_length减去frame_index乘8的结果是否大于等于8;若是,则将此数据帧放入recv_buf第frame_index乘8开始的8字节长度内存中;若否,则此数据帧放入recv_buf第frame_index乘8开始的第payload_length减去frame_index乘8长度内存中;数据段内容保存在recv_buf内存中,接收结束。本发明通过CAN协议,将需要传输的数据进行截取,对截取后产生的整数帧和余数帧进行判断处理,并将数据帧的每段标识乘以八后,数据帧放入recv_buf第frame_index乘8开始的第payload_length减去frame_index乘8长度内存中,提高数据传输效率。
主权项:1.一种支持CAN总线传输多于8字节数据的通讯方法,其特征在于,包括数据的发送方法和数据的接收方法;其中,数据的发送方法包括如下步骤:步骤S1:计算frame_count,remain_frame_length,初始化frame_index为0;步骤S2:判断frame_index是否小于frame_count;步骤S3:若frame_index小于frame_count,则获取extend_id_head,计算extend_id=extend_id_head按位或frame_index;若frame_index大于等于frame_count,则执行步骤S6;步骤S4:获取第frame_index*8个字节开始的8字节数据帧作为待发送数据帧;步骤S5:当前节点向CAN总线上发送该数据帧,然后将frame_index累加1,返回步骤S2;步骤S6:获取extend_id_head,计算extend_id=extend_id_head按位或frame_index;步骤S7:获取数据段第frame_index*8个字节开始的长度为remain_frame_length的数据作为待发送数据帧;步骤S8:当前节点向CAN总线上发送该数据帧,发送数据段内容结束;其中,数据的接收方法包括如下步骤:步骤F1:接收一帧数据,计算device_id、payload_length、frame_index值;步骤F2:判断接收device_id是否与本节点device_id相等;若相等,则执行步骤F3;若不相等,则丢弃此数据帧,继续执行步骤F1;步骤F3:判断payload_length减去frame_index乘8的结果是否大于等于8;若是,则执行步骤F4;若否,则执行步骤F5;步骤F4:将此数据帧放入recv_buf第frame_index乘8开始的8字节长度内存中;步骤F5:将此数据帧放入recv_buf第frame_index乘8开始的第payload_length减去frame_index乘8的长度内存中;步骤F6:数据段内容保存在recv_buf内存中,接收结束;其中,frame_count为整数帧的个数;remain_frame_length为余数帧的长度,大小等于payload_length除以8的余数;frame_index为数据段截取后,每段的标识,每段标识相对其他段唯一表示;extend_id_head为将device_id左移25位后的结果、payload_length左移11位后的结果、frame_index三者进行按位或操作得到的值;extend_id为与扩展帧id同义,等于extend_id_head、frame_index按位或结果;payload_length为数据段长度,单位字节;recv_buf为接收数据段内存缓冲器,用于存放接收到的数据段内容,长度大于等于数据段长度。
全文数据:
权利要求:
百度查询: 安徽骁骏智能装备有限公司 一种支持CAN总线传输多于8字节数据的通讯方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。