Global Sources
電子工程專輯
 
電子工程專輯 > 網路技術
 
 
網路技術  

車內通訊網路標準FlexRay的功能和特性分析

上網時間: 2005年09月23日     打印版  Bookmark and Share  字型大小:  

關鍵字:FlexRay  同步時基  冗餘通訊  非冗餘通訊  CAN匯流排 

FlexRay標準在車內通訊網路中具有較大優勢和廣泛的潛在應用機會。本文詳細地介紹了FlexRay的數據速率、時脈同步等特性及可能的應用領域,並分析了FlexRay的存取方法、時脈同步和群組啟動等功能。

在FlexRay協議制訂5年後,該協議規格的第二版(V2.1)在2005年春季發佈。由於新技術能實現經濟高效的新應用,整個產業對這個標準產生了濃厚的興趣,本文將探討該標準潛在的應用領域,詳細地介紹在FlexRay中使用的三種機制,並列舉一系列實例來討論FlexRay的幾種應用。此外,本文還將討論可行和不可行的拓樸結構,並簡要論述喚醒群組(Cluster)的場景,以及討論如何運算最佳的訊息訊框大小。

圖1:幾種汽車通訊協定的成
本和速率變比較。

FlexRay的特性

FlexRay提供了傳統車內通訊協定所不具備的大量特性,包括:

a. 2×10Mbps的數據速率


FlexRay支援兩個通訊訊息通道,每個訊息通道的速度達到10Mbps。與CAN協議相較,它能將可用頻寬提高10-40倍,具體大小取決於配置和對比模式的不同。

b. 同步時基


FlexRay中使用的存取方法是基於同步時基的。該時基透過協議自動設立和同步,並提供給應用。時基的精確度介於0.5μs和10μs之間(通常為1-2μs)。

圖2:帶靜態和動態段的通訊週期。

c.知道訊息的到達時間


通訊是在不斷循環的週期中進行的,特定訊息在通訊週期中擁有固定位置,因此接收器已經提前知道了訊息到達的時間。到達時間的臨時偏差幅度會非常小,並能得到保證。

d. 冗餘和非冗餘通訊


為了增強系統的可用性,FlexRay提供了冗餘傳輸訊息的選項。訊息能夠冗餘傳輸,但並不是所有訊息都必須冗餘傳輸,否則會導致頻寬的過多損耗。

e. 靈活性


在FlexRay協議的開發過程中,關注的主要問題是靈活性。不僅提供訊息冗餘傳輸或非冗餘傳輸兩種選擇,系統還可以進行最佳化,以提高可用性(靜態頻寬分配)或吞吐量(動態頻寬分配)。用戶還可以擴展系統,而無需調整現有節點中的軟體。同時,還支援匯流排或星型拓樸。FlexRay提供了大量配置參數,可以支援對系統進行調整,如通訊週期的持續時間、訊息長度等,以滿足特定應用的需求。

應用領域

上面列出的這些特性使FlexRay適合於很多應用領域,包括:

1.替代CAN匯流排

圖3:時脈同步機制。


在數據速率要求超過CAN的應用中,人們現在同時使用了兩條或多條CAN匯流排。FlexRay是替代這種多匯流排解決方案的理想技術。

2.骨幹網路


FlexRay具有很高的數據速率,因而非常適合於汽車骨幹網路,用於連接多個獨立網路。

3.即時應用,分散式控制系統


用戶可以提前知道訊息到達時間,訊息週期偏差非常小,這使得FlexRay成為具有嚴格即時要求的分散式控制系統的首選技術。

4.針對安全的系統


FlexRay本身不能確保系統安全,但它具備大量功能,可以支援針對安全的系統(如線控系統)設計。

在車內通訊方面,FlexRay提供了從事件驅動的CAN通訊轉換到時間驅動通訊的一個轉換範例。這種轉換需要一定時間,因為它不僅會影響新技術的導入,還要求對涉及到的所有人員都進行重新培訓。一旦這個轉換步驟完成,就可以發現更多的應用領域。

功能和機制分析

1.存取方法

圖4:FlexRay 群組啟動。


