關(guān)于汽車(chē)CAN網(wǎng)絡(luò )的討論
就如同集成電路、微處理器的誕生一樣,數據總線(xiàn)技術(shù)的問(wèn)世成為了汽車(chē)電子技術(shù)發(fā)展的一個(gè)重要里程碑。如今,隨著(zhù)CAN總線(xiàn)技術(shù)在汽車(chē)電子領(lǐng)域日益廣泛的應用,其協(xié)議一致規范表述的重要性也逐漸凸現。根據ISO(國際標準化組織)定義的OSI模型,CAN協(xié)議定義了物理層及數據鏈路層規范,為不同的汽車(chē)廠(chǎng)商制定符合自身需要的應用層協(xié)議提供了便利。如果需要建立更加完善的系統,還需要在CAN的基礎上選擇合適的應用層協(xié)議。
為了幫助業(yè)內工程師進(jìn)一步了解汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議制定的重要性,以及掌握汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議設計技術(shù),并解決其關(guān)鍵問(wèn)題,在電子工程專(zhuān)輯旗下的汽車(chē)電子設計網(wǎng)站舉行的《如何解決當前CAN網(wǎng)絡(luò )應用層協(xié)議設計面臨的關(guān)鍵問(wèn)題? 》專(zhuān)題討論中,Mentor Graphics資深產(chǎn)品專(zhuān)員董因平博士應邀與工程師進(jìn)行互動(dòng),與大家進(jìn)一步探討了汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議制定方面的話(huà)題?;诖舜螌?zhuān)題討論,我們總結了汽車(chē)CAN網(wǎng)絡(luò )應用層協(xié)議設計中經(jīng)常出現的一些問(wèn)題供讀者參考。
解析CAN協(xié)議應用層與應用程序
董因平博士表示,應用層和應用程序是不一樣的。應用層是指通訊功能的應用層。它并不定義和描述應用程序參數,它提供的只是通訊功能與應用程序的通訊接口。包括:定義通訊服務(wù)、傳送過(guò)程數據、診斷信息及標定信息。設備監控和網(wǎng)絡(luò )管理也一般定義為應用層的一部分,有的也將傳輸層的部分內容納入應用層實(shí)現,比如超過(guò)8個(gè)字節的數據傳輸。
應用程序就完全是指控制算法等應用代碼。它定義控制算法相關(guān)的數據和參數。
在目前ECU開(kāi)發(fā)中,應用程序代碼包含了應用層代碼。其缺點(diǎn)在于以下三個(gè)方面:
- 應用程序發(fā)生變化,必須考查應用層是否還能滿(mǎn)足要求。
- 通訊協(xié)議發(fā)生變化,整個(gè)應用程序及應用層代碼都必須重新編譯測試。這個(gè)問(wèn)題是造成整車(chē)廠(chǎng)在協(xié)議開(kāi)發(fā)中不能起主導作用的主要原因之一。所以有很多國內的整車(chē)廠(chǎng)有了新的協(xié)議,希望某些國外大型供應商實(shí)施新協(xié)議時(shí)會(huì )遇到極大的阻礙。一是不愿意做,二是重新開(kāi)發(fā)的費用高昂。
- 嚴重阻礙了節點(diǎn)和設計的重用。由于應用程序和應用層融合在一起,難以實(shí)現即插即用的效果。
解決方案就是接口標準化,即將應用層從應用程序中分割出路并標準化接口。 AUTOSAR的一個(gè)特性就是標準化接口,實(shí)現即插即用。Mentor Graphics的VTP也是一個(gè)典型的例子。
CAN測試重要還是協(xié)議制定重要?
董因平博士表示,測試和設計的重要性在不同設計思路中有不同的體現。目前應用層協(xié)議制定的方法可以分為兩大類(lèi),一類(lèi)是測試為重心的方法,一類(lèi)是設計為重心的方法。
第一種方法也稱(chēng)為投票法或試驗法。這是一種工程設計方法,各個(gè)供應商對協(xié)議提出要求,整車(chē)廠(chǎng)集成要求,通過(guò)測試驗證協(xié)議可行性,隨后發(fā)布協(xié)議。測試的功能除了驗證協(xié)議的實(shí)現外,還有一個(gè)重要的任務(wù)就是對協(xié)議設計進(jìn)行測試,試圖解決ID分配不合理、消息沖突問(wèn)題等等。這種方法的重心就是測試,因此測試比較重要。
評論