車(chē)內通信網(wǎng)絡(luò )標準FlexRay的功能和特性分析
原則上,在啟動(dòng)時(shí)從coldstarter的時(shí)鐘會(huì )與主coldstarter的時(shí)鐘同步。為了避免可能的錯誤,從coldstarter在傳輸前必須等待兩個(gè)周期。在這兩個(gè)周期時(shí)間內,從coldstarter繼續接收主coldstarter的消息和來(lái)自其它集成的從coldstarter的消息。已接收的消息的接收時(shí)間將與本地coldstarter進(jìn)行比較,測量預測的和接收時(shí)間之間的偏差,修正值則按照前面介紹的時(shí)鐘同步算法進(jìn)行計算和應用。如果計算出的修正值沒(méi)有超過(guò)特定的閾值,節點(diǎn)就可以從下一個(gè)周期開(kāi)始傳輸。至此,它已經(jīng)成功完成了啟動(dòng)過(guò)程,進(jìn)入“正常運行”狀態(tài)(正常的通信狀態(tài))。
在確定和驗證計算出的修正值后的兩個(gè)通信周期內,在主coldstarter收到來(lái)自的從coldstarter的消息后完成啟動(dòng)階段。圖4對主coldstarter和從coldstarter的啟動(dòng)階段進(jìn)行了介紹。
應用分析
1.可行的拓撲結構
![]() |
圖7:FlexRay不支持的拓撲舉例。 |
與總線(xiàn)結構相比,星型連接器的優(yōu)勢在于:它在接收器和發(fā)送器之間提供點(diǎn)到點(diǎn)連接,該優(yōu)勢在高傳輸速率和長(cháng)傳輸線(xiàn)路中尤為明顯。另一個(gè)重要優(yōu)勢是故障隔離功能。例如,如果信號傳輸使用的兩條線(xiàn)路短路,總線(xiàn)系統在該信道中不能進(jìn)行進(jìn)一步的通信。如果使用星型結構,則只有到星型連接短路的節點(diǎn)才會(huì )受到影響,其它所有節點(diǎn)仍然可以繼續與其它節點(diǎn)通信。
圖7的拓撲由3個(gè)信道組成,每?jì)蓚€(gè)信道分別與一個(gè)節點(diǎn)相連。該拓撲不是FlexRay允許的拓撲形式。FlexRay不支持該拓撲,也不支持其功能。原因很簡(jiǎn)單,在FlexRay中,信道A和B使用不同的CRC,以確保傳輸中的數據安全。這樣可以防止兩個(gè)信道的意外混合。這還意味著(zhù):連接到信道A的節點(diǎn)不能與連接到信道B的節點(diǎn)通信,無(wú)法滿(mǎn)足圖7中的信道C的通信要求。除了CRC不兼容以外,也沒(méi)有為這種拓撲設計時(shí)鐘同步。
2.喚醒群組
FlexRay提供了一些通過(guò)通信信道來(lái)喚醒群組的功能,這種喚醒要與主應用共同完成。有幾個(gè)可能的實(shí)現方案,我們將對其中一個(gè)方案進(jìn)行詳細介紹。圖8顯示了一個(gè)有4個(gè)節點(diǎn)的群組。本圖中的數字表示每個(gè)模塊的喚醒步驟,與其順序編號相同:
a.外部事件喚醒了主控制器1,從睡眠模式切換到正常模式,然后開(kāi)始初始化。在初始化階段后,它將FlexRay CC從睡眠(關(guān)機)狀態(tài)切換到正常狀態(tài)(開(kāi)機狀態(tài))。
b.主控制器1喚醒FlexRay CC,進(jìn)行初始化。
c.主控制器喚醒總線(xiàn)驅動(dòng)((BD 1A和BD 1B)。
d.主控制器通過(guò)通信信道,向CC發(fā)出喚醒群組的命令。CC進(jìn)入喚醒狀態(tài),生成喚醒模式,該模式先發(fā)送到總線(xiàn)驅動(dòng)器,總線(xiàn)驅動(dòng)器再將它發(fā)送到總線(xiàn)。
e.信道A上的所有總線(xiàn)驅動(dòng)器均采用喚醒模式。它們從睡眠模式進(jìn)入正常模式,然后喚醒主控制器,主控制器2和3執行初始化程序。
![]() |
圖8:通過(guò)通信信道喚醒群組。 |
g.檢查信道B上的總線(xiàn)驅動(dòng)器是否被同時(shí)喚醒。如果沒(méi)有被喚醒,主控制器應喚醒第二個(gè)總線(xiàn)驅動(dòng)器。
h. 所選擇的主控制器驗證兩條信道是否都已被喚醒。如果沒(méi)有,一個(gè)或多個(gè)主控制器應向CC發(fā)送喚醒命令(參見(jiàn)圖4),以喚醒第二個(gè)信道。信道B上的喚醒模式可以喚醒該信道上未被喚醒的所有總線(xiàn)驅動(dòng)器。
i. 只連接到信道B的節點(diǎn)只能由信道B(節點(diǎn)4)上的喚醒模式喚醒,總線(xiàn)驅動(dòng)器喚醒其主控制器。
j.在主控制器初始化后,主控器又喚醒CC。
k. 如果兩個(gè)信道都已被喚醒,則可以執行啟動(dòng)。為了實(shí)現啟動(dòng),每個(gè)主控制器應向CC發(fā)送啟動(dòng)命令。
喚醒操作只能由總線(xiàn)驅動(dòng)器、CC和主控制器一起共同實(shí)現。上述任何一種器件都不能單獨執行自己的喚醒操作。喚醒不是完全由FlexRay執行的一項功能,還必須有應用軟件的介入。
3.幀的大小選擇
在設計基于FlexRay的通信系統時(shí),用戶(hù)必須作出一系列決定,這些決定會(huì )影響到效率、穩定性、安全性和用戶(hù)友好性。因此,除了選擇正確的拓撲外,還需要定義大量參數,其中的參數之一就是幀的大小。
在靜態(tài)部分中,所有幀都具有相同的大小,該幀的大小實(shí)質(zhì)上決定著(zhù)時(shí)隙的大小。這種通信系統的目標是盡量傳輸更多的用戶(hù)數據,同時(shí)將開(kāi)銷(xiāo)控制在盡量小的范圍內,幀的大小在這個(gè)方面發(fā)揮著(zhù)重要作用。
評論