CAN總線網(wǎng)絡(luò)設(shè)計(jì)對于CAN總線是非常重要的,而解決CAN網(wǎng)絡(luò)應(yīng)用層協(xié)議設(shè)計(jì)的問題更是重中之重。就如同集成電路、微處理器的誕生一樣,數(shù)據(jù)總線技術(shù)的問世成為了汽車電子技術(shù)發(fā)展的一個(gè)重要里程碑。如今,隨著CAN總線技術(shù)在汽車電子領(lǐng)域日益廣泛的應(yīng)用,其協(xié)議一致規(guī)范表述的重要性也逐漸凸現(xiàn)。根據(jù)ISO(國際標(biāo)準(zhǔn)化組織)定義的OSI模型,CAN協(xié)議定義了物理層及數(shù)據(jù)鏈路層規(guī)范,為不同的汽車廠商制定符合自身需要的應(yīng)用層協(xié)議提供了便利。如果需要建立更加完善的系統(tǒng),還需要在CAN的基礎(chǔ)上選擇合適的應(yīng)用層協(xié)議。
解決關(guān)鍵問題,首先有必要解析一下CAN總線協(xié)議應(yīng)用層與應(yīng)用程序。應(yīng)用層和應(yīng)用程序是不一樣的。應(yīng)用層是指通訊功能的應(yīng)用層。它并不定義和描述應(yīng)用程序參數(shù),它提供的只是通訊功能與應(yīng)用程序的通訊接口。包括:定義通訊服務(wù)、傳送過程數(shù)據(jù)、診斷信息及標(biāo)定信息。設(shè)備監(jiān)控和網(wǎng)絡(luò)管理也一般定義為應(yīng)用層的一部分,有的也將傳輸層的部分內(nèi)容納入應(yīng)用層實(shí)現(xiàn),比如超過8個(gè)字節(jié)的數(shù)據(jù)傳輸。而應(yīng)用程序就完全是指控制算法等應(yīng)用代碼。它定義控制算法相關(guān)的數(shù)據(jù)和參數(shù)。
那么到底是CAN測試重要還是協(xié)議制定重要?其實(shí)測試和設(shè)計(jì)的重要性在不同設(shè)計(jì)思路中有不同的體現(xiàn)。目前應(yīng)用層協(xié)議制定的方法可以分為兩大類,一類是測試為重心的方法;一類是設(shè)計(jì)為重心的方法。第一種方法也稱為投票法或試驗(yàn)法,這是一種工程設(shè)計(jì)方法,各個(gè)供應(yīng)商對協(xié)議提出要求,整車廠集成要求,通過測試驗(yàn)證協(xié)議可行性,隨后發(fā)布協(xié)議。測試的功能除了驗(yàn)證協(xié)議的實(shí)現(xiàn)外,還有一個(gè)重要的任務(wù)就是對協(xié)議設(shè)計(jì)進(jìn)行測試,試圖解決ID分配不合理、消息沖突問題等等。這種方法的重心就是測試,因此測試比較重要。
第二種方法是系統(tǒng)級設(shè)計(jì)法,這是一種理論設(shè)計(jì)方法,它提出了完全不同的需求,供應(yīng)商只需要提供相應(yīng)的參數(shù),根據(jù)一定的理論模型對網(wǎng)絡(luò)通訊特性進(jìn)行計(jì)算,如信號延遲、總線負(fù)載等。以此為基礎(chǔ),考慮設(shè)計(jì)需求,通過一定的調(diào)度算法,對每條消息的ID進(jìn)行分配。方法的核心就是優(yōu)化這些特性參數(shù),保證整車網(wǎng)絡(luò)通訊的實(shí)時(shí)性能。因此在這種設(shè)計(jì)方法中,設(shè)計(jì)是重點(diǎn)。
綜上所述,CAN總線協(xié)議中,其中有三個(gè)方面的設(shè)計(jì)非常重要,就是ID、周期和信號和消息的映射關(guān)系。