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

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 汽車網(wǎng)關(guān)成為車載網(wǎng)絡(luò)集成的先鋒

          汽車網(wǎng)關(guān)成為車載網(wǎng)絡(luò)集成的先鋒

          作者: 時間:2011-09-20 來源:網(wǎng)絡(luò) 收藏

          為了將不同的數(shù)據(jù)總線在一起,網(wǎng)關(guān)必須提供帶寬和反應(yīng)時間。

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

            對電子系統(tǒng)設(shè)計工程師而言,汽車工業(yè)正在進入一個令人鼓舞而充滿挑戰(zhàn)的時期,諸如信息娛樂、遙感測試、安全和控制等應(yīng)用需要若干種聯(lián)網(wǎng)標準。為了給大多數(shù)應(yīng)用選擇用戶需要且功能強勁的合適總線,設(shè)計工程師面臨繁重的任務(wù)。

            汽車電子市場與數(shù)據(jù)通信、電信和消費電子并沒有什么不同,可選擇的聯(lián)網(wǎng)協(xié)議很多,各有優(yōu)缺點。一種協(xié)議不可能滿足所有汽車應(yīng)用的需求。

            汽車網(wǎng)絡(luò)通??梢苑譃槿悾?/p>

            車身控制:要求具有高帶寬、高可靠性和數(shù)據(jù)完整性;

            信息娛樂:要求高帶寬及對音視頻的實時處理能力;

            安全:傳統(tǒng)的液壓和傳感器正在被線控駕駛和剎車方法所取代。

            為了儲存來自這些網(wǎng)絡(luò)的數(shù)據(jù)并進行處理,需要采用網(wǎng)關(guān)實現(xiàn)網(wǎng)絡(luò)的互連并處理來自車載嵌入式網(wǎng)絡(luò)的數(shù)據(jù)。典型的網(wǎng)關(guān)由若干汽車網(wǎng)絡(luò)接口(CAN、MOST和Flexray)及嵌入式微控制器和外圍功能組成。

            CAN(控制區(qū)域網(wǎng))由于成本低、傳輸可靠性高而特別適用于車身控制。典型的汽車包含若干CAN網(wǎng)絡(luò)功能,例如引擎管理、儀表控制和車身控制。其最大數(shù)據(jù)率為1Mbps,所以其帶寬不支持視音頻數(shù)據(jù)的傳輸。然而,CAN非常便宜、容錯能力強,因而是重要的網(wǎng)絡(luò)協(xié)議。根據(jù)ABI Research的“研究報告”(2004年第四季度)預(yù)測,到2010年大約將安裝5.28億個汽車CAN節(jié)點。

            MOST(多媒體傳輸協(xié)議)滿足了視頻和音頻功能的需求,它在塑料光纖上以24Mbps的速率支持同步和異步數(shù)據(jù)傳輸。DVD播放機、頂置播放器、GPS器件和顯示器等裝置都需要采用MOST收發(fā)器。MOST聯(lián)盟已經(jīng)定義了MOST互連標準及軟件應(yīng)用接口標準。MOST是一種富有彈性且高度可靠的網(wǎng)絡(luò)標準。

            目前,剎車和方向盤都采用液壓機械方法來控制,將來的汽車要取代液壓機械,采用基于FlexRay的控制器來實現(xiàn)線控,包括線控剎車和線控方向盤。這種基于導(dǎo)線的網(wǎng)絡(luò)速度快、容錯能力強。FlexRay以大約10Mbps的速率支持同步和異步數(shù)據(jù)傳輸,它確保數(shù)據(jù)穩(wěn)定傳輸、容錯和對消息的反應(yīng)時間,并以雙通道模式提供冗余措施。

            以太網(wǎng)

            除了上述標準之外,典型的網(wǎng)關(guān)包括若干其它接口。以太網(wǎng)就是一種適用于診斷和作為服務(wù)接口的、應(yīng)用廣泛的網(wǎng)絡(luò)標準。其硬件成本低、應(yīng)用軟件隨處可得。因為該接口被用于診斷,因而不具備容錯和抗噪聲能力。要處理來自CAN、MOST和Flexray網(wǎng)絡(luò)的數(shù)據(jù),需要嵌入式處理器。該處理器對數(shù)據(jù)進行分拆、聚合并完成類型轉(zhuǎn)換。以太網(wǎng)接口要一個嵌入式處理器來運行TCPIP棧。片外存儲器可以存儲程序代碼。為了儲存來自嵌入式網(wǎng)絡(luò)的臨時數(shù)據(jù),可能需要增加額外的存儲器。

            設(shè)計因素

            系統(tǒng)設(shè)計工程師設(shè)計的時候,可能需要作出許多決策,其中包括:

            哪些網(wǎng)絡(luò)需要橋接?

            采用什么橋拓撲?

            需要DMA(直接存儲器訪問)嗎?

            數(shù)據(jù)緩沖區(qū)要多大?

            內(nèi)部數(shù)據(jù)交換需要采用什么總線?

            該總線寬度應(yīng)該是多少?

            需要采用什么仲裁機制?

            需要多少處理能力?

            上述問題取決于你所設(shè)計的系統(tǒng)和應(yīng)用。然而,也有一些必須處理的共性問題。顯然,CAN、MOST和Flexray是不同的協(xié)議,它們的有效載荷、數(shù)據(jù)率和對實時處理的需求都不一樣,網(wǎng)關(guān)必須能夠有效地處理所有來自這些接口的進出數(shù)據(jù)。

            采用可編程邏輯器件解決車載網(wǎng)關(guān)面臨的帶寬挑戰(zhàn)

            必須選擇通用系統(tǒng)總線來傳輸網(wǎng)關(guān)內(nèi)的數(shù)據(jù),該總線通常就是以不同頻率工作在汽車網(wǎng)絡(luò)中的一種同步總線。該系統(tǒng)一般都與嵌入式處理器的時鐘頻率和帶寬匹配,從而使數(shù)據(jù)在處理器和網(wǎng)絡(luò)接口之間有效地傳輸。系統(tǒng)總線線必須滿足所有接口對帶寬的需求,合計每個網(wǎng)絡(luò)協(xié)議的累計最大帶寬就是一個基本的近似值。

            例如一個網(wǎng)絡(luò)有四個CAN節(jié)點(4 Mb/s)、一個MOST (24 Mb/s)、一個FlexRay (10 Mb/s)和一個以太網(wǎng)(100 Mb/s),因而總帶寬為138 Mb/s。它可以由運行在10MHz的16位總線構(gòu)成。然而,總帶寬并不能滿足全部要求。每一個系統(tǒng)總線周期都有其用途。尋址和編碼周期消耗了可用的帶寬。目標器件諸如存儲器控制器或網(wǎng)絡(luò)接口在采集必要數(shù)據(jù)時有時會插入等待狀態(tài)。兩種情況都需要額外增加帶寬--或者提高速度或者增加系統(tǒng)總線的寬度。

            另外一個重要的考慮是有效載荷和延遲時間。CAN節(jié)點以8位數(shù)據(jù)包傳輸信息。以太網(wǎng)最多可以傳輸1,500字節(jié)的數(shù)據(jù)包。每一次傳輸都有開銷。尋址和編碼周期消耗了最大可用帶寬。極端情況下,大系統(tǒng)傳輸容量取決于總線的最大有效帶寬。然而,把CAN網(wǎng)絡(luò)與其8字節(jié)有效載荷接口是不合適的。數(shù)據(jù)緩沖需要把足夠的CAN數(shù)據(jù)包填充到系統(tǒng)數(shù)據(jù)包之中。第二個需要考慮的問題是,對于1 Mb/s的輸入CAN速率的系統(tǒng)數(shù)據(jù)包,緩沖足夠的數(shù)據(jù)可能會招致CAN數(shù)據(jù)出現(xiàn)很大的延遲。另一種極端情況要配置系統(tǒng)的傳輸容量,以便傳輸1到4個字節(jié)的極低有效載荷。在此,過高的帶寬對于尋址和編碼來說會浪費開銷周期。

            MOST和Flexray都是面向重要的實時應(yīng)用。例如,來自MOST網(wǎng)絡(luò)上CD播放機的音頻流就是以固定速率傳輸?shù)摹R纛l和視頻要求實時傳輸。系統(tǒng)總線必須確保來自諸如CD播放機之類的網(wǎng)絡(luò)數(shù)據(jù)不出現(xiàn)明顯的延遲。沒有人愿意看到音頻播放機上出現(xiàn)間隔或回聲。造成延遲的原因是緩沖數(shù)據(jù)太多--數(shù)據(jù)緩沖量太大且大小不當(dāng)?shù)南到y(tǒng)傳輸影響了延遲和實時性能。選擇系統(tǒng)總線速度和數(shù)據(jù)包的大小將確定網(wǎng)關(guān)中每一個接口所需要的緩沖量。必須確定緩沖量的大小以維持帶寬并滿足掛在上的設(shè)備對實時要求傳輸性能的要求。

            在理想的架構(gòu)中,嵌入式處理器大部分僅僅用于處理。然而,處理器周期卻被諸如中斷響應(yīng)和數(shù)據(jù)搬移之類的功能所消耗。為了讓處理器以最高效率運行,數(shù)據(jù)搬移操作可由專用硬件元件來擔(dān)當(dāng)。DMA控制器就是用于在網(wǎng)關(guān)接口(例如MOST接口)和存儲器或其它接口之間傳輸數(shù)據(jù)的嵌入式硬件模塊。對處理器進行配置之后,DMA控制器在后臺傳輸數(shù)據(jù),而嵌入式處理器則處理應(yīng)用數(shù)據(jù)。

            網(wǎng)關(guān)設(shè)計工程師在此有幾種設(shè)計選擇,最重要就是是否需要DMA控制器。這取決于嵌入式處理器架構(gòu)。對于執(zhí)行數(shù)據(jù)傳輸應(yīng)用來說,或許處理器有足夠的空閑周期。與此類似,為了最小化數(shù)據(jù)傳輸所需要的周期,要計算處理器的每一個周期,還要考慮傳輸容量和DMA傳輸?shù)念愋汀?/p>

            如你所見,車載網(wǎng)關(guān)的架構(gòu)需要考慮若干性能因素。至少網(wǎng)關(guān)需要滿足所掛的接口對帶寬和延遲時間的要求,解決方案必須具有用戶可定制性、成本低廉并具有魯棒性以維持競爭力。

            網(wǎng)關(guān)需要解決的問題

            針對應(yīng)用的標準零件(ASSP)可以滿足上述需求,但是,主要問題在于它們的功能和特性都是不可改變的。系統(tǒng)設(shè)計工程師如果采用ASSP就幾乎沒有機會將其產(chǎn)品與競爭對手的產(chǎn)品區(qū)別開。在設(shè)計周期中如果考慮增加功能或根據(jù)標準的變化作出調(diào)整的話,設(shè)計變動就會很大。用戶定制ASIC設(shè)計通常需要18-24個月且一次性流片成本高達幾百萬美元。

            另一方面,在日益演變的車載網(wǎng)絡(luò)中采用可編程器件諸如門陣列(FPGA)就具有明顯的優(yōu)勢。FPGA使系統(tǒng)設(shè)計工程師可以根據(jù)其應(yīng)用設(shè)計獨特的功能集,且可以調(diào)整設(shè)計以支持變化的標準和功能集的需求。設(shè)計工程師可以根據(jù)應(yīng)用需要嵌入盡可能多的處理器和DMA控制器。系統(tǒng)總線帶寬和緩沖量也可以根據(jù)應(yīng)用調(diào)整到理想值。這種用戶定制容許設(shè)計工程師選擇理想的成本和性能點。

            此外,可編程邏輯解決方案可以在現(xiàn)場被重新配置并為用戶提供了對新應(yīng)用進行更新?lián)Q代的渠道。基于可編程器件的產(chǎn)品上市時間快。一些FPGA制造商及伙伴公司為汽車應(yīng)用提供知識產(chǎn)權(quán)(IP)核。通過修改RTL參數(shù),用戶可以針對特定的應(yīng)用定制這些IP核。這就可以根據(jù)問題空間來優(yōu)化成本。系統(tǒng)設(shè)計工程師也可以采用定制邏輯增大可用的IP核,從而將其產(chǎn)品與競爭對手的產(chǎn)品區(qū)分開。

            不斷演變的標準和數(shù)據(jù)量大的應(yīng)用諸如導(dǎo)航和視頻顯示需要采用越來越多的IP內(nèi)容來縮短設(shè)計周期,基于可編程邏輯器件的車載網(wǎng)關(guān)和經(jīng)過驗證的IP核具有成本效益,其解決方案的靈活性很高。



          評論


          相關(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); })();