FlexRay的通訊是在逐週期中進行的,一個通訊週期始終由靜態部份和網路閑置時間(NIT)組成。協議內部流程需要網路閑置時間,在這個時段內,群組的節點之間不進行任何通訊(見圖2)。

通訊週期的靜態部份基於時分多址(TDMA)技術。該技術將固定時隙分配給各個節點,在這個時隙內,允許節點傳輸數據。所有時隙大小相同,並且是從‘1’開始向上編號。將一個或一個以上的時隙固定分配給每個節點。在執行期間,該時隙的分配不能修改。

除了靜態部份以外,通訊週期還可以選擇性地組成動態部份。一種所謂的‘微時隙’法用來存取動態部份內的通訊媒介。發送出去的訊息永遠分配給動態時隙。只要時隙分配給了節點,與大小都相同、始終用於傳輸的靜態時隙相反,動態部份就只能在需要時才進行傳輸。因此,動態部份的可用頻寬是動態分配的。

如果訊息號(ID)和時隙號對應,有待發訊息的節點就會進行傳輸。如果沒有節點傳輸,則所有節點就會等候,等待的時間長度正是微時隙的長度,然後它們的時隙計數器也會增加。在時隙計數器增加以後,所有節點都將檢查該時隙號是否與將發出的訊息對應。如果兩者匹配,該節點將發送訊息。所有其它節點接受這條訊息,並且一直等到它們完全接收了這條訊息後再增加時隙讀數。這一過程將會持續,直至動態部份結束。如果在一個週期中,沒有或者只有少數節點發送訊息,在動態部份的結尾將達到更高的時隙號。如果有大量節點進行發送,則到達的時隙號就比較低。因此,擁有較高編號的(即優先權較低)發送訊息的節點可能在一個週期中傳輸,而不在另一個週期中傳輸,具體取決於在其之前在動態部份已經由多少個節點進行了訊息傳輸。要確定訊息已經傳輸,用戶必須在靜態部份發送該訊息,或者必須在動態部份中對其分配較低訊息編號(即優先權較高)。

2.時脈同步

圖5:雙訊息通道拓樸舉例。


如果使用基於TDMA的通訊協定,則在時間域上控制對通訊媒介的存取。因此,每個節點都必須保持時間同步,這一點非常重要。所有節點的時脈必須同步,並且最大偏差必須在限定範圍內,這是實現時脈同步的前提條件。最大的偏差反應了精確度的大小。

時脈偏差可以分為相位和頻率偏差。相位偏差是兩個時脈在某一特定時間的絕對差別。頻率偏差是相位偏差隨著時間推移的變化,它反映了相位偏差在特定時間的變化。

透過相位修正和頻率修正可以實現時脈同步。FlexRay使用了一種綜合方法,即同時採用相位修正和頻率修正。時脈同步是一個控制迴路,與其它控制迴路一樣,也由測量、運算和設定功能組成。

要測量每個時脈與其它時脈的偏差,所有節點都要在接收期間測量訊息的到達時間。透過靜態部份的定時機制,每個節點都知道訊息應該何時到達。如果訊息比預計時間早到或晚到,將能測量得出實際時間與預定時間之間的偏差。該偏差代表了傳輸和接收節點之間的時脈偏差。借助獲得的測量值,可用容錯平均演算法運算出每個節點的修正值。

在頻率修正中,需要使用兩個通訊週期的測量值。這些測量值之間的差值反映每個通訊週期中的時脈偏差變化,它通常用於運算雙週期結束時的修正值(見上文提及的方法)。在整個後來的兩個週期中,都使用該修正值

圖6:雙訊息通道星型拓樸。

相位修正值的運算只需一個週期的測量值,一旦接收了所有測量值,即可開始進行運算,並且它必須在開始相位修正前完成。在通訊週期末尾,網路閒置時間(NIT)的一部份被保留,用於相位修正。相位修正要相隔一個週期來完成,避免影響時脈頻率偏差的確定。圖3概述了時脈同步的每個階段,以及不同存取方法的分配。

3. 群組啟動


