導讀:作為汽車工程師,汽車CAN通信是必須掌握的,還記得剛在汽車公司工作一個月的時候,在labcar學習的時候,一個同事從身邊走過,我只知道她是汽車網(wǎng)絡工程師,那時候由于對汽車內(nèi)部結(jié)構(gòu)并不是很了解,所以就問她。你們網(wǎng)絡工程師是干嘛的啊,不就是那種高端車上的手機互聯(lián)嗎?如今再回想起當時提出的問題,真的想鉆個洞把自己埋起來,沒臉見同事了。
一、CAN總線是什么
CAN總線,并不是他很能,只是一個縮寫。CAN:Controller Area Network。控制器局域網(wǎng)絡總線。
絕大多數(shù)汽車制造廠商采用CAN總線來實現(xiàn)汽車內(nèi)部控制系統(tǒng)之間的數(shù)據(jù)通信,CAN總線也叫CAN BUS。
BUS?恩,這不是公交的意思么,沒錯,公共汽車是可以運輸大量的乘客的,CAN通信也就可以傳輸大量的信號。下邊這個圖片很形象
CAN總線
簡單的說,CAN總線就是用于傳輸數(shù)據(jù)的通信協(xié)議。
傳統(tǒng)汽車線束連接
缺點:
需要大量的信號傳輸線
針腳數(shù)增加
線路復雜
想想:線束增加了這么多,重量大了,生產(chǎn)成本高了,主機廠能不心疼么,而且故障率也高。
二、CANoe開發(fā)測試分析
汽車電子在整車研發(fā)中占據(jù)非常重要的地位,汽車內(nèi)部涉及到ECU之間的總線通信變得越來越復雜。而CANoe就是開發(fā)測試分析整個ECU網(wǎng)絡和單個ECU通信而設計的總線通信分析工具,從概念設計到測試驗證,再到批量生產(chǎn),CANoe的使用貫穿整個研發(fā)流程。 CANoe軟件圖標及軟件初始界面如下圖:
CANoe具體CANoe軟件的操作,可以參考我原創(chuàng)的精品視頻教程《如何快速上手CANoe總線設計與開發(fā)》,后續(xù)的文章會進行補充
CANoe界面DBCCAN總線通訊的主要載體是報文,信號是報文的主要組成部分,沒有DBC數(shù)據(jù)庫,就無法解析信號。DBC相當于一部針對通信內(nèi)容的百科辭典。在用CANoe軟件讀取信號的時候,需要加載DBC。通過CANoe中tools打開CANdb++
db++CANdb++的里面有兩個主要的工作區(qū)
1、網(wǎng)絡拓撲區(qū)域
2、相關對象的詳細信息
DBC主要數(shù)據(jù)對象
節(jié)點
報文
報文右側(cè)的相關對象區(qū)域包含內(nèi)容:定義(名稱、幀格式、ID、DLC、發(fā)送方、周期)、接收方、屬性、信號布局
信號信號右側(cè)的相關對象區(qū)域包含內(nèi)容:
信號配置包括定義,報文映射,屬性
物理值=總線值*比例因子+偏移量
信號排布
motorola型:高字節(jié)在前,低字節(jié)在后
Intel型:相反
環(huán)境變量總之,在信號與報文、報文與節(jié)點關聯(lián)完成后,就可以在通信矩陣中觀察他們的收發(fā)關系。對應的信號矩陣,就是確定了他們收發(fā)關系的信號矩陣excel表。 供應商在開發(fā)ECU軟件的時候,主機廠是必須要提供其設計版的信號矩陣,明確具體的ECU收發(fā)的報文及對應的信號。通常情況下會包括如下部分(以車速為例介紹下):
個別信息解釋如下:
矩陣圖
LSB:16(起始位)
MSB:12(終止位)
Size:13(長度)
那么factor為啥是0.056我們先確定了長度是13bit,并在報文中把該信號排布,那么可知:2^13=8192 從0-8191剛好為8192個數(shù)字,那么8191轉(zhuǎn)化為十六進制的數(shù)是不是1FFF,看看coding值范圍0x0000~~0x1FFF 但是設計的時候,車速規(guī)定的區(qū)間是0-300也及
最小值:0
最大值:300
并且coding規(guī)定了從0x0000~~0x14D5才是有效的
14D5轉(zhuǎn)化為十進制數(shù)為5333
factor=300/5333=0.05625反應到DBC中如下圖:
DBC
審核編輯 :李倩
-
CAN總線
+關注
關注
145文章
1926瀏覽量
130578 -
通信設計
+關注
關注
0文章
25瀏覽量
10496 -
CANoe
+關注
關注
4文章
64瀏覽量
8604
原文標題:汽車工程師:教你快速上手CANoe汽車總線通信設計與開發(fā)?
文章出處:【微信號:sim_ol,微信公眾號:模擬在線】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論