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