0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于CAN總線的車載網(wǎng)絡軟件解決方案

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-02-06 07:12 ? 次閱讀

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é)議會存在潛在錯誤或者不夠完整,這樣就不可避免地會產(chǎn)生數(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é)議設計結果難以保證實時性能,必然存在通訊延遲。

仲裁失敗是產(chǎn)生延遲的主要原因,因此延遲與消息的 ID 及周期有關。系統(tǒng)越復雜,消息之間發(fā)生競爭的可能性越大,系統(tǒng)的實時性能就越差。

為了減小延遲的影響,傳統(tǒng)設計方法采取了兩種預防措施。一種是設定時限,如圖1所示。另一種限制負載為平均30%左右,降低消息競爭的可能性。但是這兩種方法都不能從根本上消除延遲。

基于CAN 總線的車載網(wǎng)絡軟件解決方案

圖 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)資源。

3.3 分隔應用程序和通訊協(xié)議,保證變更靈活性

如圖 2 所示,新方法為ECU 通訊功能提供了標準的網(wǎng)絡通訊組件。該組件將應用程序和通訊協(xié)議成功分隔開來,使得各自的修改互不影響,保證了協(xié)議修改的靈活性。網(wǎng)絡通訊組件提供面向總線、應用程序和通訊協(xié)議三方面的標準接口。面向應用程序的接口是基于信號的操作,不包含通訊協(xié)議的參數(shù)。面向通訊協(xié)議的接口負責識別通訊協(xié)議。只要遵守接口標準,協(xié)議可以進行任意改變,而且不影響應用程序。

基于CAN 總線的車載網(wǎng)絡軟件解決方案

圖 2 分隔應用程序和通訊協(xié)議

這種設計方案其優(yōu)勢在于整車廠商可以很容易地修改協(xié)議,不需要供應商支持,因此保證了系統(tǒng)變更的靈活性,同時也增加了系統(tǒng)的可移植性以及應用的復用性。

4 系統(tǒng)設計

為了避免傳統(tǒng)設計方法的缺點,本系統(tǒng)參考新方法理論進行設計。整個系統(tǒng)主要分為兩大部分:一、靜態(tài)配置編譯工具;二、網(wǎng)絡組件,稱為COM 組件。

4.1 靜態(tài)配置編譯工具

該靜態(tài)配置編譯工具使用配置語言進行信號、幀、幀模式等等的配置。配置語言定義了四個文件的配置規(guī)則語法,這四個文件分別為:fixed 文件、network 文件、target 文件和private文件。

.fix 文件主要用來描述可用的網(wǎng)絡接口以及ECU 中的每個通信接口所收發(fā)的信號的描述。這些描述內(nèi)容可以在工程的很早階段就可以定義,甚至是在選定供應商之前就可以進行定以。

.net 文件通常由系統(tǒng)Interator 創(chuàng)建,主要用來描述網(wǎng)絡接口配置、信號、幀及其想關參數(shù)(例如:幀的ID,傳輸類型、周期、偏移以及信號的映射表),如果應用有需要的話,還可以進行調度表的調度表的定義(應用于使用網(wǎng)關的情況)。這些信息將會存儲到NVRAM中,并且對于應用軟件不是直接可見的。

.tgt 文件是由ECU 的供應商提供的,它包括ECU 的硬件特性描述,比如CPU 類型、存儲數(shù)據(jù)的內(nèi)存的大小和地址等。

.pri 文件主要用來定義信號的標志、超時以及信號的重命名等信息。通過使用配置語言配置的這四個文件實現(xiàn)了靜態(tài)可裁剪配置,同時控制了信號傳遞的時序,有效地控制了通訊延遲并避免了數(shù)據(jù)的丟失,充分利用了網(wǎng)絡資源。

經(jīng)過配置后獲得的四個文件經(jīng)過配置編譯器編譯后生成三個文件,分別為:s_gen.c 、s_hand.h 以及s_nvram。

