新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 車內(nèi)通信網(wǎng)絡(luò)標(biāo)準(zhǔn)FlexRay的功能和特性分析

車內(nèi)通信網(wǎng)絡(luò)標(biāo)準(zhǔn)FlexRay的功能和特性分析

作者: 時(shí)間:2012-11-27 來源:網(wǎng)絡(luò) 收藏


原則上,在啟動時(shí)從coldstarter的時(shí)鐘會與主coldstarter的時(shí)鐘同步。為了避免可能的錯誤,從coldstarter在傳輸前必須等待兩個(gè)周期。在這兩個(gè)周期時(shí)間內(nèi),從coldstarter繼續(xù)接收主coldstarter的消息和來自其它集成的從coldstarter的消息。已接收的消息的接收時(shí)間將與本地coldstarter進(jìn)行比較,測量預(yù)測的和接收時(shí)間之間的偏差,修正值則按照前面介紹的時(shí)鐘同步算法進(jìn)行計(jì)算和應(yīng)用。如果計(jì)算出的修正值沒有超過特定的閾值,節(jié)點(diǎn)就可以從下一個(gè)周期開始傳輸。至此,它已經(jīng)成功完成了啟動過程,進(jìn)入“正常運(yùn)行”狀態(tài)(正常的通信狀態(tài))。

在確定和驗(yàn)證計(jì)算出的修正值后的兩個(gè)通信周期內(nèi),在主coldstarter收到來自的從coldstarter的消息后完成啟動階段。圖4對主coldstarter和從coldstarter的啟動階段進(jìn)行了介紹。

應(yīng)用分析

1.可行的拓?fù)浣Y(jié)構(gòu)

圖7:不支持的拓?fù)渑e例。

可以實(shí)現(xiàn)大量不同拓?fù)涞膽?yīng)用。通常,節(jié)點(diǎn)可以支持兩個(gè)信道,因而可以開發(fā)單信道和雙信道兩種系統(tǒng)。在雙信道系統(tǒng)中,不是所有節(jié)點(diǎn)都必須與兩個(gè)信道連接。圖5和圖6的示例顯示了一個(gè)系統(tǒng),其中的節(jié)點(diǎn)1、3、5都與兩個(gè)信道連接,而節(jié)點(diǎn)2和4都只與一個(gè)信道連接。圖5和圖6中的例子表示接口邏輯相同的拓?fù)?,兩個(gè)拓?fù)涞牟煌幵谟?,圖5的總線用于節(jié)點(diǎn)連接,而圖6的星型連接器則用于各個(gè)信道。

與總線結(jié)構(gòu)相比,星型連接器的優(yōu)勢在于:它在接收器和發(fā)送器之間提供點(diǎn)到點(diǎn)連接,該優(yōu)勢在高傳輸速率和長傳輸線路中尤為明顯。另一個(gè)重要優(yōu)勢是故障隔離功能。例如,如果信號傳輸使用的兩條線路短路,總線系統(tǒng)在該信道中不能進(jìn)行進(jìn)一步的通信。如果使用星型結(jié)構(gòu),則只有到星型連接短路的節(jié)點(diǎn)才會受到影響,其它所有節(jié)點(diǎn)仍然可以繼續(xù)與其它節(jié)點(diǎn)通信。

圖7的拓?fù)溆?個(gè)信道組成,每兩個(gè)信道分別與一個(gè)節(jié)點(diǎn)相連。該拓?fù)洳皇荈lexRay允許的拓?fù)湫问健lexRay不支持該拓?fù)?,也不支持其功能。原因很簡單,在FlexRay中,信道A和B使用不同的CRC,以確保傳輸中的數(shù)據(jù)安全。這樣可以防止兩個(gè)信道的意外混合。這還意味著:連接到信道A的節(jié)點(diǎn)不能與連接到信道B的節(jié)點(diǎn)通信,無法滿足圖7中的信道C的通信要求。除了CRC不兼容以外,也沒有為這種拓?fù)湓O(shè)計(jì)時(shí)鐘同步。

2.喚醒群組
FlexRay提供了一些通過通信信道來喚醒群組的功能,這種喚醒要與主應(yīng)用共同完成。有幾個(gè)可能的實(shí)現(xiàn)方案,我們將對其中一個(gè)方案進(jìn)行詳細(xì)介紹。圖8顯示了一個(gè)有4個(gè)節(jié)點(diǎn)的群組。本圖中的數(shù)字表示每個(gè)模塊的喚醒步驟,與其順序編號相同:

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

b.主控制器1喚醒FlexRay CC,進(jìn)行初始化。

c.主控制器喚醒總線驅(qū)動((BD 1A和BD 1B)。

d.主控制器通過通信信道,向CC發(fā)出喚醒群組的命令。CC進(jìn)入喚醒狀態(tài),生成喚醒模式,該模式先發(fā)送到總線驅(qū)動器,總線驅(qū)動器再將它發(fā)送到總線。

e.信道A上的所有總線驅(qū)動器均采用喚醒模式。它們從睡眠模式進(jìn)入正常模式,然后喚醒主控制器,主控制器2和3執(zhí)行初始化程序。

圖8:通過通信信道喚醒群組。

f.主控制器2和3喚醒CC,然后進(jìn)行初始化,此時(shí)該流程已執(zhí)行完畢。

g.檢查信道B上的總線驅(qū)動器是否被同時(shí)喚醒。如果沒有被喚醒,主控制器應(yīng)喚醒第二個(gè)總線驅(qū)動器。

h. 所選擇的主控制器驗(yàn)證兩條信道是否都已被喚醒。如果沒有,一個(gè)或多個(gè)主控制器應(yīng)向CC發(fā)送喚醒命令(參見圖4),以喚醒第二個(gè)信道。信道B上的喚醒模式可以喚醒該信道上未被喚醒的所有總線驅(qū)動器。

i. 只連接到信道B的節(jié)點(diǎn)只能由信道B(節(jié)點(diǎn)4)上的喚醒模式喚醒,總線驅(qū)動器喚醒其主控制器。

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

k. 如果兩個(gè)信道都已被喚醒,則可以執(zhí)行啟動。為了實(shí)現(xiàn)啟動,每個(gè)主控制器應(yīng)向CC發(fā)送啟動命令。

喚醒操作只能由總線驅(qū)動器、CC和主控制器一起共同實(shí)現(xiàn)。上述任何一種器件都不能單獨(dú)執(zhí)行自己的喚醒操作。喚醒不是完全由FlexRay執(zhí)行的一項(xiàng)功能,還必須有應(yīng)用軟件的介入。

3.幀的大小選擇
在設(shè)計(jì)基于FlexRay的通信系統(tǒng)時(shí),用戶必須作出一系列決定,這些決定會影響到效率、穩(wěn)定性、安全性和用戶友好性。因此,除了選擇正確的拓?fù)渫?,還需要定義大量參數(shù),其中的參數(shù)之一就是幀的大小。

在靜態(tài)部分中,所有幀都具有相同的大小,該幀的大小實(shí)質(zhì)上決定著時(shí)隙的大小。這種通信系統(tǒng)的目標(biāo)是盡量傳輸更多的用戶數(shù)據(jù),同時(shí)將開銷控制在盡量小的范圍內(nèi),幀的大小在這個(gè)方面發(fā)揮著重要作用。

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