国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CANoe的汽車CAN總線通信及診斷設(shè)計

2015-12-02 03:49胡艷峰鄒利寧
汽車電器 2015年6期
關(guān)鍵詞:主機廠報文總線

胡艷峰,唐 鍵,鄒利寧

(西安蘭德新能源汽車技術(shù)開發(fā)有限公司,陜西 西安 710043)

隨著汽車技術(shù)的快速發(fā)展,汽車性能不斷提高,汽車電器與電子控制裝置在汽車上的應(yīng)用越來越多,傳統(tǒng)的汽車布線難以滿足汽車技術(shù)發(fā)展的要求,因此汽車總線技術(shù)越來越受到主機廠的關(guān)注。在汽車總線的發(fā)展歷史上,出現(xiàn)了若干種總線。其中一些總線已經(jīng)被淘汰或正在被淘汰中,如K-Bus、K-Line等;一些總線正處于研究或發(fā)展階段,如FlexRay、MOST等;還有一些總線已經(jīng)發(fā)展成熟并且得到了廣泛應(yīng)用,如CAN、LIN等。目前CAN總線已廣泛應(yīng)用于汽車中,已經(jīng)成為汽車行業(yè)不可或缺的一部分。

1CAN概述

CAN (Controller Area Network) 即控制器局域網(wǎng)絡(luò),由于其高性能、高可靠性及獨特的設(shè)計,已在各型汽車上得到普遍應(yīng)用。CAN最初是由德國的BOSCH公司為汽車監(jiān)測、控制系統(tǒng)而設(shè)計的?,F(xiàn)代汽車越來越多地采用電子裝置控制,如發(fā)動機的點火正時、噴油控制,加速、制動控制 (ASC)及復(fù)雜的防抱死制動系統(tǒng) (ABS)等。這些控制需檢測及交換大量數(shù)據(jù),若采用硬線連接的方式,不但煩瑣、昂貴,而且實時性難以保證。采用CAN總線,上述問題便得到很好地解決。

CAN總線其本質(zhì)是一種串行數(shù)據(jù)通信協(xié)議,其通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等工作。

2 CAN通信網(wǎng)絡(luò)設(shè)計

2.1 整車功能定義

在設(shè)計整車CAN網(wǎng)絡(luò)之前,首先要確定整車功能,即根據(jù)立項的情況,首先分析整理目標(biāo)車輛的電器架構(gòu)及相應(yīng)要實現(xiàn)的電氣功能,然后確定出整車需要通過CAN網(wǎng)絡(luò)進行通信的部件,為進一步CAN網(wǎng)絡(luò)拓撲規(guī)劃做鋪墊。本文以陜汽集團通家福牌6400車系的基礎(chǔ)上開發(fā)的純電動微型車 (圖1)為例,進行CAN總線的設(shè)計說明。根據(jù)整車功能需求,該車為純電動車,實現(xiàn)整車部件之間的協(xié)調(diào)控制,并通過工程師的進一步分析,最終確定該車輛有整車控制器 (VMS)、 電池及管理系統(tǒng) (BMS)、電機及控制系統(tǒng) (MCS)及儀表 (DPLY)4個節(jié)點需要通過CAN網(wǎng)絡(luò)進行數(shù)據(jù)傳輸,因此,CAN網(wǎng)絡(luò)拓撲規(guī)劃時就以這4個節(jié)點進行規(guī)劃。

2.2 CAN網(wǎng)絡(luò)定義設(shè)計

網(wǎng)絡(luò)定義設(shè)計的目的,是將需要通過CAN網(wǎng)絡(luò)進行通信的節(jié)點進行合理的資源分配,其基本思路是:首先確定節(jié)點的節(jié)點地址,然后對收發(fā)信號及報文進行定義,最后通過估算網(wǎng)絡(luò)負載率來確定整個CAN總線網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。

2.2.1 節(jié)點地址分配

節(jié)點地址是確保該節(jié)點在網(wǎng)絡(luò)中的惟一性要求,節(jié)點地址分配如表1所示。

表1 節(jié)點地址分配

2.2.2 拓撲規(guī)劃

拓撲規(guī)劃即整車CAN網(wǎng)絡(luò)的總體設(shè)計。根據(jù)確定出的CAN網(wǎng)絡(luò)上的部件節(jié)點,站在整車全局的角度上規(guī)劃整車CAN網(wǎng)絡(luò)拓撲結(jié)構(gòu)。規(guī)劃整車CAN網(wǎng)絡(luò)拓撲結(jié)構(gòu)時,需要從以下幾點考慮。