s_gen.c 文件包含了一些配置產(chǎn)生的數(shù)據(jù)結構,并且這些數(shù)據(jù)結構與ECU 供應商提供的ECU 其他部分應用軟件代碼進行集成編譯和鏈接。應用軟件將包含s_hand.h 文件,以便訪問不同的通訊對象,例如:特定的信號等。s_nvram 文件是產(chǎn)生的ECU 二進制配置數(shù)據(jù)。

4.2 COM 組件

COM 組件采用分層結構設計方法,主要分為:交互層(Interaction layer)和驅動層(devicedrivers layer)。其中交互層中具有網(wǎng)關功能,該功能實現(xiàn)信號級的路由。

COM 組件中的交互層具有以下功能:一、提供標準面向應用的信號接口;二、提供為網(wǎng)絡管理統(tǒng)一服務;三、提供診斷通信統(tǒng)一服務;四、隱藏協(xié)議和來自應用的信息屬性;五、提供不同網(wǎng)絡之間數(shù)據(jù)傳輸;六、提供網(wǎng)關功能。

COM 組件中的驅動層提供以下功能:一、發(fā)送從交互層遞交過來的數(shù)據(jù);二、從CAN硬件接收數(shù)據(jù)遞交給交互層;三、確認上層的發(fā)送請求,并將確認信息上報給交互層;四、確認接收完成,并將確認信息上報給交互層。

信號的接收:當?shù)讓泳W(wǎng)絡中有信息在傳輸時,CAN 收發(fā)器進行過濾,只有符合過濾條件的幀才能被CAN 設備通過驅動層接收。然后驅動層將收上來的數(shù)據(jù)傳遞給交互層。應用程序通過信號讀操作獲得符合條件的幀中的相應信號。

信號的發(fā)送:應用程序調用信號寫操作功能將有關信號發(fā)送到交互層。交互層通過調用有關發(fā)送函數(shù)進行輸出操作,將信息傳遞到驅動層。驅動層調用有關的發(fā)送功能,將信息傳輸達到CAN 總線上。示意過程圖如圖3所示。

基于CAN 總線的車載網(wǎng)絡軟件解決方案

圖 3 使用COM 組件進行信號收發(fā)操作

5 結束語

本文設計的系統(tǒng)采用新的設計原理,很好的將應用和協(xié)議分開,降低了整車廠商對供應商的依賴性,降低了整車的開發(fā)成本和開發(fā)周期,同時,作為我國自主研制的車載網(wǎng)絡解決方案,一定程度上對我國汽車電子行業(yè)的進步提供了一定的理論基礎。

此網(wǎng)絡設計采用了系統(tǒng)設計方法,突破了傳統(tǒng)的以仿真測試進行協(xié)議拼湊的設計方法,能夠使整車廠商靈活地進行協(xié)議設計和修改,極大地降低了對供應商的依賴性。同時這種設計方法也保證了系統(tǒng)的移植性和可重用性,并且增加了網(wǎng)絡的使用率。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1953

    瀏覽量

    130916
  • 協(xié)議
    +關注

    關注

    2

    文章

    604

    瀏覽量

    39281
  • 仿真
    +關注

    關注

    50

    文章

    4109

    瀏覽量

    133781
