<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > 淺析CAN總線車(chē)載網(wǎng)絡(luò)通訊組件的實(shí)現(xiàn)研究

          淺析CAN總線車(chē)載網(wǎng)絡(luò)通訊組件的實(shí)現(xiàn)研究

          作者: 時(shí)間:2012-09-14 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/196413.htm

          目前,汽車(chē)電子正朝著網(wǎng)絡(luò)化的方向發(fā)展,成為汽車(chē)電子領(lǐng)域的最大熱點(diǎn)。提高控制單元間可靠性并且降低導(dǎo)線成本的網(wǎng)絡(luò)應(yīng)用中的關(guān)鍵技術(shù)包括、LIN、FlexRey、MOST、IDB1394 等。對(duì)于汽車(chē)整車(chē)廠來(lái)說(shuō), 網(wǎng)絡(luò)設(shè)計(jì)是應(yīng)用 網(wǎng)絡(luò)的關(guān)鍵。縱觀現(xiàn)有的設(shè)計(jì)技術(shù),可以將其分為兩類:一類是以仿真和測(cè)試為主的傳統(tǒng)設(shè)計(jì)方法;另一類是以協(xié)議設(shè)計(jì)為主的方法。傳統(tǒng)方法將每個(gè)節(jié)點(diǎn)對(duì)協(xié)議的要求拼湊起來(lái),通過(guò)仿真、測(cè)試的方法檢驗(yàn)協(xié)議的正確性,最終得到協(xié)議。新方法通過(guò)系統(tǒng)設(shè)計(jì)技術(shù),用理論方法對(duì)系統(tǒng)的時(shí)序建模,分析設(shè)計(jì)系統(tǒng)的通訊協(xié)議,保證系統(tǒng)的實(shí)時(shí)性能以及協(xié)議的正確性,最終發(fā)布正確的通訊協(xié)議。本文將簡(jiǎn)要介紹傳統(tǒng)設(shè)計(jì)方法的局限性和新方法的優(yōu)勢(shì),以及參考新方法所設(shè)計(jì)的通信網(wǎng)絡(luò)軟件系統(tǒng)。

          2 傳統(tǒng)設(shè)計(jì)方法的局限性

          隨著汽車(chē)上電子設(shè)備數(shù)量的逐漸增多,系統(tǒng)也越來(lái)越復(fù)雜,汽車(chē)電子網(wǎng)絡(luò)面臨著巨大的挑戰(zhàn)。傳統(tǒng)網(wǎng)絡(luò)協(xié)議設(shè)計(jì)技術(shù)的局限性越來(lái)越突出,主要表現(xiàn)在數(shù)據(jù)丟失、通訊延遲、協(xié)議修改困難等三個(gè)方面。

          2.1 數(shù)據(jù)丟失

          數(shù)據(jù)丟失是指新數(shù)據(jù)沒(méi)有來(lái)得及通過(guò)網(wǎng)絡(luò)傳輸出去,或是超過(guò)接收節(jié)點(diǎn)的接收時(shí)限才傳輸出去的情況。數(shù)據(jù)丟失會(huì)嚴(yán)重影響通訊的實(shí)時(shí)性能,進(jìn)而影響整車(chē)通訊的質(zhì)量。實(shí)時(shí)性能好的系統(tǒng)應(yīng)該完全避免數(shù)據(jù)丟失。

          數(shù)據(jù)丟失的影響因素就是通訊協(xié)議。傳統(tǒng)設(shè)計(jì)方法通過(guò)仿真和測(cè)試等手段檢測(cè)協(xié)議的正確性,其缺點(diǎn)是無(wú)法覆蓋所有的測(cè)試用例,因此,輸出的通訊協(xié)議會(huì)存在潛在錯(cuò)誤或者不夠完整,這樣就不可避免地會(huì)產(chǎn)生數(shù)據(jù)丟失的情況,影響整個(gè)系統(tǒng)的性能。

          2.2 通訊延遲

          通訊延遲是指數(shù)據(jù)準(zhǔn)備好到通過(guò)發(fā)送出去的等待時(shí)間。通訊延遲可能導(dǎo)致數(shù)據(jù)丟失,是傳統(tǒng)設(shè)計(jì)方法無(wú)法解決的根本性問(wèn)題。這主要是因?yàn)?,傳統(tǒng)設(shè)計(jì)方法只是將各個(gè)節(jié)點(diǎn)對(duì)協(xié)議的要求拼湊起來(lái),沒(méi)有考慮整個(gè)系統(tǒng)的需求,比如發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)到接收節(jié)點(diǎn)接收數(shù)據(jù)并用于控制,沒(méi)有考慮實(shí)現(xiàn)這樣一個(gè)完整功能的時(shí)間要求。因此協(xié)議設(shè)計(jì)結(jié)果難以保證實(shí)時(shí)性能,必然存在通訊延遲。

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

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

          時(shí)限設(shè)定和響應(yīng)時(shí)間的計(jì)算

          圖 1 時(shí)限設(shè)定和響應(yīng)時(shí)間的計(jì)算

          2.3 協(xié)議修改困難

          修改協(xié)議在開(kāi)發(fā)過(guò)程中不可避免。但對(duì)于傳統(tǒng)的設(shè)計(jì)方法,因?yàn)閼?yīng)用程序和通訊功能的融合,通訊協(xié)議的參數(shù)變化會(huì)導(dǎo)致軟件的重新編譯和測(cè)試,這就意味著額外的時(shí)間和成本,供應(yīng)商極不愿意整車(chē)廠商修改協(xié)議。因此,整車(chē)廠商修改協(xié)議十分困難,并需要很長(zhǎng)的時(shí)間。

          3 以協(xié)議設(shè)計(jì)為主的新方法的特點(diǎn)

          以協(xié)議設(shè)計(jì)為主的方法通過(guò)系統(tǒng)級(jí)的設(shè)計(jì)理論和方法,保證通訊協(xié)議的準(zhǔn)確性,避免數(shù)據(jù)丟失,保證系統(tǒng)的實(shí)時(shí)性能。其特點(diǎn)概括起來(lái)如下:

          3.1 系統(tǒng)級(jí)設(shè)計(jì),避免數(shù)據(jù)丟失

          新技術(shù)采用自上而下的系統(tǒng)設(shè)計(jì)技術(shù),對(duì)整個(gè)系統(tǒng)的架構(gòu)進(jìn)行設(shè)計(jì),并完成優(yōu)化。通過(guò)理論設(shè)計(jì)方法,可保證通訊協(xié)議的正確性,從根本上解決數(shù)據(jù)丟失問(wèn)題。

          3.2 有效控制消息延時(shí)

          響應(yīng)時(shí)間是消息準(zhǔn)備發(fā)送到最后節(jié)點(diǎn)接收到數(shù)據(jù)的全部時(shí)間,它是發(fā)送時(shí)間和延遲的總和,其中延遲是影響響應(yīng)時(shí)間的主要因素,控制延遲就可以有效控制響應(yīng)時(shí)間。

          如圖 1 所示,通過(guò)對(duì)響應(yīng)時(shí)間進(jìn)行建模,并仔細(xì)安排消息的ID 和周期以控制延遲時(shí)間、響應(yīng)時(shí)間及負(fù)載。然后用理論方法計(jì)算出最差情形下的延遲時(shí)間、最大的響應(yīng)值,以及總線負(fù)載。

          由于新方法能夠計(jì)算出最大總線負(fù)載,也能有效控制系統(tǒng)延遲,因此沒(méi)有必要再對(duì)系統(tǒng)的總線負(fù)載作任何限制,理論上可以達(dá)到100%。其優(yōu)勢(shì)在于保證了確定的通訊行為,可以有效地利用系統(tǒng)資源。

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

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

          22.jpg

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

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

          4 系統(tǒng)設(shè)計(jì)

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

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

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

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

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

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

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

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

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

          4.2 COM 組件

          COM 組件采用分層結(jié)構(gòu)設(shè)計(jì)方法,主要分為:交互層(InteractiON layer)和驅(qū)動(dòng)層(devicedrivers layer)。其中交互層中具有網(wǎng)關(guān)功能,該功能實(shí)現(xiàn)信號(hào)級(jí)的路由。

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

          COM 組件中的驅(qū)動(dòng)層提供以下功能:一、發(fā)送從交互層遞交過(guò)來(lái)的數(shù)據(jù);二、從CAN硬件接收數(shù)據(jù)遞交給交互層;三、確認(rèn)上層的發(fā)送請(qǐng)求,并將確認(rèn)信息上報(bào)給交互層;四、確認(rèn)接收完成,并將確認(rèn)信息上報(bào)給交互層。

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

          信號(hào)的發(fā)送:應(yīng)用程序調(diào)用信號(hào)寫(xiě)操作功能將有關(guān)信號(hào)發(fā)送到交互層。交互層通過(guò)調(diào)用有關(guān)發(fā)送函數(shù)進(jìn)行輸出操作,將信息傳遞到驅(qū)動(dòng)層。驅(qū)動(dòng)層調(diào)用有關(guān)的發(fā)送功能,將信息傳輸達(dá)到CAN 總線上。示意過(guò)程圖如圖3所示。

          33.jpg

          圖 3 使用COM 組件進(jìn)行信號(hào)收發(fā)操作

          5 結(jié)束語(yǔ)

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

          本文作者創(chuàng)新點(diǎn):此網(wǎng)絡(luò)設(shè)計(jì)采用了系統(tǒng)設(shè)計(jì)方法,突破了傳統(tǒng)的以仿真測(cè)試進(jìn)行協(xié)議拼湊的設(shè)計(jì)方法,能夠使整車(chē)廠商靈活地進(jìn)行協(xié)議設(shè)計(jì)和修改,極大地降低了對(duì)供應(yīng)商的依賴性。同時(shí)這種設(shè)計(jì)方法也保證了系統(tǒng)的移植性和可重用性,并且增加了網(wǎng)絡(luò)的使用率。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();