導讀:作為汽車工程師,汽車CAN通信是必須掌握的,還記得剛在汽車公司工作一個月的時候,在labcar學習的時候,一個同事從身邊走過,我只知道她是汽車網絡工程師,那時候由于對汽車內部結構并不是很了解,所以就問她。你們網絡工程師是干嘛的啊,不就是那種高端車上的手機互聯嗎?如今再回想起當時提出的問題,真的想鉆個洞把自己埋起來,沒臉見同事了。
一、CAN總線是什么
CAN總線,并不是他很能,只是一個縮寫。CAN:Controller Area Network。控制器局域網絡總線。
絕大多數汽車制造廠商采用CAN總線來實現汽車內部控制系統之間的數據通信,CAN總線也叫CAN BUS。
BUS?恩,這不是公交的意思么,沒錯,公共汽車是可以運輸大量的乘客的,CAN通信也就可以傳輸大量的信號。下邊這個圖片很形象
CAN總線
簡單的說,CAN總線就是用于傳輸數據的通信協議。
傳統汽車線束連接
缺點:
需要大量的信號傳輸線
針腳數增加
線路復雜
想想:線束增加了這么多,重量大了,生產成本高了,主機廠能不心疼么,而且故障率也高。
二、CANoe開發測試分析
汽車電子在整車研發中占據非常重要的地位,汽車內部涉及到ECU之間的總線通信變得越來越復雜。而CANoe就是開發測試分析整個ECU網絡和單個ECU通信而設計的總線通信分析工具,從概念設計到測試驗證,再到批量生產,CANoe的使用貫穿整個研發流程。 CANoe軟件圖標及軟件初始界面如下圖:
CANoe具體CANoe軟件的操作,可以參考我原創的精品視頻教程《如何快速上手CANoe總線設計與開發》,后續的文章會進行補充
CANoe界面DBCCAN總線通訊的主要載體是報文,信號是報文的主要組成部分,沒有DBC數據庫,就無法解析信號。DBC相當于一部針對通信內容的百科辭典。在用CANoe軟件讀取信號的時候,需要加載DBC。通過CANoe中tools打開CANdb++
db++CANdb++的里面有兩個主要的工作區
1、網絡拓撲區域
2、相關對象的詳細信息
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轉化為十六進制的數是不是1FFF,看看coding值范圍0x0000~~0x1FFF 但是設計的時候,車速規定的區間是0-300也及
最小值:0
最大值:300
并且coding規定了從0x0000~~0x14D5才是有效的
14D5轉化為十進制數為5333
factor=300/5333=0.05625反應到DBC中如下圖:
DBC
審核編輯 :李倩
-
CAN總線
+關注
關注
145文章
1952瀏覽量
130810 -
通信設計
+關注
關注
0文章
25瀏覽量
10520 -
CANoe
+關注
關注
4文章
66瀏覽量
8665
原文標題:汽車工程師:教你快速上手CANoe汽車總線通信設計與開發?
文章出處:【微信號:sim_ol,微信公眾號:模擬在線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論