CAN通信(二)——信號矩陣及DBC

CAN通信(二)——信號矩陣及DBC

CANoe

汽車電子在整車研發中佔據非常重要的地位,汽車內部涉及到ECU之間的總線通信變得越來越複雜。
而CANoe就是開發測試分析整個ECU網絡和單個ECU通信而設計的總線通信分析工具,從概念設計到測試驗證,再到批量生產,CANoe的使用貫穿整個研發流程。

CANoe軟件圖標及軟件初始界面如下圖:
具體CANoe軟件的操作,後續的文章會進行補充

在這裏插入圖片描述
在這裏插入圖片描述

DBC

CAN總線通訊的主要載體是報文,信號是報文的主要組成部分,沒有DBC數據庫,就無法解析信號。DBC相當於一部針對通信內容的百科辭典。在用CANoe軟件讀取信號的時候,需要加載DBC
通過CANoe中tools打開CANdb++
在這裏插入圖片描述
CANdb++的裏面有兩個主要的工作區
一、網絡拓撲區域
在這裏插入圖片描述
二、相關對象的詳細信息
在這裏插入圖片描述
DBC主要數據對象
在這裏插入圖片描述

節點

在這裏插入圖片描述
節點右側的相關對象區域包含內容:
節點名稱、發送的信號、接收的信號、發送的報文。

報文

在這裏插入圖片描述
報文右側的相關對象區域包含內容:
定義(名稱、幀格式、ID、DLC、發送方、週期)、接收方、屬性、信號佈局

信號

在這裏插入圖片描述
信號右側的相關對象區域包含內容:
信號配置包括定義,報文映射,屬性
物理值=總線值*比例因子+偏移量
信號排布
motorola型:高字節在前,低字節在後
Intel型:相反

環境變量

在這裏插入圖片描述
總之,在信號與報文、報文與節點關聯完成後,就可以在通信矩陣中觀察他們的收發關係。對應的信號矩陣,就是確定了他們收發關係的信號矩陣excel表。

信號矩陣

供應商在開發ECU軟件的時候,主機廠是必須要提供其設計版的信號矩陣,明確具體的ECU收發的報文及對應的信號。通常情況下會包括如下部分(以車速爲例介紹下):
在這裏插入圖片描述
個別信息解釋如下:

在這裏插入圖片描述
LSB:16(起始位)
MSB:12(終止位)
Size:13(長度)

那麼factor爲啥是0.056
我們先確定了長度是13bit,並在報文中把該信號排布,那麼可知:2^13=8192
從0-8191剛好爲8192個數字,那麼8191轉化爲十六進制的數是不是1FFFF,看看coding值範圍
0x0000~~0x1FFF

但是設計的時候,車速規定的區間是0-300也及
最小值:0
最大值:300
並且coding規定了從0x0000~~0x14D5纔是有效的

14D5轉化爲十進制數爲5333
factor=300/5333=0.05625
反應到DBC中如下圖:
在這裏插入圖片描述
是不是恍然大悟的感覺!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章