FlexRay幾乎已經成為業界公認的車用網路標準,從技術層面來看,FlexRay的通訊速度是目前各種介面中最快,與實現線控煞車、線控轉向等功能不可或缺的網路技術,能使車體重量得以減輕,各個安全裝置的連動也比較容易實現。相較其他協定,FlexRay顯著的優勢在於同時支援時間觸發和事件觸發通訊。網路拓樸則可同時採用匯流排與星狀拓樸,彈性相當大。此外FlexRay且同時採用靜態段與動態段兩種傳送權分配方式,使得開發的靈活性大增,不僅能夠提高可用性,也可提高吞吐量。
FlexRay幾乎已經成為業界公認的車用網路標準,從技術層面來看,FlexRay的通訊速度是目前各種介面中最快,與實現線控煞車、線控轉向等功能不可或缺的網路技術,能使車體重量得以減輕,各個安全裝置的連動也比較容易實現。相較其他協定,FlexRay顯著的優勢在於同時支援時間觸發和事件觸發通訊。網路拓樸則可同時採用匯流排與星狀拓樸,彈性相當大。此外FlexRay且同時採用靜態段與動態段兩種傳送權分配方式,使得開發的靈活性大增,不僅能夠提高可用性,也可提高吞吐量。
以個人電腦為中心的資訊產業高度成熟化之後,業界開始探索汽車電子(Car Electronics)。汽車電子無疑替電子產業帶來新希望,當今高級車內部安置70個以上的電子控制單元(ECU)不足為奇。由於各廠商的車種與外型大相逕庭,ECU的設置位置也必然不同,唯有依靠網路連接才能克服難題。相對的,網路化也代表複雜化,隨著嶄新應用型態的增加,資料量與處理能力大增,需要強而有力的網路功能才足以因應(圖1)。
汽車電子化程度增加,使傳統車載網路難以承擔龐大資料量。若以宏觀角度來看現有車載網路協定,典型範例包括:控制器區域網路(Controller Area Network, CAN)、時間觸發控制器區域網路(Time Triggered CAN, TTCAN)、列車通訊網(Train Communication Network, TCN)、採C級網路的時間觸發協定(Time Triggered Protocol by Class C, TTP/C),以及Byteflight等。
由圖2可看出,各種車用網路協定各自有其不同定位。其中,CAN協定是基於美國汽車技術協會(Society of Automotive Engineers, SAE)制訂的SAE-J2284規格,美國通用汽車(GM)即是採用SAE-J2411單線規格。
在圖2右上方的媒體導向系統傳輸(Media Oriented Systems Transport, MOST)是由Oasis Silicon Systems、BMW、Becker Radio與戴姆勒克萊斯勒等汽車相關產業大廠共同開發的介面匯流排,資料最高傳送速度可達到400Mbit/s。在1998年,這些大廠也成立了 MOST協會(MOST Consortium),提案以低價而有效率的光纖網路來達成大量串流資料的傳送接收。
FlexRay則是一種汽車區域網路協定,資料傳輸率可達10Mbit/s,採用能在傳送匯流排內預先定義必要時間的匯流排系統,具有較高的可靠性。美國、歐洲和亞洲的許多汽車製造業者已加入FlexRay協會。
CAN致命傷在於通訊速度不足
汽車的內在本質就是一種「控制網路」。其中,在車體系統與傳動系統(Power Train)上最普及的是CAN協定,可是CAN先天的致命傷就是最高通訊速度僅有1Mbit/s。隨著ECU數量增加,資料存取速度明顯受限。二來, CAN的存取方式是「事件觸發(Event Driven)」,也就是發生事件後進行處理,若是從系統設計端的角度來觀察,要知道事件引發原因,在實作上是有困難的。
因此,CAN的存取方式無法保證安全性,在安全第一的前提下,廠商開始思索以分時多工存取(TDMA)為存取方式,也就是通訊速率高達25Mbit/s的TTP/C。
FlexRay採TDMA高速存取方式
以此為基礎,FlexRay的第一版規格在2000年完成。核心會員廠商包括BMW、戴姆勒克萊斯勒、飛思卡爾(當時為摩托羅拉)、飛利浦、博世 (Bosch)、通用汽車等公司,共組FlexRay聯盟,2004年7月公開2.0版協定,2.1版則在2005年春季發布。TTC與FlexRay原本是彼此競爭的規格,然而在2003年8月,德國大廠福斯汽車促成兩者的整合,豐田汽車也在2003年10月加入。
FlexRay之所以備受矚目,甚至成為業界公認標準,原因其實有跡可循。第一,從技術層面來看,FlexRay的通訊速度是目前各種介面中最快的。第二,FlexRay是實現線控煞車、線控轉向,也就是實現X-by-wire不可或缺的網路技術(圖3)。第三,與使用傳統機械元件相較,車體重量得以減輕,各個安全裝置的連動也比較容易實現。第四,歐美日業者針對相關的大型積體電路(LSI)控制器已展開激烈競爭(圖4)。
在此補充說明X-by-wire,這是將油壓等機械方式來實現操控與制動功能的做法改用電氣傳動裝置(Actuator)或馬達電子來控制的技術,一般譯為線控,例如線控驅動、線控駕駛等。X-by-wire可提升汽車性能,例如使用於油壓控制系統,可省掉機械元件,減輕汽車重量。由於比起傳統方式能夠更細膩地控制,安全性可顯著提升。例如利用車載相機可以自動檢測危險狀況,而進行自動煞車(圖5)。
比較CAN與FlexRay,不難發現兩者在用途、資料載送速度、通訊方式與錯誤處理對應方式等方面的差異。首先就用途面而言,FlexRay傾向於汽車底盤、傳動系統的構成系統接續;而CAN則是連結儀表、車門、汽車空調等車體系統。因此兩者需求的資料傳輸速度與可靠性在先天上即不同(圖6)。
為了將行車事故損害程度減到最低程度,連結行車系統的FlexRay必須短縮取得傳送權的等待時間,並且降低網路故障率。目前市面上常見的線控駕駛網路系統,實際傳送速度約在5Mbit/s,CAN的實際速度則約在500kbit/s。
雖然FlexRay車載系統的發展目標之一就是取代CAN,不過,業界已經採用十幾年的CAN和LIN匯流排,目前仍足以勝任。事實上,FlexRay未必會對LIN應用,例如雨刷和電動車窗等控制產生太大的影響,因為這些都僅限於局部控制,不須與汽車其他元件進行大量通訊,而且只需很低的數據頻寬。
同時支援時間觸發與事件觸發通訊
與其他協定相較,FlexRay顯著的優勢在於同時支援時間觸發(Time Trigger)通訊和事件觸發(Event Trigger)通訊,CAN則是採用事件觸發型。時間觸發型的優點在於即時確定性,也就是資料傳送不會延遲,網路上的各節點在固定的時間槽(Time Slot)進行傳送,也稱為時間驅動型。不過,這種方式相對上比事件觸發型複雜,控制裝置的成本也比較高。事件觸發型的缺點則是當某一節點占用網路時,其他節點的通訊就可能發生遲延。
FlexRay與1394介面一樣,由實體層與資料連結層(Data Link Layer)兩個階層構成,是目前可靠度最高的車內網路規格,當檢測出一定次數的錯誤之後,FlexRay本身可以不動作,而讓應用軟體作出適當處置,這種機制稱為「永不放棄(Never Give-up)」。如果是CAN,則會將節點從匯流排上切離。假設負責煞車控制的ECU以CAN連接,幾次錯誤發生後,若是該ECU被切離,將會威脅行車安全(圖7)。
在市面上可見到控制各層的專用LSI,內建各種16/32位元微控制器核心的FlexRay控制器也日益普及(圖8)。從實體層來看,由於具有 10Mbit/s的傳送速度,因此在設計上必須特別注意電磁相容性問題。上層主機端的應用軟體與實體層以下的連接器外形尺寸,則不在FlexRay規範之內。
拓樸型態具高度彈性
FlexRay的拓樸有兩大類:匯流排與星狀拓樸,也能兩者組合使用。CAN的車內網路大多採用匯流排型,因此擁有眾多技術人力資源,元件成本也較低,是其優勢。反之,星狀拓樸比較容易提高實際資料傳送速度,當故障發生時,也不致影響其他節點(圖9)。
FlexRay能支援上述兩種連接型態,網路設計者必須根據產品屬性與策略,選擇最適當的組合。這兩種拓樸均可支援雙通道ECU,這種ECU整合多個系統級功能,以降低生產成本與複雜性。雙通道架構提供冗餘(Redundancy)功能,並讓可用頻寬提高一倍,每通道最大數據傳輸率達10Mbit/s,足以應付汽車製造商需求。
如同上述,匯流排連接型態的優勢在於採用工程師熟悉的汽車網路架構,有助於控制成本。在需要高頻寬、更短延遲時間或固定行為,且容錯功能並非必需的情況下,匯流排非常有用,典型的應用領域就是直接替換CAN,以滿足頻寬需求。使用星狀拓樸卻可完全解決容錯問題,如果出現意外,星狀的支線可以選擇性切斷。如果匯流排型態纜線長度超過規定限制,星狀拓樸還可以作為重複器(Repeater)來活用,由此可見FlexRay的連接靈活性相當卓越(圖10)。
有些數字必須留意:匯流排連接型態的最長通道距離為24公尺、節點數量為22個,節點之間的最小間隔為15公分。而星狀拓樸除了最長通道距離同樣為24公尺,其他項目並不明確,這是由於電氣特性所導致。
FlexRay使用的存取方式是基於「同步時基」,該時基透過通訊協定自動設定和同步,並提供給應用軟體,時基的精確度介於0.5~10微秒。通訊是在不斷循環的週期中進行,特定訊息在通訊週期中擁有固定位置,因此接收器已經提前知道訊息到達的時間,到達時間的臨時偏差幅度非常小。
採取兩種傳送權分配方式
FlexRay傳送權的分配方式有靜態段(Static Segment)與動態段(Dynamic Segment)兩種,原因就是為了增加FlexRay開發的靈活性。靜態段頻寬分配能夠提高可用性,動態段頻寬分配則可提高吞吐量。
靜態段的頻寬與時間槽在各節點事先已經決定。各節點何時進行傳送,由網路設計者計算最低延遲來決定。傳送規則相當有彈性,可在相當的時間槽對兩個通道送出相同資料框,或可以僅針對某一通道進行傳送,也可以兩個通道都不傳送。此種靜態段的通訊,傾向用於重覆性高與重要性高的資料通訊,例如煞車系統。此外,資料框的延遲時間與節點數量無關,也是一項特徵。
而動態段的頻寬分配可以改變,使用迷你時間槽(Mini Time Slot)的方式,在通訊時可對每個節點、每個通道改變資料框優先順位,優先順位的表示方式就是資料框識別碼,優先順位較高的資料框擁有較大頻寬。動態段通訊用於某個節點需要大頻寬,而靜態段無法插入的時候。此方式在突發狀態、緊急需要動作指令傳送,或是資料量不明的情況下特別有用。
至於如何決定使用靜態段或動態段,或兩者並用,可依據開發時的狀況與用途,由網路設計者自行決定。舉例來說,若不在乎因應規格變更,而首重特定通訊的確定性時,就可選用僅有靜態段的構成。反之,若重視因應規格的快速變動或突發資料的儘早傳達,使用動態段會比較有利(圖11)。
FlexRay不只是單純傳送資料,還具備周邊功能,典型案例包括喚醒、啟動、錯誤管理與異常診斷。喚醒功能可發揮睡眠模式的效果,對於省電是必須的;啟動功能可進行初始化動作;錯誤處理的基本方針則是在各節點的通訊協定作業控制器(POC)發生致命錯誤時,進入系統停止狀態,通常限定於內建自我測試 (BIST)發現錯誤時自發性的處置,一般不會進入系統停止狀態;異常診斷則是以實體層為對象,在資料連結層處理(圖12)。
藉由靜態段與動態段彈性的措施,最大的好處是汽車系統廠可以與元件供應商分攤系統整合開發成本。當然,前提是必須在事先清楚規畫好軟體與ECU執行時序的設計,並借助高性能的開發工具(圖13、14)。