一、車載網絡概述
汽車電子化程度與日俱增,應用在車上的ECU模塊數量也隨之增加,從而使線束也增加。汽車電子系統的成本已經超過總成本的20%,并且還將繼續增加。由于汽車生產商對制造成本的嚴格控制,加上對車身質量的控制,減少線束已經成為一個必須要解決的問題。另一方面,以網絡通訊為基礎的線控技術(X-by-wire)將在汽車上普遍應用。因此,車載網絡時代終將來臨。
車載網絡種類有很多種,應用較多的有LIN,CAN、FlexRay、TIP/C、SAEJ1850、TFCAN、ASRB、MOST等。美國汽車工程師協會(SAE)根據速率將汽車網絡劃分為A、B、C3類。
A類總線標準包括TTP/A(Time Triggered Protocol/A)和LIN(Local Interconnect Net-work),其傳輸速率較低。①TTP/A協議最初由維也納工業大學制定,為時間觸發類型的網絡協議,主要應用于集成了智能變換器的實時現場總線。②LIN是在1999年由歐洲汽車制造商Audi、BMW、DaimlerChrysler、Volvo、Volkswagen、VCT公司以及Motorola公司組成的LIN協會共同努力下推出的用于汽車分布式電控系統的開放式的低成本串行通訊標準,從2003年開始得到使用。
B類標準主要包括J1850、VAN,低速CAN。①1994年SAE正式將J1850作為B類網絡標準協議。最早,SAEJ1850被用在美國Ford,GM以及Chrysler公司的汽車中。現在,J1850協議作為診斷和數據共享被廣泛應用在汽車產品中。②VAN標準是ISO1994年6月推出的,它基于ISO11519-3,主要為法國汽車公司所用。但目前就動力與傳動系統而言,甚至在法國也集中應用CAN總線。③CAN是德國BOSCH公司從20世紀80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通訊協議。低速CAN具有許多容錯功能,一般用在車身電子控制中,而高速CAN則大多用在汽車底盤和發動機的電子控制中。
C類總線標準主要包括TTP/C,FlexRay和高速CAN(ISO11898-2)。都用于與汽車安全相關以及實時性要求比較高的地方。如動力系統,其傳輸速率比較高,通常在125kb/s到10Mb/s之間,必須支持實時的周期性的參數傳輸。①TTP/C協議由維也納工業大學研發,基于TDMA(Time Division Multiple Access)分時多址的訪問方式。②FlexRay是BMW、Daimler Chrysler、Motorola和Philips等公司制定的功能強大的網絡通訊協議。基于TDMA的確定性訪問方式,具有容錯功能及確定的通訊消息傳輸時間,同時支持事件觸發與時間觸發通訊,具備高速率通訊能力。③歐洲的汽車制造商基本上采用的都是高速CAN總線標準ISO11898。總線傳輸速率通常在125kb/s~1Mb/s之間。然而,作為一種事件驅動型總線,CAN無法為下一代線控系統提供所需的容錯功能或帶寬,因為X-by-wire系統實時性和可靠性要求都很高,必須采用時間觸發的通訊協議,如TTP/C或F1exRay等。
二、FlexRay協議
FlexRay是由FlexRay共同體(FlexRayConsortium)制定的協議。該共同體為一企業合作組織,成立于2000年。到2005年,FlexRay共同體的7個,核心成員是:BMWGROUP、BOSCH、DaimlerChrysler、GM、Motorola/Freescale、PHILIPS和VWAG。除此之外,它還有超過93個協作和發展成員。從2002年發布的V0.4.3協議規范到2005年的V2.1協議規范,共發布多達7個版本。
F1exRay網絡是一種高傳輸速率(每通道10Mb/s)的時間觸發型網絡。采用分時多址方式對總線進行訪問,具有確定性和容錯功能。非常適合于下一代汽車線控系統或分布式控制系統的通訊要求。
(一)拓撲結構(Topology)
共有3種網絡拓撲結構,即:總線型(Bus)、星型(Star)和混合型(Hybrid)。而每一種類型都有單通道(SingleChannel)和雙通道(DualChannel)之分。在星型結構中,還存在聯級方式。總線型如圖1所示,單、雙通道聯級星型如圖2、圖3所示,單、雙通道混合型結構如圖4、圖5所示。
(二)節點(Node)的內部邏輯結構
主要由電源供給系統(Power Supply),總線驅動器(Bus Driver,簡稱BD)、總線監控邏輯(Bus Guardian,簡稱BG)、固化有FlexRay通訊協議的通訊控制器(CommunicationController,簡稱CC)及主機(Host)5個部分組成,如圖6所示。其中BD和BG的個數對應于通道數,而BG是用于避免通道定時錯誤的一個獨立部分,與通訊控制器和微處理器相連。總線監控邏輯必須獨立于其他的通訊控制器。節點的兩個通訊過程如下。
a.發送數據主機(Host)將有效的數據送給通訊控制器(CC),在通訊控制器中進行編碼,形成數據位流(bitstream),通過總線驅動器(BD)發送到相應的通道上。
b.接收數據在某一時刻,由總線驅動器訪問總線,將數據位流送到通訊控制器進行解碼,將有效數據部分由通訊控制器送給主機Host。
(三)FlexRay網絡通訊協議
FlexRay網絡通訊協議主要體現在4個核心機制上:編碼與解碼(encoding and decoding)、媒體接入控制(Media Access Control)、數據幀與特征符處理(frame and symbol processing)和時鐘同步(clock synchronization)。除此之外,控制器主機接口(controller Hostinter face,簡稱CHI)為實現這些機制提供數據傳輸服務。
1.編碼與解碼(encoding and decoding)
編碼的過程實際上就是對要發送的數據進行相應處理的過程,如加上各種校驗位、ID符等。解碼的過程就是對接收到的數據幀進行“解包”的過程。編碼與解碼主要發生在通訊控制器與總線驅動器之間的通訊,如圖7所示。
其中RxD為接收信號,TxD為發送信號,TxEN為通訊控制器請求數據信號。信息的二進制表示采用“不歸零”碼。對于雙通道的節點,每個通道上的編碼與解碼的過程是同時完成的。編碼與解碼的過程主要由3個過程組成:主編碼與解碼過程(CODEC)、位過濾(bitstrobing)過程和喚醒模式解碼過程(WUPDEC)。以主編碼與解碼過程(CODEC)為主要過程。
1)幀編碼
傳輸起始序列(transmission start sequence,簡稱TSS),為一段時間的低電平,用于初始化傳輸節點與網絡的對接。幀起始序列(frame start sequence,簡稱FSS),為一小段時間的高電平,緊跟在傳輸起始序列(TSS)之后。
字節起始序列(byte start sequence,簡稱BSS),由一段高電平和一段低電平組成,位于FSS之后。給接收方節點提供定時信息。
幀結束序列(frame end sequence,簡稱FES),由一段低電平和一段高電平組成,位于有效數據位之后。如果是在動態時序部分接入網絡,則還要在FES后附加上DTS——動態尾部序列(Dynamic trailing sequence)。
將這些序列與有效數據位(從最大位MSB到最小位LSB)“組裝”起來就是編碼過程,最終形成能夠在網絡傳播的數據位流。此外,低電平的最小持續時間為一個gdBit。圖8與圖9分別為靜態和動態部分的幀編碼。
2)特征符編碼
F1exRay,協議有3種特征符:沖突避免特征符(collision avoidance symbol,簡稱CAS)、媒體接入測試特征符(Media access test symbol,簡稱MTS)和喚醒特征符(wake up symbol,簡稱WUS)。對CAS和MTS采用完全相同的方式進行編碼,對喚醒特征符(WUS)采用另一種模式編碼。
節點對傳輸沖突避免特征符(CAS)和媒體接入測試特征符(MTS)的編碼,是跟隨在傳輸起始序列(TSS)之后的一段時間長為cdCAS(為某一具體數值)的低電平,如圖10所示。
節點對喚醒特征符(WUS)的編碼并沒有采用輔助信號TSS,隨TxEN的邊沿觸發同步于TxD信號進行傳輸一個喚醒特征符(WUS),如圖11所示。
幀與特征符解碼的過程就是編碼的逆過程。這里不再贅述。
2.數據幀格式(FormatofFrame)
一個數據幀由幀頭(HeaderSegment)、有效數據(PayloadSegment)和幀尾(TrailerSegment)多個部分組成。FlexRay數據幀格式如圖12所示。
1)幀頭部分
共由5個字節(40個位)組成。包括保留位(Reserved bit,1位)、數據指示位(Pay load Preamble indicator,1位)、空幀指示位(Null frame indicator,1位)、同步幀指示位(Sync frame indicator,1位)、啟動幀指示位(Start up frame indicator,1位)、ID(11位)、有效數據長度(7位)、頭部循環校驗CRC(11位)和循環計數(6位)。
2)有效數據部分
可由0-254個字節或0-127個字組成。在圖12中分別以Data0、Data1…Data253表示。在幀的CRC校驗中,有效數據部分的前6個字節設為海明距離(Hamming Distance)。當數據超過248字節時,海明距離為4個字節。
在動態時序部分,有效數據部分的頭兩個字節通常用作消息識別域(messageIDfield)。消息識別(又叫消息ID)標明應.用數據的物理內容,僅僅用于在動態時序傳輸的數據幀,長度為16位。在傳輸節點中,消息ID是由主機將其作為應用數據而寫入的,通訊控制器(CC)并不能夠對消息ID進行識別。在接收節點中,對一個幀的存儲依靠于利用消息ID而進行過濾處理的結果,如圖13所示。
在靜態時序部分,有效數據部分的頭13個字節(DataO-Data12)通常用作網絡管理向量(networkmanagementvector,簡稱NM)。在同一個簇內,所有的節點應具有相同長度的網絡管理向量,僅僅用于在靜態時序傳輸的數據幀,長度為8位,如圖14所示。
3)幀尾部分
只含有單個的數據域,即一個24位的CRC。FlexRay的CRC計算是遵循一定的運算法則。包括幀頭CRC計算和數據幀CRC計算。
3.媒體接入控制(Media Access Control)
在媒體接入控制中,一個重要的概念就是通訊周期(communicationcycle)。在一個通訊周期內,FlexRay提供兩種媒體接入時序的選擇:一種是靜態的分時多址接入時序(TDMA);一種是動態的基于最小時間片(mini-slotting)時序。
在1個通訊周期內,有4個時間等級(timing hierarchy),從最低層到最高層分別是:最小時間節拍層(microtick)、最大時間節拍層(macrotick)、仲裁網格層(arbitrationgrid)和通訊周期層。如圖15所示。
在最高層即通訊周期層,由靜態部分、動態部分、特征窗和網絡閑置時間(NIT)4個部分組成。在靜態部分采用的是TDMA方式;在特征窗的這段時間內主要傳輸的是特征符。
僅次于最高層就是仲裁網格層,仲裁網格層形成FlexRay的媒體接入仲裁的核心,它解決的是采用何種方式接入媒體。在動態部分,仲裁網格由若干個最小時間片(minislot)組成。
1)靜態部分
在該時間段內由若干個靜態時間片(staticslot)組成,每個時間片的長度都相等。不同的節點根據全局時間判斷在某一時刻開始接收或發送某一特定的數據幀(flameID)。為了確定這一時刻每個節點的每一個通道上.都含有一個時間片計數器,兩個計數器是同步計數的。例如有3個節點,分別為node1、node2和node3。假設靜態部分開始于00:10,節點在時間上的順序為1-2-3,那么node1將在00:10這一時刻開始在兩個通道上傳輸flameID1;在00:20時刻node2開始在一個通道上傳輸flameID2;node3在00:30開始傳輸,即使沒有數據幀。如圖16所示。
2)動態部分
采用的是基于最小時間片的時序,由若干個最小時間片組成,最小時間片的長度都相等。幀的長度是可變的,而且與靜態部分相比,動態部分的兩個時間片計數器是獨立計數的,在不傳輸數據幀時,計數器以minislot為周期進行加1計數,在傳輸數據幀時計數器不工作。兩個通訊通道不必同步。一個動態時間片(Dynamicslot)包含一個或多個minislot。如圖17所示。
4.時鐘同步
簇內所有的節點都應有相同的“時間觀”,就好像全國都遵守一個標準的全局時間——北京時間。但這并不意味著節點間具有完全嚴格的同步時間,只要節點間的時間差保持在允許的誤差范圍內即可。由上述可知FlexRay的時間等級制度:若干個最小時鐘節拍構成一個最大時鐘節拍,而若干個最大時鐘節拍又構成通訊周期的一個單元。最小時鐘節拍是由通訊控制器(CC)的外部晶振提供,對于不同的控制器,最小時鐘節拍可能會不相同;在一個簇內所有同步節點的最大時鐘節拍都相等。
時鐘同步包含兩個主要過程:最大時鐘節拍產生過程(MTG)和時鐘同步過程(CPS)。如圖18所示。MTG控制時間片計數器初值,并對其進行修正。時鐘同步過程(CPS)主要完成一個通訊周期開始的初始化,測量并存儲時間偏差值,計算頻率與相位的修正值。時間偏差可以分為相位(offset)和頻率(rate)偏差。相位偏差是兩個時鐘在某一特定時間的絕對差別頻率偏差是相位.偏差隨著時間推移的變化,它反映了相位偏差在特定時間的變化。FlexRay同時對頻率與相位進行修正。節點計算數據幀到達的實際時刻,并與理論上的預測時刻比較,得到的值就是發送節點與接收節點的時間偏差,并采取一定的算法進行修正,最終使簇內的節點上的時間實現“同步”。
5.喚醒與啟動(wakeup and startup)
喚醒針對的是電源管理系統。有些節點在不工作時處于“節電”模式(power-savingmode),當再次投入工作時就需要“喚醒”該節點;單個節點可喚醒整個組群;主機可在通訊信道上傳輸喚醒模式(wakeup-pattern)。節點通過收發器進行喚醒:當節點的收發器接收到喚醒特征符(wakeup-symbol)后,對主機處理器和通訊控制器進行上電。
只有將節點喚醒后,才能啟動節點工作。初始化一個啟動過程稱為“冷啟動(coldstart)”,能進行冷啟動的節點數目是有限的。系統的啟動由兩個邏輯步驟組成:①冷啟動節點啟動;②其他非冷啟動節點通過接收啟動幀,與冷啟動節點整合到一起。
三、FlexRay展望
FlexRay以其確定的網絡通訊、高速的數據傳輸及強大的容錯功能,很可能成為將來汽車上的底盤系統、動力系統及線控系統的ECU通訊新的標準,并取代高速TTCAN網絡。2005年10月,Philips推出了全球第一個FlexRay系統解決方案,包括一個收發器和一個攜帶嵌入式FlexRay2.1版本通訊控制器且基于ARM的微控制器。2006年1月,飛利浦半導體公司推出了面向主動安全系統的FlexRay2.1系統解決方案。該解決方案包括兩個主要部分:TJA1080收發器和包含一個ARM9微控制器并且完整集成FlexRay2.1版本的SJA2510通訊控制器。目前德國寶馬汽車公司承認它將采用FlexRay作為主動懸架中用于節氣閥控制的數據高速鏈路,在2006年末或2007年初基本實現生產。此外,FlexRay的評估套件也已經推出。相信在不久的將來,FlexRay必定成為新一代車載網絡的“排頭兵”。
責任編輯:gt
-
控制系統
+關注
關注
41文章
6655瀏覽量
110769 -
汽車電子
+關注
關注
3028文章
8005瀏覽量
167552 -
拓撲
+關注
關注
4文章
341瀏覽量
29646
發布評論請先 登錄
相關推薦
評論