1)信號分析。確定每個部件節(jié)點必須的網(wǎng)絡(luò)收發(fā)信號及整車控制需要的必要信號。

2)封裝報文。根據(jù)部件節(jié)點的收發(fā)信號的實時性、重要性等要求,對信號進行合理分配封裝成報文,并給每個報文規(guī)劃適當(dāng)?shù)耐ㄐ胖芷诩斑M行ID分配。

3)網(wǎng)絡(luò)負載率計算。根據(jù)打包報文的數(shù)目計算每個節(jié)點的負載率及總負載率,根據(jù)負載率情況合理規(guī)劃CAN線數(shù)量。當(dāng)節(jié)點較多負載率較高時,可以規(guī)劃2條或多條CAN線。

4)根據(jù)計算的網(wǎng)絡(luò)負載率,規(guī)劃CAN總線的拓撲結(jié)構(gòu)。

信號分析主要分為兩個方面:一是從單個控制器的角度進行分析,二是從整車網(wǎng)絡(luò)的角度進行分析。從整車網(wǎng)絡(luò)角度分析信號,要根據(jù)具體車型的控制要求來進行。本文中報文格式采用29位標(biāo)示符,總線波特率250kb/s。表2以電機及其控制系統(tǒng)(MCS)為例,分析其相關(guān)信號參數(shù)。

表2 電機及其控制系統(tǒng)信號分析

由以上信號分析得知,電機及其控制系統(tǒng)相關(guān)的信號要進行發(fā)送,要至少3個報文才可以實現(xiàn)。用同樣的方法對其他節(jié)點進行信號分析并封裝報文,得到該車型4個節(jié)點的網(wǎng)絡(luò)通信報文發(fā)送的情況,如表3所示。

表3 整車通信網(wǎng)絡(luò)發(fā)送報文

由表3可看出,4個節(jié)點總的負載率為22.2%,因此規(guī)劃4個節(jié)點在一條CAN線上即可。需要注意的是,CAN總線兩端需配備120 Ω的終端電阻,以保證總線正常通信。該車型中將在CAN總線線束中外置終端電阻。總線拓撲結(jié)構(gòu)見圖2。

2.3 CAN總線網(wǎng)絡(luò)仿真

整車信號定義及網(wǎng)絡(luò)拓撲結(jié)構(gòu)定義完成后,整個車輛的網(wǎng)絡(luò)架構(gòu)就建立起來了。當(dāng)然這只是剛開始。定義的架構(gòu)是否合理,報文的收發(fā)是否能夠不丟幀地準(zhǔn)確進行,在沒有實車測試之前,網(wǎng)絡(luò)仿真是必不可少的一個環(huán)節(jié)。

本文中CAN總線的仿真開發(fā)應(yīng)用德國VECTOR公司的總線開發(fā)工具CANoe。CANoe是網(wǎng)絡(luò)和ECU開發(fā)、測試和分析的專業(yè)工具,支持從需求分析到系統(tǒng)實現(xiàn)的整個系統(tǒng)開發(fā)過程。CANoe豐富的功能和配置選項被OEM和供應(yīng)商的網(wǎng)絡(luò)設(shè)計工程師、開發(fā)工程師和測試工程師所廣泛使用。利用CANoe工具建模,可以進行完整的總線系統(tǒng)仿真和殘余總線仿真,分析總線通信,并且用戶可以運用類C的CAPL編程語言編程,實現(xiàn)仿真、分析和測試。

首先需要建立網(wǎng)絡(luò)數(shù)據(jù)庫DBC文件,然后在CANoe中通過調(diào)用DBC文件建立整車CAN網(wǎng)絡(luò)模型,再利用類C語言的CAPL編程來實現(xiàn)網(wǎng)絡(luò)的仿真。

2.3.1 DBC數(shù)據(jù)庫建立

首先打開CANdb++Editor,新建一個后綴名為.dbc的數(shù)據(jù)庫文件并保存。然后將定義好的信號錄入數(shù)據(jù)庫中。在CANdb++Editor左側(cè)導(dǎo)航樹中Signals上右鍵點擊New新建信號,然后再完善信號屬性參數(shù),如圖3所示。