與許多技術流程或程式一樣,FlexRay中的啟動階段同樣也是最複雜的階段之一。這是因為FlexRay中的通訊基於同步時脈機制,但在啟動階段這種機制還未設立。由於具備容錯功能,FlexRay中不存在主時脈,因而時基不是由主時脈定義的。

啟動群組時,將會啟動‘coldstarter’,coldstarter總是存在於多個實例中。首先,啟動傳輸訊息的coldstarter被稱為‘主coldstarter’(leading coldstarter),其它coldstarter則被稱為‘從coldstarter’(following coldstarter)。

一旦節點被喚醒並完成初始化,它就能在發出相應的主控制器命令後進入啟動流程。不屬於coldstarter的節點會等候,直到它們至少識別到兩個相互通訊的coldstarter為止。coldstarter自己會監控兩個通訊週期的傳輸訊息通道,以確定其它節點是否正傳輸。如果沒有,該節點會開始傳輸,因而成為主coldstarter。主coldstarter首先會傳輸一個空符號,向其它節點說明目前它正作為主coldstarter啟動該群組。在傳輸符號(符號即特定數量的無效位元)後,該節點開始啟動它自己的時脈,並且開始第一個通訊週期。根據預先定義的群組範圍的通訊機制,主coldstarter將在其分配的時隙中傳輸。與其它所有節點一樣,它將只在一個時隙的啟動階段傳輸。

圖7:FlexRay不支援的拓樸舉例。

主coldstarter發送的訊息可由從coldstarter接收。在訊息ID(該號碼與時隙編號相同)的幫助下,接收器能夠確定發送器位於哪個時隙。傳輸節點的目前週期編號附帶在每條訊息中發送。在接收第一條訊息後,其它節點等待在下一個通訊週期中發送的第二條訊息。一旦收到第二條訊息,從coldstarter將開始啟動它們的時脈,該時脈由週期編號和接收訊息的時隙號進行初始化。這樣就可以為傳輸器和接收器之間的同步時間作業奠定基礎。此外,接收節點會測量第一條訊息和第二條訊息之間的時間,該時間與通訊週期的週期時間對應。測量出的時間與區域coldstarter時間進行比較。還可以透過減法確定可能偏差,頻率修正機制使用該偏差值作為修正值。因此,從coldstarter不僅使用接收到的週期號和時間值(與傳輸的時隙對應)來啟動其時脈,還會修改其時基的頻率,使它盡可能地接近主coldstarter的值。

原則上,在啟動時從coldstarter的時脈會與主coldstarter的時脈同步。為了避免可能的錯誤,從coldstarter在傳輸前必須等待兩個週期。在這兩個週期時間內,從coldstarter繼續接收主coldstarter的訊息和來自其它整合的從coldstarter的訊息。已接收的訊息的接收時間將與區域coldstarter進行比較,測量預測的和接收時間之間的偏差,修正值則按照前面介紹的時脈同步演算法進行運算和應用。如果運算出的修正值沒有超過特定的閾值,節點就可以從下一個週期開始傳輸。至此,它已經成功完成了啟動過程,進入‘正常執行’狀態(正常的通訊狀態)。

在確定和驗證運算出的修正值後的兩個通訊週期內,在主coldstarter收到來自的從coldstarter的訊息後完成啟動階段。圖4對主coldstarter和從coldstarter的啟動階段進行了介紹。

應用分析

1.可行的拓樸結構


FlexRay可以實現大量不同拓樸的應用。通常,FlexRay節點可以支援兩個訊息通道,因而可以開發單訊息通道和雙訊息通道兩種系統。在雙訊息通道系統中,不是所有節點都必須與兩個訊息通道連接。圖5和圖6的示例顯示了一個系統,其中的節點1、3、5都與兩個訊息通道連接,而節點2和4都只與一個訊息通道連接。圖5和圖6中的例子表示介面邏輯相同的拓樸,兩個拓樸的不同之處在於,圖5的匯流排用於節點連接,而圖6的星型連接器則用於各個訊息通道。

