当前位置: 首页> 交通专利数据库 >详情
原文传递 CAN总线数据传输方法
专利名称: CAN总线数据传输方法
摘要: 本发明实施例公开了一种CAN总线数据传输方法,其包括:构建报文ID,在报文ID中建立索引、数量区和数据记录区,其中,索引记录报文ID已发送的次数,所述数量区记载待传输数据的总个数N1;获取第0号至第n‑1号待传输数据,并记录在数据记录区内;发送第0号至第n‑1号待传输数据,其中,n为报文ID单次传输的待传输数据的个数,n≥1;当索引中记录的报文ID已发送次数为N2时,获取第N2*n号至第(N2+1)*n‑1号待传输数据,并记录在数据记录区,N1≥N2≥1;基于同一报文ID,发送第N2*n号至第(N2+1)*n‑1号待传输数据。利用本发明实施例能够减小CAN控制器协议栈COM层代码容量体积,避免出现程序存储空间不足的问题,保证数据的稳定传输。
专利类型: 发明专利
国家地区组织代码: 上海;31
申请人: 威马智慧出行科技(上海)有限公司
发明人: 周继云
专利状态: 有效
申请日期: 2019-05-08T00:00:00+0800
发布日期: 2019-08-02T00:00:00+0800
申请号: CN201910378563.7
公开号: CN110077279A
代理机构: 北京信诺创成知识产权代理有限公司
代理人: 杨仁波
分类号: B60L58/10(2019.01);B;B60;B60L;B60L58
申请人地址: 201702 上海市青浦区涞港路77号510-1室
主权项: 1.一种CAN总线数据传输方法,其特征在于,包括: 构建报文ID,在报文ID中建立索引、数量区和数据记录区,其中,索引记录报文ID已发送的次数,所述数量区记载待传输数据的总个数N1; 获取第0号至第n-1号待传输数据,并记录在数据记录区内; 发送第0号至第n-1号待传输数据,其中,n为报文ID单次传输的待传输数据的个数,n≥1; 当索引中记录的报文ID已发送次数为N2时,获取第N2*n号至第(N2+1)*n-1号待传输数据,并记录在数据记录区,N1≥N2≥1; 基于同一报文ID,发送第N2*n号至第(N2+1)*n-1号待传输数据。 2.如权利要求1所述的CAN总线数据传输方法,其特征在于,构建报文ID之前,还包括: 确定报文ID单次传输的待传输数据的个数。 3.如权利要求2所述的CAN总线数据传输方法,其特征在于,计算报文ID单次传输的待传输数据的个数包括: 根据单个待传输数据的参数确定单个待传输数据所占的第一字节数; 计算总个数所占用的第二字节数; 获取报文ID的字节总数; 根据第一字节数、第二字节数、字节总数以及总个数,确定报文ID单次传输的待传输数据的最大数量; 根据最大数量确定完成全部待传输数据所需要的最少次数; 根据最少次数确定索引所占的第三字节数; 根据字节总数、第一字节数、第二字节数及第三字节数,确定报文ID单次传输的待传输数据的个数n。 4.如权利要求3所述的CAN总线数据传输方法,其特征在于,单个待传输数据的参数包括数值范围和精确度。 5.如权利要求4所述的CAN总线数据传输方法,其特征在于,单个待传输数据所占的第一字节数为1或者2。 6.如权利要求5所述的CAN总线数据传输方法,其特征在于,总个数所占用的第二字节数为1或者2。 7.如权利要求6所述的CAN总线数据传输方法,其特征在于,第三字节数为1或者2。 8.如权利要求1-7任一所述的CAN总线数据传输方法,其特征在于,发送待传输数据之前,还包括: 监测数据记录区中是否含有空白字节; 若有,填充所有所述空白字节。 9.如权利要求8所述的CAN总线数据传输方法,其特征在于,若有,填充所有所述空白字节,包括: 若有空白字节,则监测所述空白字节的数量是否为第一字节数的整数倍; 若为整数倍,则将所有空白字节划分为整数组,采用第一字节数长度的字符填充每组空白字节; 若为非整数倍,则将第一字节数与空白字节的数量进行比对, 若空白字节的数量小于第一字节数,可采用单个字节长度的字符逐一填充每个空白字节; 若空白字节的数量大于第一字节数,则将所有空白字节划分为整数组空白字节和剩余字节,用第一字节数长度的字符填充所述整数组空白字节;再用单个字节长度的字符填充剩余空白字节。
所属类别: 发明专利
检索历史
应用推荐