[發明專利]CAN信號起始位置計算方法、DBC文件生成方法有效
| 申請號: | 202110721365.3 | 申請日: | 2021-06-28 |
| 公開(公告)號: | CN113542086B | 公開(公告)日: | 2023-03-10 |
| 發明(設計)人: | 徐文祥;徐鑫珉 | 申請(專利權)人: | 合肥國軒高科動力能源有限公司 |
| 主分類號: | H04L12/40 | 分類號: | H04L12/40;G06F40/126 |
| 代理公司: | 合肥天明專利事務所(普通合伙) 34115 | 代理人: | 閆客 |
| 地址: | 230011 安*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | can 信號 起始 位置 計算方法 dbc 文件 生成 方法 | ||
1.一種CAN信號起始位置計算方法,其特征在于,包括:
獲取CAN信號列表的信號起始位LSB的值和信號的長度;
根據信號起始位LSB的值,查找該值所在的行m和列n,m和n分別為二維數組Matrix[m][n]的行數和列數,0≤m≤7,0≤n≤7;
根據信號長度確定擬推算法需要執行的次數,逆推算法執行的次數使用變量i定義,i取值范:1=i=信號長度Signal_Strength,初始值令i=Signal_Strength;
令j=n+1,j表示信號的起始位LSB所在的列依次向信號的MSB位逆推次數;
判斷i是否大于等于1且小于等于信號的長度;
若否,n=j-1;返回Matrix[m][n],得到CAN信號起始位置;
若是,令j=j-1,i=i-1;
判斷j是否等于零;
若否,令j=j-1,i=i-1;
若是,令m=m-1和j=8,并重新判斷i是否大于等于1并且小于或等于信號的長度;
所述二維數組Matrix[m][n]為預先按照Motorola格式的DBC文件定義得到。
2.如權利要求1所述的CAN信號起始位置計算方法,其特征在于,所述二維數組Matrix[m][n]=
[7,6,5,4,3,2,1,0],
[15,14,13,12,11,10,9,8],
[23,22,21,20,19,18,17,16],
[31,30,29,28,27,26,25,24],
[39,38,37,36,35,34,33,32],
[47,46,45,44,43,42,41,40],
[55,54,53,52,51,50,49,48],
[63,62,61,60,59,58,57,56]。
3.一種DBC文件生成方法,其特征在于,利用如權利要求1或2所述的CAN信號起始位置計算方法計算出CAN信號起始位置,包括:
從CAN信號列表中提取幀報文信息和基本屬性信息;
基于CAN信號起始位置、幀報文信息和基本屬性信息,按照DBC標準文件結構編寫DBC文件。
4.如權利要求3所述的DBC文件生成方法,其特征在于,所述幀報文信息包括報文的ID、起始位、信號長度、精度和偏置、最大和最小值以及發送和接收的網絡節點內容;
所述基本屬性信息包括信號名稱、文件基本參數及信號內容描述。
5.如權利要求4所述的DBC文件生成方法,其特征在于,所述基于CAN信號起始位置和幀報文信息,按照DBC標準文件結構編寫DBC文件,包括:
基于Python使用寫入文件函,編寫DBC文件的版本信息及符號定義段和波特率定義段;
將網絡節點內容寫入DBC文件的網絡節點定義段;
將CAN信號起始位置和幀報文信息寫入DBC文件的報文幀定義段和CAN消息定義段;
將所述基本屬性信息分別寫入DBC文件的信號注解說明段、文件基本參數及屬性定義段以及數值表定義段。
6.如權利要求5所述的DBC文件生成方法,其特征在于,所述將所述基本屬性信息分別寫入DBC文件的信號注解說明段、文件基本參數及屬性定義段以及數值表定義段,包括:
將所述信號名稱寫入DBC文件的所述信號注解說明段;
將所述文件基本參數寫入DBC文件的所述文件基本參數及屬性定義段;
將所述信號描述寫入DBC文件的所述數值表定義段。
7.如權利要求6所述的DBC文件生成方法,其特征在于,在所述將CAN信號起始位置和幀報文信息寫入DBC文件的報文幀定義段和CAN消息定義段之前,還包括:
使用正則表達式將16進制的所述CAN信號起始位置和幀報文信息轉換為10進制數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于合肥國軒高科動力能源有限公司,未經合肥國軒高科動力能源有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110721365.3/1.html,轉載請聲明來源鉆瓜專利網。





