汽車網(wǎng)關(guān)成為車載網(wǎng)絡(luò)集成的先鋒
為了將不同的數(shù)據(jù)總線集成在一起,網(wǎng)關(guān)必須提供帶寬和反應(yīng)時(shí)間。
對電子系統(tǒng)設(shè)計(jì)工程師而言,汽車工業(yè)正在進(jìn)入一個(gè)令人鼓舞而充滿挑戰(zhàn)的時(shí)期,諸如信息娛樂、遙感測試、安全和控制等應(yīng)用需要若干種聯(lián)網(wǎng)標(biāo)準(zhǔn)。為了給大多數(shù)應(yīng)用選擇用戶需要且功能強(qiáng)勁的合適總線,設(shè)計(jì)工程師面臨繁重的任務(wù)。
汽車電子市場與數(shù)據(jù)通信、電信和消費(fèi)電子并沒有什么不同,可選擇的聯(lián)網(wǎng)協(xié)議很多,各有優(yōu)缺點(diǎn)。一種協(xié)議不可能滿足所有汽車應(yīng)用的需求。
汽車網(wǎng)絡(luò)通??梢苑譃槿悾?/p>
車身控制:要求具有高帶寬、高可靠性和數(shù)據(jù)完整性;
信息娛樂:要求高帶寬及對音視頻的實(shí)時(shí)處理能力;
安全:傳統(tǒng)的液壓和傳感器正在被線控駕駛和剎車方法所取代。
為了儲(chǔ)存來自這些網(wǎng)絡(luò)的數(shù)據(jù)并進(jìn)行處理,需要采用網(wǎng)關(guān)實(shí)現(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非常便宜、容錯(cuò)能力強(qiáng),因而是重要的網(wǎng)絡(luò)協(xié)議。根據(jù)ABI Research的“車載網(wǎng)絡(luò)研究報(bào)告”(2004年第四季度)預(yù)測,到2010年大約將安裝5.28億個(gè)汽車CAN節(jié)點(diǎn)。
MOST(多媒體傳輸協(xié)議)滿足了視頻和音頻功能的需求,它在塑料光纖上以24Mbps的速率支持同步和異步數(shù)據(jù)傳輸。DVD播放機(jī)、頂置播放器、GPS器件和顯示器等裝置都需要采用MOST收發(fā)器。MOST聯(lián)盟已經(jīng)定義了MOST互連標(biāo)準(zhǔn)及軟件應(yīng)用接口標(biāo)準(zhǔn)。MOST是一種富有彈性且高度可靠的網(wǎng)絡(luò)標(biāo)準(zhǔn)。
目前,剎車和方向盤都采用液壓機(jī)械方法來控制,將來的汽車要取代液壓機(jī)械,采用基于FlexRay的控制器來實(shí)現(xiàn)線控,包括線控剎車和線控方向盤。這種基于導(dǎo)線的網(wǎng)絡(luò)速度快、容錯(cuò)能力強(qiáng)。FlexRay以大約10Mbps的速率支持同步和異步數(shù)據(jù)傳輸,它確保數(shù)據(jù)穩(wěn)定傳輸、容錯(cuò)和對消息的反應(yīng)時(shí)間,并以雙通道模式提供冗余措施。
以太網(wǎng)
除了上述車載網(wǎng)絡(luò)標(biāo)準(zhǔn)之外,典型的網(wǎng)關(guān)包括若干其它接口。以太網(wǎng)就是一種適用于診斷和作為服務(wù)接口的、應(yīng)用廣泛的網(wǎng)絡(luò)標(biāo)準(zhǔn)。其硬件成本低、應(yīng)用軟件隨處可得。因?yàn)樵摻涌诒挥糜谠\斷,因而不具備容錯(cuò)和抗噪聲能力。要處理來自CAN、MOST和Flexray網(wǎng)絡(luò)的數(shù)據(jù),需要嵌入式處理器。該處理器對數(shù)據(jù)進(jìn)行分拆、聚合并完成類型轉(zhuǎn)換。以太網(wǎng)接口要一個(gè)嵌入式處理器來運(yùn)行TCPIP棧。片外存儲(chǔ)器可以存儲(chǔ)程序代碼。為了儲(chǔ)存來自嵌入式網(wǎng)絡(luò)的臨時(shí)數(shù)據(jù),可能需要增加額外的存儲(chǔ)器。
設(shè)計(jì)因素
系統(tǒng)設(shè)計(jì)工程師設(shè)計(jì)汽車網(wǎng)關(guān)的時(shí)候,可能需要作出許多決策,其中包括:
哪些網(wǎng)絡(luò)需要橋接?
采用什么橋拓?fù)?
需要DMA(直接存儲(chǔ)器訪問)嗎?
數(shù)據(jù)緩沖區(qū)要多大?
內(nèi)部數(shù)據(jù)交換需要采用什么總線?
該總線寬度應(yīng)該是多少?
需要采用什么仲裁機(jī)制?
需要多少處理能力?
上述問題取決于你所設(shè)計(jì)的系統(tǒng)和應(yīng)用。然而,也有一些必須處理的共性問題。顯然,CAN、MOST和Flexray是不同的協(xié)議,它們的有效載荷、數(shù)據(jù)率和對實(shí)時(shí)處理的需求都不一樣,網(wǎng)關(guān)必須能夠有效地處理所有來自這些接口的進(jì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í)鐘頻率和帶寬匹配,從而使數(shù)據(jù)在處理器和網(wǎng)絡(luò)接口之間有效地傳輸。系統(tǒng)總線線必須滿足所有接口對帶寬的需求,合計(jì)每個(gè)網(wǎng)絡(luò)協(xié)議的累計(jì)最大帶寬就是一個(gè)基本的近似值。
例如一個(gè)網(wǎng)絡(luò)有四個(gè)CAN節(jié)點(diǎn)(4 Mb/s)、一個(gè)MOST (24 Mb/s)、一個(gè)FlexRay (10 Mb/s)和一個(gè)以太網(wǎng)(100 Mb/s),因而總帶寬為138 Mb/s。它可以由運(yùn)行在10MHz的16位總線構(gòu)成。然而,總帶寬并不能滿足全部要求。每一個(gè)系統(tǒng)總線周期都有其用途。尋址和編碼周期消耗了可用的帶寬。目標(biāo)器件諸如存儲(chǔ)器控制器或網(wǎng)絡(luò)接口在采集必要數(shù)據(jù)時(shí)有時(shí)會(huì)插入等待狀態(tài)。兩種情況都需要額外增加帶寬--或者提高速度或者增加系統(tǒng)總線的寬度。
另外一個(gè)重要的考慮是有效載荷和延遲時(shí)間。CAN節(jié)點(diǎn)以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ù)包之中。第二個(gè)需要考慮的問題是,對于1 Mb/s的輸入CAN速率的系統(tǒng)數(shù)據(jù)包,緩沖足夠的數(shù)據(jù)可能會(huì)招致CAN數(shù)據(jù)出現(xiàn)很大的延遲。另一種極端情況要配置系統(tǒng)的傳輸容量,以便傳輸1到4個(gè)字節(jié)的極低有效載荷。在此,過高的帶寬對于尋址和編碼來說會(huì)浪費(fèi)開銷周期。
MOST和Flexray都是面向重要的實(shí)時(shí)應(yīng)用。例如,來自MOST網(wǎng)絡(luò)上CD播放機(jī)的音頻流就是以固定速率傳輸?shù)?。音頻和視頻要求實(shí)時(shí)傳輸。系統(tǒng)總線必須確保來自諸如CD播放機(jī)之類的網(wǎng)絡(luò)數(shù)據(jù)不出現(xiàn)明顯的延遲。沒有人愿意看到音頻播放機(jī)上出現(xiàn)間隔或回聲。造成延遲的原因是緩沖數(shù)據(jù)太多--數(shù)據(jù)緩沖量太大且大小不當(dāng)?shù)南到y(tǒng)傳輸影響了延遲和實(shí)時(shí)性能。選擇系統(tǒng)總線速度和數(shù)據(jù)包的大小將確定網(wǎng)關(guān)中每一個(gè)接口所需要的緩沖量。必須確定緩沖量的大小以維持帶寬并滿足掛在車載網(wǎng)絡(luò)上的設(shè)備對實(shí)時(shí)要求傳輸性能的要求。
在理想的架構(gòu)中,嵌入式處理器大部分僅僅用于處理。然而,處理器周期卻被諸如中斷響應(yīng)和數(shù)據(jù)搬移之類的功能所消耗。為了讓處理器以最高效率運(yùn)行,數(shù)據(jù)搬移操作可由專用硬件元件來擔(dān)當(dāng)。DMA控制器就是用于在網(wǎng)關(guān)接口(例如MOST接口)和存儲(chǔ)器或其它接口之間傳輸數(shù)據(jù)的嵌入式硬件模塊。對處理器進(jìn)行配置之后,DMA控制器在后臺(tái)傳輸數(shù)據(jù),而嵌入式處理器則處理應(yīng)用數(shù)據(jù)。
網(wǎng)關(guān)設(shè)計(jì)工程師在此有幾種設(shè)計(jì)選擇,最重要就是是否需要DMA控制器。這取決于嵌入式處理器架構(gòu)。對于執(zhí)行數(shù)據(jù)傳輸應(yīng)用來說,或許處理器有足夠的空閑周期。與此類似,為了最小化數(shù)據(jù)傳輸所需要的周期,要計(jì)算處理器的每一個(gè)周期,還要考慮傳輸容量和DMA傳輸?shù)念愋汀?/p>
如你所見,車載網(wǎng)關(guān)的架構(gòu)需要考慮若干性能因素。至少網(wǎng)關(guān)需要滿足所掛的接口對帶寬和延遲時(shí)間的要求,解決方案必須具有用戶可定制性、成本低廉并具有魯棒性以維持競爭力。
網(wǎng)關(guān)需要解決的問題
針對應(yīng)用的標(biāo)準(zhǔn)零件(ASSP)可以滿足上述需求,但是,主要問題在于它們的功能和特性都是不可改變的。系統(tǒng)設(shè)計(jì)工程師如果采用ASSP就幾乎沒有機(jī)會(huì)將其產(chǎn)品與競爭對手的產(chǎn)品區(qū)別開。在設(shè)計(jì)周期中如果考慮增加功能或根據(jù)標(biāo)準(zhǔn)的變化作出調(diào)整的話,設(shè)計(jì)變動(dòng)就會(huì)很大。用戶定制ASIC設(shè)計(jì)通常需要18-24個(gè)月且一次性流片成本高達(dá)幾百萬美元。
另一方面,在日益演變的車載網(wǎng)絡(luò)中采用可編程器件諸如門陣列(FPGA)就具有明顯的優(yōu)勢。FPGA使系統(tǒng)設(shè)計(jì)工程師可以根據(jù)其應(yīng)用設(shè)計(jì)獨(dú)特的功能集,且可以調(diào)整設(shè)計(jì)以支持變化的標(biāo)準(zhǔn)和功能集的需求。設(shè)計(jì)工程師可以根據(jù)應(yīng)用需要嵌入盡可能多的處理器和DMA控制器。系統(tǒng)總線帶寬和緩沖量也可以根據(jù)應(yīng)用調(diào)整到理想值。這種用戶定制容許設(shè)計(jì)工程師選擇理想的成本和性能點(diǎn)。
此外,可編程邏輯解決方案可以在現(xiàn)場被重新配置并為用戶提供了對新應(yīng)用進(jìn)行更新?lián)Q代的渠道?;诳删幊唐骷漠a(chǎn)品上市時(shí)間快。一些FPGA制造商及伙伴公司為汽車應(yīng)用提供知識(shí)產(chǎn)權(quán)(IP)核。通過修改RTL參數(shù),用戶可以針對特定的應(yīng)用定制這些IP核。這就可以根據(jù)問題空間來優(yōu)化成本。系統(tǒng)設(shè)計(jì)工程師也可以采用定制邏輯增大可用的IP核,從而將其產(chǎn)品與競爭對手的產(chǎn)品區(qū)分開。
不斷演變的標(biāo)準(zhǔn)和數(shù)據(jù)量大的應(yīng)用諸如導(dǎo)航和視頻顯示需要采用越來越多的IP內(nèi)容來縮短設(shè)計(jì)周期,基于可編程邏輯器件的車載網(wǎng)關(guān)和經(jīng)過驗(yàn)證的IP核具有成本效益,其解決方案的靈活性很高。