與匯流排結構相較,星型連接器的優勢在於:它在接收器和發送器之間提供點對點連接,該優勢在高傳輸速率和長傳輸線路中尤為明顯。另一個重要優勢是故障隔離功能。例如,如果訊號傳輸使用的兩條線路短路,匯流排系統在該訊息通道中不能進行進一步的通訊。如果使用星型結構,則只有到星型連接短路的節點才會受到影響,其它所有節點仍然可以繼續與其它節點通訊。

圖7的拓樸由3個訊息通道組成,每兩個訊息通道分別與一個節點相連。該拓樸不是FlexRay允許的拓樸形式。FlexRay不支援該拓樸,也不支援其功能。原因很簡單,在FlexRay中,訊息通道A和B使用不同的CRC,以確保傳輸中的數據安全。這樣可以防止兩個訊息通道的意外混合。這還意味著:連接到訊息通道A的節點不能與連接到訊息通道B的節點通訊,無法滿足圖7中的訊息通道C的通訊要求。除了CRC不相容以外,也沒有為這種拓樸設計時脈同步。

2.喚醒群組

圖8:透過通訊訊息通道喚醒群組。


FlexRay提供了一些透過通訊訊息通道來喚醒群組的功能,這種喚醒要與主應用共同完成。有幾個可能的實現方案,我們將對其中一個方案進行詳細介紹。圖8顯示了一個有4個節點的群組。本圖中的數字表示每個模組的喚醒步驟,與其順序編號相同:

a.外部事件喚醒了主控制器1,從睡眠模式切換到正常模式,然後開始初始化。在初始化階段後,它將FlexRay CC從睡眠(關機)狀態切換到正常狀態(開機狀態)。


b.主控制器1喚醒FlexRay CC,進行初始化。


c.主控制器喚醒匯流排驅動((BD 1A和BD 1B)。


d.主控制器透過通訊訊息通道,向CC發出喚醒群組的命令。CC進入喚醒狀態,產生喚醒模式,該模式先發送到匯流排驅動器,匯流排驅動器再將它發送到匯流排。


e.訊息通道A上的所有匯流排驅動器均採用喚醒模式。它們從睡眠模式進入正常模式,然後喚醒主控制器,主控制器2和3執行初始化程式。


f.主控制器2和3喚醒CC,然後進行初始化,此時該流程已執行完畢。


g.檢查訊息通道B上的匯流排驅動器是否被同時喚醒。如果沒有被喚醒,主控制器應喚醒第二個匯流排驅動器。


h. 所選擇的主控制器驗證兩條訊息通道是否都已被喚醒。如果沒有,一個或多個主控制器應向CC發送喚醒命令(參見圖4),以喚醒第二個訊息通道。訊息通道B上的喚醒模式可以喚醒該訊息通道上未被喚醒的所有匯流排驅動器。


i. 只連接到訊息通道B的節點只能由訊息通道B(節點4)上的喚醒模式喚醒,匯流排驅動器喚醒其主控制器。


j.在主控制器初始化後,主控器又喚醒CC。


k. 如果兩個訊息通道都已被喚醒,則可以執行啟動。為了實現啟動,每個主控制器應向CC發送啟動命令。

喚醒作業只能由匯流排驅動器、CC和主控制器一起共同實現。上述任何一種元件都不能單獨執行自己的喚醒作業。喚醒不是完全由FlexRay執行的一項功能,還必須有應用軟體的介入。

3.訊框的大小選擇

在設計基於FlexRay的通訊系統時,用戶必須作出一系列決定,這些決定會影響到效率、穩定性、安全性和用戶友好性。因此,除了選擇正確的拓樸外,還需要定義大量參數,其中的參數之一就是訊框的大小。

在靜態部份中,所有訊框都具有相同的大小,該訊框的大小實質上決定著時隙的大小。這種通訊系統的目標是盡量傳輸更多的用戶數據,同時將開銷控制在盡量小的範圍內,訊框的大小在這個方面發揮著重要作用。

作者:Mathias Rausch


飛思卡爾半導體




投票數:   加入我的最愛
我來評論 - 車內通訊網路標準FlexRay的功能和特性...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首