信號創(chuàng)建完畢后,就要新建報文了。在導(dǎo)航樹Messages上右鍵新建,逐一創(chuàng)建定義好的報文,創(chuàng)建報文編輯頁面如圖4所示。

最后創(chuàng)建節(jié)點,在導(dǎo)航樹ECUs上右鍵新建,創(chuàng)建定義好的節(jié)點。在信號、報文、節(jié)點都創(chuàng)建完成后,最后關(guān)鍵的一步就是將信號關(guān)聯(lián)到報文,報文關(guān)聯(lián)到節(jié)點,建立起節(jié)點之間的報文收發(fā)關(guān)系。這樣,就建立起了一個完整的數(shù)據(jù)庫。

2.3.2 CAN總線網(wǎng)絡(luò)的仿真

數(shù)據(jù)庫建立完成后,接下來就是利用CANoe進行總線的仿真。首先新建一個配置文件 (.cfg文件),將定義好的數(shù)據(jù)庫導(dǎo)入,這樣就建立了CAN總線整車網(wǎng)絡(luò)的仿真,如圖5所示。

3 CAN總線診斷設(shè)計

3.1 診斷概述

故障診斷功能是CAN總線通信中關(guān)鍵的一部分,它不僅是主機廠對整車下線品質(zhì)檢測的一個重要手段,更是在車輛一旦出現(xiàn)故障時,為故障的排除提供了方向。目前主要應(yīng)用的診斷協(xié)議是ISO15765與SAE J1939。

IS015765是歐洲汽車廠商推出的一種基于CAN總線的診斷系統(tǒng)通信標(biāo)準(zhǔn),它以IS014229-1定義的服務(wù)為基礎(chǔ),規(guī)范了基于CAN總線的診斷服務(wù) (即UDS on CAN)。IS015765符合現(xiàn)代汽車網(wǎng)絡(luò)總線系統(tǒng)的發(fā)展趨勢,已被許多汽車廠商采納。

SAE J1939是美國汽車工程協(xié)會 (SAE)的推薦標(biāo)準(zhǔn),可達到250 kb/s的通信速率。它描述了重型車輛現(xiàn)場總線的一種網(wǎng)絡(luò)應(yīng)用。目前,J1939是在商用車輛、艦船、軌道機車、農(nóng)業(yè)機械和大型發(fā)動機中應(yīng)用最廣泛的應(yīng)用層協(xié)議。

3.2 診斷系統(tǒng)總體設(shè)計

本文中該車型由于節(jié)點較少,只需規(guī)劃一條CAN線就可以滿足網(wǎng)絡(luò)通信的需求。診斷設(shè)備接口采用標(biāo)準(zhǔn)的16針口直接與CAN網(wǎng)絡(luò)相連接,診斷系統(tǒng)拓撲結(jié)構(gòu)如圖6所示。

在診斷過程中,診斷設(shè)備直接向CAN網(wǎng)絡(luò)中所有的網(wǎng)絡(luò)節(jié)點發(fā)送服務(wù)請求信息,當(dāng)網(wǎng)絡(luò)中某個控制器接收信息后返回服務(wù)響應(yīng),即該控制器與診斷設(shè)備之間就建立了通信連接,圖7為診斷設(shè)備與CAN網(wǎng)絡(luò)上電機及其控制系統(tǒng)節(jié)點的服務(wù)請求/響應(yīng)信息發(fā)送圖。診斷設(shè)備讀取到響應(yīng)的診斷信息后,最終將會在診斷設(shè)備界面上以故障碼的形式出現(xiàn)。

3.3 診斷設(shè)計流程

診斷設(shè)計總體來講,分為兩大步驟:一是選擇要遵循的診斷標(biāo)準(zhǔn),即選定的是ISO15765還是SAEJ 1939。診斷標(biāo)準(zhǔn)選取后,接下來的工作就是在診斷標(biāo)準(zhǔn)眾多的診斷服務(wù)中選取自身關(guān)心的診斷服務(wù),并將這些診斷服務(wù)作為自己診斷程序。二是診斷參數(shù)的定義,即主機廠根據(jù)自身的需要,設(shè)定自己關(guān)心的故障參數(shù),并最終用故障碼的形式來體現(xiàn)。

3.3.1 診斷協(xié)議選取

本文中診斷協(xié)議選取ISO15765,主機廠根據(jù)自身需要在診斷協(xié)議中選取需要的診斷服務(wù),并要形成自己的文件,以保證車型診斷具有延續(xù)性。同樣以上述的純電動車為例,圖8簡要說明診斷服務(wù)選取的過程。

