CAN 總線(xiàn)車(chē)載網(wǎng)絡(luò )通訊組件的研究和實(shí)現
摘要: 本文提出了一種基于CAN 總線(xiàn)的車(chē)載網(wǎng)絡(luò )軟件解決方案。該方案可將應用與網(wǎng)絡(luò )協(xié)議分開(kāi),以便降低整車(chē)廠(chǎng)商對硬件供應商的依賴(lài)性,同時(shí)提高軟件的復用性和可移植性。該方案主要包含兩部分:一、靜態(tài)配置編譯器工具;二、網(wǎng)絡(luò )組件。
1 引言
目前,汽車(chē)電子正朝著(zhù)網(wǎng)絡(luò )化的方向發(fā)展,車(chē)載網(wǎng)絡(luò )成為汽車(chē)電子領(lǐng)域的最大熱點(diǎn)。提高控制單元間通訊可靠性并且降低導線(xiàn)成本的網(wǎng)絡(luò )總線(xiàn)應用中的關(guān)鍵技術(shù)包括CAN、LIN、FlexRey、MOST、IDB1394 等。對于汽車(chē)整車(chē)廠(chǎng)來(lái)說(shuō),CAN 網(wǎng)絡(luò )設計是應用CAN 網(wǎng)絡(luò )通訊的關(guān)鍵??v觀(guān)現有的設計技術(shù),可以將其分為兩類(lèi):一類(lèi)是以仿真和測試為主的傳統設計方法;另一類(lèi)是以協(xié)議設計為主的方法。傳統方法將每個(gè)節點(diǎn)對協(xié)議的要求拼湊起來(lái),通過(guò)仿真、測試的方法檢驗協(xié)議的正確性,最終得到通訊協(xié)議。新方法通過(guò)系統設計技術(shù),用理論方法對系統的時(shí)序建模,分析設計系統的通訊協(xié)議,保證系統的實(shí)時(shí)性能以及協(xié)議的正確性,最終發(fā)布正確的通訊協(xié)議。本文將簡(jiǎn)要介紹傳統設計方法的局限性和新方法的優(yōu)勢,以及參考新方法所設計的通信網(wǎng)絡(luò )軟件系統。
2 傳統設計方法的局限性
隨著(zhù)汽車(chē)上電子設備數量的逐漸增多,車(chē)載網(wǎng)絡(luò )系統也越來(lái)越復雜,汽車(chē)電子網(wǎng)絡(luò )面臨著(zhù)巨大的挑戰。傳統網(wǎng)絡(luò )協(xié)議設計技術(shù)的局限性越來(lái)越突出,主要表現在數據丟失、通訊延遲、協(xié)議修改困難等三個(gè)方面。
2.1 數據丟失
數據丟失是指新數據沒(méi)有來(lái)得及通過(guò)網(wǎng)絡(luò )傳輸出去,或是超過(guò)接收節點(diǎn)的接收時(shí)限才傳輸出去的情況。數據丟失會(huì )嚴重影響通訊的實(shí)時(shí)性能,進(jìn)而影響整車(chē)通訊的質(zhì)量。實(shí)時(shí)性能好的系統應該完全避免數據丟失。
數據丟失的影響因素就是通訊協(xié)議。傳統設計方法通過(guò)仿真和測試等手段檢測協(xié)議的正確性,其缺點(diǎn)是無(wú)法覆蓋所有的測試用例,因此,輸出的通訊協(xié)議會(huì )存在潛在錯誤或者不夠完整,這樣就不可避免地會(huì )產(chǎn)生數據丟失的情況,影響整個(gè)系統的性能。
2.2 通訊延遲
通訊延遲是指數據準備好到通過(guò)總線(xiàn)發(fā)送出去的等待時(shí)間。通訊延遲可能導致數據丟失,是傳統設計方法無(wú)法解決的根本性問(wèn)題。這主要是因為,傳統設計方法只是將各個(gè)節點(diǎn)對協(xié)議的要求拼湊起來(lái),沒(méi)有考慮整個(gè)系統的需求,比如發(fā)送節點(diǎn)發(fā)送數據到接收節點(diǎn)接收數據并用于控制,沒(méi)有考慮實(shí)現這樣一個(gè)完整功能的時(shí)間要求。因此協(xié)議設計結果難以保證實(shí)時(shí)性能,必然存在通訊延遲。
仲裁失敗是產(chǎn)生延遲的主要原因,因此延遲與消息的 ID 及周期有關(guān)。系統越復雜,消息之間發(fā)生競爭的可能性越大,系統的實(shí)時(shí)性能就越差。
為了減小延遲的影響,傳統設計方法采取了兩種預防措施。一種是設定時(shí)限,如圖1所示。另一種限制負載為平均30%左右,降低消息競爭的可能性。但是這兩種方法都不能從根本上消除延遲。
圖 1 時(shí)限設定和響應時(shí)間的計算
2.3 協(xié)議修改困難
修改協(xié)議在開(kāi)發(fā)過(guò)程中不可避免。但對于傳統的設計方法,因為應用程序和通訊功能的融合,通訊協(xié)議的參數變化會(huì )導致軟件的重新編譯和測試,這就意味著(zhù)額外的時(shí)間和成本,供應商極不愿意整車(chē)廠(chǎng)商修改協(xié)議。因此,整車(chē)廠(chǎng)商修改協(xié)議十分困難,并需要很長(cháng)的時(shí)間。
3 以協(xié)議設計為主的新方法的特點(diǎn)
以協(xié)議設計為主的方法通過(guò)系統級的設計理論和方法,保證通訊協(xié)議的準確性,避免數據丟失,保證系統的實(shí)時(shí)性能。其特點(diǎn)概括起來(lái)如下:
3.1 系統級設計,避免數據丟失
新技術(shù)采用自上而下的系統設計技術(shù),對整個(gè)系統的架構進(jìn)行設計,并完成優(yōu)化。通過(guò)理論設計方法,可保證通訊協(xié)議的正確性,從根本上解決數據丟失問(wèn)題。
3.2 有效控制消息延時(shí)
響應時(shí)間是消息準備發(fā)送到最后節點(diǎn)接收到數據的全部時(shí)間,它是發(fā)送時(shí)間和延遲的總和,其中延遲是影響響應時(shí)間的主要因素,控制延遲就可以有效控制響應時(shí)間。
如圖 1 所示,通過(guò)對響應時(shí)間進(jìn)行建模,并仔細安排消息的ID 和周期以控制延遲時(shí)間、響應時(shí)間及總線(xiàn)負載。然后用理論方法計算出最差情形下的延遲時(shí)間、最大的響應值,以及總線(xiàn)負載。
由于新方法能夠計算出最大總線(xiàn)負載,也能有效控制系統延遲,因此沒(méi)有必要再對系統的總線(xiàn)負載作任何限制,理論上可以達到100%。其優(yōu)勢在于保證了確定的通訊行為,可以有效地利用系統資源。
評論