专利名称: |
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总线数据传输方法,其特征在于,若有,填充所有所述空白字节,包括: 若有空白字节,则监测所述空白字节的数量是否为第一字节数的整数倍; 若为整数倍,则将所有空白字节划分为整数组,采用第一字节数长度的字符填充每组空白字节; 若为非整数倍,则将第一字节数与空白字节的数量进行比对, 若空白字节的数量小于第一字节数,可采用单个字节长度的字符逐一填充每个空白字节; 若空白字节的数量大于第一字节数,则将所有空白字节划分为整数组空白字节和剩余字节,用第一字节数长度的字符填充所述整数组空白字节;再用单个字节长度的字符填充剩余空白字节。 |
所属类别: |
发明专利 |