需要注意的是,當(dāng)某一請求不成功時,應(yīng)該有一個否定應(yīng)答表示請求不成功,需要診斷程序重新開始。

3.3.2 診斷參數(shù)定義

首先要確定故障碼的格式。目前廣泛流行通用的是OBDⅡ故障代碼,由5位英文字母和數(shù)字組成,其中英文字母代碼為P、C、B、U,分別代表動力系統(tǒng)代碼、底盤系統(tǒng)代碼、車身系統(tǒng)代碼和通信網(wǎng)絡(luò)系統(tǒng)代碼,具體定義在SAE J2012中有詳細說明定義,格式見表4。

表4 故障碼格式

表4中,高字節(jié)的第15位和第14位決定了故障碼的系統(tǒng)分類,第13位和第12位決定了該故障碼區(qū)域是否可以由主機廠自行定義,具體定義見表5。

表5 故障碼系統(tǒng)分類及故障碼區(qū)域段分類

由表5可以看出,故障代碼中的P1XXX、C1XXX、C2XXX、 B1XXX、 B2XXX、 U1XXX、 U2XXX系列均為留給主機廠進行自定義的區(qū)域,在這些區(qū)間內(nèi)主機廠可以自行定義自己的故障碼表。同樣以上述純電動車的電池及其管理系統(tǒng)故障為例,定義故障代碼見表6。

表6 電池及其管理系統(tǒng)故障碼表

讀取故障碼后,根據(jù)讀取的故障碼查故障碼表,就可得到具體發(fā)生的故障的類型。根據(jù)查出的故障,進行故障分析,查找故障發(fā)生的原因并最終解決該故障。

4 總結(jié)

本文從主機廠的角度,理論聯(lián)系實際,詳細介紹了整車CAN總線通信網(wǎng)絡(luò)的設(shè)計以及基于ISO15765的CAN網(wǎng)絡(luò)診斷設(shè)計,并給出較為全面的設(shè)計過程,對主機廠在自主開發(fā)設(shè)計CAN總線網(wǎng)絡(luò)及診斷時起到一定借鑒作用。

[1] ISO 11898-1 (2003) Controller area network (CAN)Part 1: Data link layer and physical signaling[S].

[2] ISO 11898-2 (2003) Controller area network (CAN)Part 2: High-speed medium access unit[S].

[3] CANoe介紹[EB].http://www.hirain.com/.

[4]田磊,趙玉超,賈敏,等.基于工具驅(qū)動的重型商用汽車總線的應(yīng)用開發(fā)[J].汽車電器,2012(8):10-12.

[5]羅峰,孫澤昌.汽車CAN總線系統(tǒng)原理、設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2010.

[6]魏學(xué)哲,戴海峰.汽車嵌入式系統(tǒng)原理、設(shè)計與實現(xiàn)[M].北京:電子工業(yè)出版社,2010.

[7]夏雪松.新型汽車故障代碼數(shù)據(jù)資料庫[M].北京:人民郵電出版社,2012.

猜你喜歡
主機廠報文總線
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
以太網(wǎng)QoS技術(shù)研究及實踐
時間觸發(fā)通信總線監(jiān)控技術(shù)研究
商用車排放升級、市場下滑之下主機廠和經(jīng)銷商如何共生
關(guān)于CAN總線的地鐵屏蔽門控制思路論述
淺析反駁類報文要點
UDS診斷服務(wù)在氣囊控制單元中的應(yīng)用
基于CAN/LIN總線的LED車燈控制研究
揭開“審核”的神秘面紗(一)
——各大主機廠審核要求
創(chuàng)新與變革 2015各大主機廠發(fā)展新思路
怀远县| 峡江县| 界首市| 普陀区| 沙湾县| 通许县| 盐山县| 益阳市| 阳曲县| 莱州市| 黑水县| 宜宾县| 喜德县| 紫阳县| 罗定市| 谢通门县| 清河县| 巍山| 张北县| 体育| 建水县| 大竹县| 天门市| 柏乡县| 五家渠市| 湘潭县| 祁连县| 雷州市| 忻州市| 泌阳县| 邮箱| 泗阳县| 米林县| 应用必备| 兴国县| 平舆县| 思南县| 丹寨县| 华蓥市| 定边县| 封丘县|