收藏 人收藏

    評論

    相關推薦

    針對CAN總線傳輸距離問題的兩種解決方案

    針對CAN總線傳輸距離問題的兩種解決方案
    發(fā)表于 08-16 16:13

    車載顯示技術及其應用方案~

    基于CAN總線的汽車儀表軟件實現(xiàn)方案經(jīng)典詳述光電顯示汽車儀表盤的標準化詳細介紹飛思卡爾的汽車儀表完整解決方案LightTools設計實例--
    發(fā)表于 12-15 14:19

    【下載】《汽車CAN總線系統(tǒng)原理設計與應用》——車載網(wǎng)絡系統(tǒng)研究參考資料

    `編輯推薦《汽車CAN總線系統(tǒng)原理、設計與應用》全面介紹了車載網(wǎng)絡技術的現(xiàn)狀,詳細介紹了CAN總線
    發(fā)表于 08-18 18:11

    基于CAN總線車載網(wǎng)絡軟件該怎樣去設計?

    本文提出了一種基于CAN總線車載網(wǎng)絡軟件解決方案。
    發(fā)表于 05-12 06:57

    CAN總線和以太網(wǎng)兩者互相并存的車載網(wǎng)絡解決方案

    的巔峰,也必然有著其過人之處。個人比較看好未來是由CAN總線和以太網(wǎng)兩者互相并存的車載網(wǎng)絡解決方案。...
    發(fā)表于 08-20 07:10

    網(wǎng)絡軟件包分級保護機制的研究

    網(wǎng)絡軟件包分級保護機制的研究:提出了一套基于混沌加密算法的網(wǎng)絡軟件包分級保護的完整解決方案,根據(jù)軟件包中不同模塊的重要程度及其安全等級,在用戶局域網(wǎng)內(nèi)部建立
    發(fā)表于 10-21 08:05 ?14次下載

    CAN總線與以太網(wǎng)絡互連解決方案

    提出了一種基于雙處理器的CAN現(xiàn)場總線與以太網(wǎng)絡互連解決方案,詳細介紹了該通信接口卡的軟硬件設計,實現(xiàn)了生產(chǎn)管理層和智能裝置之間基于IEC60870-5-101/104通信規(guī)約的數(shù)據(jù)通
    發(fā)表于 11-19 15:09 ?35次下載

    CAN總線防護電路及解決方案

    CAN總線防護電路及解決方案 CAN是控制器局域網(wǎng)絡(Controller Area Network,
    發(fā)表于 11-20 09:15 ?1.8w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>防護電路及<b class='flag-5'>解決方案</b>

    CAN、LIN總線車載網(wǎng)絡中的應用

    can總線在汽車網(wǎng)絡中的應用雖效率顯著單成本過高,LIN線恰好彌補這一不足,本文對比了CAN/LIN總線的性能特點,分別闡述了單
    發(fā)表于 06-09 17:34 ?108次下載
    <b class='flag-5'>CAN</b>、LIN<b class='flag-5'>總線</b>在<b class='flag-5'>車載</b><b class='flag-5'>網(wǎng)絡</b>中的應用

    基于CAN總線的磁懸浮車車載信息采集與診斷系統(tǒng)

    特點,車載診斷網(wǎng)絡系統(tǒng)的基本結構,基于CAN 總線車載診斷網(wǎng)絡系統(tǒng)的硬件結構,完成了嵌入式環(huán)境
    發(fā)表于 04-18 10:28 ?7次下載

    基于LIN和CAN總線通信的車載串行網(wǎng)絡系統(tǒng)設計

    目前,CAN(控制器區(qū)域網(wǎng)絡)協(xié)議已成為車載網(wǎng)絡(IVN)協(xié)議的標準。除了CAN網(wǎng)絡,業(yè)界還開發(fā)
    發(fā)表于 11-01 15:34 ?2211次閱讀

    就瑞典Kvaser的CAN總線通訊協(xié)議提出的解決方案

    CAN總線網(wǎng)絡測試: --滿足汽車電子產(chǎn)品不同CAN-BUS總線車型協(xié)議解析與逆向分析應用 汽車教學實訓CAN模擬控制仿真: --
    發(fā)表于 03-06 14:28 ?1081次閱讀

    車載以太網(wǎng)和CAN的區(qū)別

    車載以太網(wǎng)和CAN網(wǎng)絡撲拓結構不同,車載以太網(wǎng)采用的是點對點的星型拓撲結構,而CAN總線采用的
    的頭像 發(fā)表于 02-05 15:41 ?1.1w次閱讀

    CAN 總線的系統(tǒng)級浪涌抑制解決方案

    CAN 總線的系統(tǒng)級浪涌抑制解決方案
    發(fā)表于 11-15 19:19 ?2次下載
    <b class='flag-5'>CAN</b> <b class='flag-5'>總線</b>的系統(tǒng)級浪涌抑制<b class='flag-5'>解決方案</b>

    CAN總線關閉故障的解決方案

    是一種較為嚴重的故障狀態(tài)。本文將詳細解釋CAN總線關閉故障的含義、原因及解決方案,以期為相關技術人員提供參考。
    的頭像 發(fā)表于 09-30 11:37 ?2814次閱讀