| 引言 ---1.CAN總線技術(shù)在汽車領(lǐng)域的應(yīng)用概況 ---CAN總線作為一種多主總線,支持分布式實(shí)時(shí)控制的通信網(wǎng)絡(luò)。在汽車發(fā)動(dòng)機(jī)控制部件、傳感器、抗滑系統(tǒng)中都有廣泛的應(yīng)用。其最大優(yōu)點(diǎn)是減少了線束的數(shù)量和控制器接口的引腳數(shù),同時(shí)可以更簡(jiǎn)單、迅速地實(shí)現(xiàn)在線編程和在線診斷,甚至多個(gè)控制器共同作用等新功能。與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有更為突出的可靠性、實(shí)時(shí)性和靈活性。 ---對(duì)于CAN在汽車上的應(yīng)用,如今已經(jīng)有很多行業(yè)標(biāo)準(zhǔn)或國(guó)際標(biāo)準(zhǔn),比如國(guó)際標(biāo)準(zhǔn)化組織(International Organization for Standardization)的ISO 11992、ISO 11783及汽車工程協(xié)會(huì)(Society of Automotive Engineers)的SAE J1939。CAN總線已經(jīng)作為汽車的一種標(biāo)準(zhǔn)設(shè)備列入汽車的整體設(shè)計(jì)中。目前,除了奔馳、寶馬、奧迪等高檔轎車外,CAN總線技術(shù)也在像大眾POLO、豐田新款“花冠”、福特嘉年華等中檔車中得到了廣泛的應(yīng)用。 ---2.Lab Windows CVI軟件開(kāi)發(fā) ---Lab Windows CVI是美國(guó)NI(National Instruments,國(guó)家儀器)公司推出的面向儀器與測(cè)控過(guò)程的C、C++交互式開(kāi)發(fā)平臺(tái)。該平臺(tái)不僅提供了對(duì)虛擬儀器的支持,還具有各種測(cè)試、通信、控制和數(shù)值分析的能力,具有圖形建模簡(jiǎn)單、控制功能強(qiáng)大、實(shí)時(shí)性強(qiáng)、編程容易等優(yōu)點(diǎn)。從軟件開(kāi)發(fā)角度看,Lab Windows CVI具有以下一些特點(diǎn): ---(1) 可視化、交互式的開(kāi)發(fā)工具。具有人機(jī)交互界面編輯器,運(yùn)用可視化交互技術(shù),使人機(jī)界面的實(shí)現(xiàn)直觀簡(jiǎn)單,大大提高了工程設(shè)計(jì)的效率和可靠性。 ---(2) 具有程序自動(dòng)生成能力,可減少軟件開(kāi)發(fā)過(guò)程中代碼編寫的工作量。設(shè)計(jì)好的人機(jī)交互界面(虛擬儀器面板)存儲(chǔ)在后綴名為.uir的文件中。Lab Windows CVI自動(dòng)生成原碼頭文件.h,自動(dòng)聲明界面對(duì)象常量及相關(guān)的回調(diào)函數(shù)。 ---(3) 具有齊全的軟件工具包及功能強(qiáng)大的函數(shù)庫(kù)。通過(guò)簡(jiǎn)單調(diào)用庫(kù)函數(shù)就能驅(qū)動(dòng)相應(yīng)總線的各種儀器和硬件板卡。這些工具包和函數(shù)庫(kù)具有更高的效率,使程序的編寫更加簡(jiǎn)潔。 ---(4) 完善的兼容性。借助于Lab Windows CVI,有經(jīng)驗(yàn)的C、C++語(yǔ)言開(kāi)發(fā)人員可以采用熟悉的C語(yǔ)言環(huán)境,如VC、BC等開(kāi)發(fā)自己的虛擬儀器系統(tǒng)。另外,還可將儀器庫(kù)函數(shù)及子程序編譯成32位DLL,以用于任何32位C,C++環(huán)境及VB或Lab View中。 CAN網(wǎng)絡(luò)仿真節(jié)點(diǎn)開(kāi)發(fā) ---1.CAN總線應(yīng)用層協(xié)議的制定 ---目前,汽車CAN總線系統(tǒng)的應(yīng)用層協(xié)議大部分是基于SAE J1939協(xié)議進(jìn)行開(kāi)發(fā)制定的。對(duì)于本文中汽車CAN總線網(wǎng)絡(luò)節(jié)點(diǎn)仿真系統(tǒng)的通信協(xié)議,同樣以CAN2.0B及1939協(xié)議為基礎(chǔ)衍生而來(lái),其具體協(xié)議內(nèi)容如下。 ---(1)報(bào)文幀格式定義 ---本系統(tǒng)通信報(bào)文幀格式,采用29位擴(kuò)展幀,波特率定位500K,見(jiàn)表1。
---(2)優(yōu)先級(jí)標(biāo)志定義 ---如表1所示,29位ID的前四位作為報(bào)文優(yōu)先級(jí)標(biāo)志,作為總線總裁優(yōu)先級(jí)的判斷。整個(gè)系統(tǒng)報(bào)文優(yōu)先級(jí)分為六級(jí),分別為:0000[0x0](最高優(yōu)先級(jí))、0001[0x1]、0010[0x2]、0100[0x4]、1000[0x8]、1111[0xF](最低優(yōu)先級(jí))。 ---(3)節(jié)點(diǎn)ID定義 ---如表1所示,ID24至ID17定義為目標(biāo)節(jié)點(diǎn)ID,而ID16至ID9定義為源節(jié)點(diǎn)ID,每個(gè)節(jié)點(diǎn)ID標(biāo)志為8位。 ---(4)數(shù)據(jù)類型定義 ---如表1所示,數(shù)據(jù)類型由一個(gè)字節(jié)進(jìn)行定義,用于對(duì)操作信息進(jìn)行分類,對(duì)于目的節(jié)點(diǎn)與發(fā)送源一定的報(bào)文,通過(guò)不同的數(shù)據(jù)類型,在理論上可以定義28(256)條種不同的消息。 ---(5)數(shù)據(jù)字節(jié)定義 ---對(duì)于每條報(bào)文的數(shù)據(jù)定義,統(tǒng)一采用無(wú)符號(hào)短整型數(shù)據(jù),且每?jī)蓚(gè)字節(jié)組成一個(gè)數(shù)據(jù)(其數(shù)據(jù)范圍即為:0~65536)。所以,每條報(bào)文理論上可以攜帶4種不同的數(shù)據(jù)(Short_Data[0]~Short_Data[3])。 ---(6)接收碼、屏蔽碼設(shè)定
---對(duì)于每個(gè)節(jié)點(diǎn)接收碼、與屏蔽碼的定義,如表2所示。 ---2.簡(jiǎn)易駕駛員前面板仿真節(jié)點(diǎn)的軟件開(kāi)發(fā) ---駕駛員前面板主要是顯示汽車在行駛時(shí)速度、剩余油量等信息,并對(duì)車大燈及轉(zhuǎn)向燈進(jìn)行操作。所以該仿真節(jié)點(diǎn)的軟件開(kāi)發(fā)涉及相關(guān)發(fā)動(dòng)機(jī)模塊、油量傳感器、車燈照明模塊節(jié)點(diǎn)的操作,其具體開(kāi)發(fā)流程如下。 ---(1)初始定義 ---根據(jù)節(jié)點(diǎn)ID定義(表2),我們?yōu)轳{駛員前面板選定ID:0x33;而發(fā)動(dòng)機(jī)模塊ID設(shè)為:0x1D;油量傳感器ID設(shè)為:0x2B;車燈系統(tǒng)ID設(shè)為:0x78。 ---(2)信息流設(shè)計(jì)
---對(duì)于由駕駛員前面板、發(fā)動(dòng)機(jī)模塊和車燈系統(tǒng)組成的現(xiàn)有網(wǎng)絡(luò),駕駛員前面板的信息流(帶優(yōu)先級(jí)標(biāo)志),如表3所示。 ---(3)軟面板設(shè)計(jì) ---直接利用Lab Windows CVI的人機(jī)交互編輯器進(jìn)行仿真節(jié)點(diǎn)界面設(shè)計(jì)。為簡(jiǎn)化該仿真系統(tǒng),現(xiàn)將駕駛員前面板操作涉及的相關(guān)發(fā)動(dòng)機(jī)模塊、油量傳感器、車燈照明模塊節(jié)點(diǎn)統(tǒng)一設(shè)計(jì)為一個(gè)測(cè)試模塊。該測(cè)試模塊采用全接收的方式對(duì)接收的報(bào)文進(jìn)行解析并對(duì)相關(guān)操作做出反饋。 ---(4)C程序代碼設(shè)計(jì)
---完成軟面板設(shè)計(jì)并生成代碼框架后,進(jìn)行源代碼編譯。這里未詳細(xì)列出該仿真節(jié)點(diǎn)和測(cè)試模塊的程序代碼。 ---3.仿真節(jié)點(diǎn)功能測(cè)試
---本次測(cè)試實(shí)驗(yàn)的CAN總線網(wǎng)絡(luò)設(shè)備,由北京三興達(dá)公司單路CAN非智能PCI卡與PC計(jì)算機(jī)組成,其結(jié)構(gòu)如圖3所示。 CAN總線 ---在兩臺(tái)PC上分別運(yùn)行駕駛員前面板程序與測(cè)試模塊程序,按以下操作觀察并得到表6的現(xiàn)象或反饋。 結(jié)語(yǔ) ---現(xiàn)階段汽車CAN總線的研究重點(diǎn)是:針對(duì)具體的車型開(kāi)發(fā)ECU的硬件及應(yīng)用層的協(xié)議和軟件,并構(gòu)成車內(nèi)網(wǎng)絡(luò)。本文對(duì)汽車CAN總線網(wǎng)絡(luò)設(shè)計(jì)做了介紹,以上開(kāi)發(fā)實(shí)驗(yàn)只是將汽車總線系統(tǒng)研究與發(fā)展的三個(gè)階段(即第一階段,研究汽車的基本控制系統(tǒng)(也稱舒適總線系統(tǒng)),如照明系統(tǒng)等;第二階段,研究汽車的主要控制系統(tǒng)(也稱動(dòng)力總線系統(tǒng)),如發(fā)動(dòng)機(jī)系統(tǒng)等;第三階段,研究汽車各電子控制系統(tǒng)之間的綜合、實(shí)時(shí)控制和信息反饋)結(jié)合進(jìn)行了闡述。目前,我國(guó)的汽車總線研究和應(yīng)用尚處于起步階段,但汽車總線的應(yīng)用趨勢(shì)明顯,研究和開(kāi)發(fā)自己的汽車總線與網(wǎng)絡(luò)應(yīng)用系統(tǒng)勢(shì)在必行。  參考文獻(xiàn) 1 宋宇峰. Lab Windows CVI逐步深入與開(kāi)發(fā)實(shí)例. 機(jī)械工業(yè)出版社,2003.3 2 張毅剛,喬立巖. 虛擬儀器軟件開(kāi)發(fā)環(huán)境編程指南. 機(jī)械工業(yè)出版社,2002.8 3 饒運(yùn)濤,鄒繼軍,鄭勇蕓. 現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù). 北京航空航天大學(xué)出版社,2003.6 4 北京三興達(dá)單路CAN非智能PCI卡用戶手冊(cè) 5 BOSCH_CAN_V2.0B協(xié)議. 1991 |