新聞中心

EEPW首頁(yè) > 嵌入式系統(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 來(lái)源:網(wǎng)絡(luò) 收藏


2.骨干網(wǎng)絡(luò)
具有很高的數(shù)據(jù)速率,因而非常適合于汽車骨干網(wǎng)絡(luò),用于連接多個(gè)獨(dú)立網(wǎng)絡(luò)。

3.實(shí)時(shí)應(yīng)用,分布式控制系統(tǒng)
用戶可以提前知道消息到達(dá)時(shí)間,消息周期偏差非常小,這使得成為具有嚴(yán)格實(shí)時(shí)要求的分布式控制系統(tǒng)的首選技術(shù)。

4.面向安全的系統(tǒng)
本身不能確保系統(tǒng)安全,但它具備大量功能,可以支持面向安全的系統(tǒng)(如線控系統(tǒng))設(shè)計(jì)。

在車內(nèi)通信方面,F(xiàn)lexRay提供了從事件驅(qū)動(dòng)的通信轉(zhuǎn)換到時(shí)間驅(qū)動(dòng)通信的一個(gè)轉(zhuǎn)換范例。這種轉(zhuǎn)換需要一定時(shí)間,因?yàn)樗粌H會(huì)影響新技術(shù)的引入,還要求對(duì)涉及到的所有人員都進(jìn)行重新培訓(xùn)。一旦這個(gè)轉(zhuǎn)換步驟完成,就可以發(fā)現(xiàn)更多的應(yīng)用領(lǐng)域。

功能和機(jī)制分析

1.訪問(wèn)方法
FlexRay的通信是在逐周期中進(jìn)行的,一個(gè)通信周期始終由靜態(tài)部分和網(wǎng)絡(luò)閑置時(shí)間(NIT)組成。協(xié)議內(nèi)部流程需要網(wǎng)絡(luò)閑置時(shí)間,在這個(gè)時(shí)段內(nèi),群組的節(jié)點(diǎn)之間不進(jìn)行任何通信(見(jiàn)圖2)。

圖4:FlexRay 群組啟動(dòng)。

通信周期的靜態(tài)部分基于時(shí)分多址(TDMA)技術(shù)。該技術(shù)將固定時(shí)隙分配給各個(gè)節(jié)點(diǎn),在這個(gè)時(shí)隙內(nèi),允許節(jié)點(diǎn)傳輸數(shù)據(jù)。所有時(shí)隙大小相同,并且是從“1”開(kāi)始向上編號(hào)。將一個(gè)或一個(gè)以上的時(shí)隙固定分配給每個(gè)節(jié)點(diǎn)。在運(yùn)行期間,該時(shí)隙的分配不能修改。

除了靜態(tài)部分以外,通信周期還可以選擇性地組成動(dòng)態(tài)部分。一種所謂的“微時(shí)隙”法用來(lái)訪問(wèn)動(dòng)態(tài)部分內(nèi)的通信媒介。發(fā)送出去的消息永遠(yuǎn)分配給動(dòng)態(tài)時(shí)隙。只要時(shí)隙分配給了節(jié)點(diǎn),與大小都相同、始終用于傳輸?shù)撵o態(tài)時(shí)隙相反,動(dòng)態(tài)部分就只能在需要時(shí)才進(jìn)行傳輸。因此,動(dòng)態(tài)部分的可用帶寬是動(dòng)態(tài)分配的。

如果消息號(hào)(ID)和時(shí)隙號(hào)對(duì)應(yīng),有待發(fā)消息的節(jié)點(diǎn)就會(huì)進(jìn)行傳輸。如果沒(méi)有節(jié)點(diǎn)傳輸,則所有節(jié)點(diǎn)就會(huì)等候,等待的時(shí)間長(zhǎng)度正是微時(shí)隙的長(zhǎng)度,然后它們的時(shí)隙計(jì)數(shù)器也會(huì)增加。在時(shí)隙計(jì)數(shù)器增加以后,所有節(jié)點(diǎn)都將檢查該時(shí)隙號(hào)是否與將發(fā)出的消息對(duì)應(yīng)。如果兩者匹配,該節(jié)點(diǎn)將發(fā)送消息。所有其它節(jié)點(diǎn)接受這條消息,并且一直等到它們完全接收了這條消息后再增加時(shí)隙讀數(shù)。這一過(guò)程將會(huì)持續(xù),直至動(dòng)態(tài)部分結(jié)束。如果在一個(gè)周期中,沒(méi)有或者只有少數(shù)節(jié)點(diǎn)發(fā)送消息,在動(dòng)態(tài)部分的結(jié)尾將達(dá)到更高的時(shí)隙號(hào)。如果有大量節(jié)點(diǎn)進(jìn)行發(fā)送,則到達(dá)的時(shí)隙號(hào)就比較低。因此,擁有較高編號(hào)的(即優(yōu)先權(quán)較低)發(fā)送消息的節(jié)點(diǎn)可能在一個(gè)周期中傳輸,而不在另一個(gè)周期中傳輸,具體取決于在其之前在動(dòng)態(tài)部分已經(jīng)由多少個(gè)節(jié)點(diǎn)進(jìn)行了消息傳輸。要確定消息已經(jīng)傳輸,用戶必須在靜態(tài)部分發(fā)送該消息,或者必須在動(dòng)態(tài)部分中對(duì)其分配較低消息編號(hào)(即優(yōu)先權(quán)較高)。

2.時(shí)鐘同步
如果使用基于TDMA的通信協(xié)議,則在時(shí)間域上控制對(duì)通信媒介的訪問(wèn)。因此,每個(gè)節(jié)點(diǎn)都必須保持時(shí)間同步,這一點(diǎn)非常重要。所有節(jié)點(diǎn)的時(shí)鐘必須同步,并且最大偏差必須在限定范圍內(nèi),這是實(shí)現(xiàn)時(shí)鐘同步的前提條件。最大的偏差反應(yīng)了精確度的大小。

圖5:雙信道拓?fù)渑e例。

時(shí)鐘偏差可以分為相位和頻率偏差。相位偏差是兩個(gè)時(shí)鐘在某一特定時(shí)間的絕對(duì)差別。頻率偏差是相位偏差隨著時(shí)間推移的變化,它反映了相位偏差在特定時(shí)間的變化。

通過(guò)相位修正和頻率修正可以實(shí)現(xiàn)時(shí)鐘同步。FlexRay使用了一種綜合方法,即同時(shí)采用相位修正和頻率修正。時(shí)鐘同步是一個(gè)控制環(huán)路,與其它控制環(huán)路一樣,也由測(cè)量、計(jì)算和設(shè)定功能組成。

要測(cè)量每個(gè)時(shí)鐘與其它時(shí)鐘的偏差,所有節(jié)點(diǎn)都要在接收期間測(cè)量消息的到達(dá)時(shí)間。通過(guò)靜態(tài)部分的定時(shí)機(jī)制,每個(gè)節(jié)點(diǎn)都知道消息應(yīng)當(dāng)何時(shí)到達(dá)。如果消息比預(yù)計(jì)時(shí)間早到或晚到,將能測(cè)量得出實(shí)際時(shí)間與預(yù)定時(shí)間之間的偏差。該偏差代表了傳輸和接收節(jié)點(diǎn)之間的時(shí)鐘偏差。借助獲得的測(cè)量值,可用容錯(cuò)平均算法計(jì)算出每個(gè)節(jié)點(diǎn)的修正值。

在頻率修正中,需要使用兩個(gè)通信周期的測(cè)量值。這些測(cè)量值之間的差值反映每個(gè)通信周期中的時(shí)鐘偏差變化,它通常用于計(jì)算雙周期結(jié)束時(shí)的修正值(見(jiàn)上文提及的方法)。在整個(gè)后來(lái)的兩個(gè)周期中,都使用該修正值。

相位修正值的計(jì)算只需一個(gè)周期的測(cè)量值,一旦接收了所有測(cè)量值,即可開(kāi)始進(jìn)行計(jì)算,并且它必須在開(kāi)始相位修正前完成。在通信周期末尾,網(wǎng)絡(luò)閑置時(shí)間(NIT)的一部分被保留,用于相位修正。相位修正要相隔一個(gè)周期來(lái)完成,避免影響時(shí)鐘頻率偏差的確定。圖3概述了時(shí)鐘同步的每個(gè)階段,以及不同訪問(wèn)方法的分配。

3. 群組啟動(dòng)
與許多技術(shù)流程或程序一樣,F(xiàn)lexRay中的啟動(dòng)階段同樣也是最復(fù)雜的階段之一。這是因?yàn)镕lexRay中的通信基于同步時(shí)鐘機(jī)制,但在啟動(dòng)階段這種機(jī)制還未建立。由于具備容錯(cuò)功能,F(xiàn)lexRay中不存在主時(shí)鐘,因而時(shí)基不是由主時(shí)鐘定義的。

啟動(dòng)群組時(shí),將會(huì)啟動(dòng)“coldstarter”,coldstarter總是存在于多個(gè)實(shí)例中。首先,啟動(dòng)傳輸消息的coldstarter被稱為“主coldstarter”(leading coldstarter),其它c(diǎn)oldstarter則被稱為“從coldstarter”(following coldstarter)。

圖6:雙信道星型拓?fù)洹?/P>

一旦節(jié)點(diǎn)被喚醒并完成初始化,它就能在發(fā)出相應(yīng)的主控制器命令后進(jìn)入啟動(dòng)流程。不屬于coldstarter的節(jié)點(diǎn)會(huì)等候,直到它們至少識(shí)別到兩個(gè)相互通訊的coldstarter為止。coldstarter自己會(huì)監(jiān)控兩個(gè)通信周期的傳輸信道,以確定其它節(jié)點(diǎn)是否正在傳輸。如果沒(méi)有,該節(jié)點(diǎn)會(huì)開(kāi)始傳輸,從而成為主coldstarter。主coldstarter首先會(huì)傳輸一個(gè)空符號(hào),向其它節(jié)點(diǎn)說(shuō)明目前它正在作為主coldstarter啟動(dòng)該群組。在傳輸符號(hào)(符號(hào)即特定數(shù)量的無(wú)效位)后,該節(jié)點(diǎn)開(kāi)始啟動(dòng)它自己的時(shí)鐘,并且開(kāi)始第一個(gè)通信周期。根據(jù)預(yù)先定義的群組范圍的通信機(jī)制,主coldstarter將在其分配的時(shí)隙中傳輸。與其它所有節(jié)點(diǎn)一樣,它將只在一個(gè)時(shí)隙的啟動(dòng)階段傳輸。

主coldstarter發(fā)送的消息可由從coldstarter接收。在消息ID(該號(hào)碼與時(shí)隙編號(hào)相同)的幫助下,接收器能夠確定發(fā)送器位于哪個(gè)時(shí)隙。傳輸節(jié)點(diǎn)的當(dāng)前周期編號(hào)附帶在每條消息中發(fā)送。在接收第一條消息后,其它節(jié)點(diǎn)等待在下一個(gè)通信周期中發(fā)送的第二條消息。一旦收到第二條消息,從coldstarter將開(kāi)始啟動(dòng)它們的時(shí)鐘,該時(shí)鐘由周期編號(hào)和接收消息的時(shí)隙號(hào)進(jìn)行初始化。這樣就可以為傳輸器和接收器之間的同步時(shí)間操作奠定基礎(chǔ)。此外,接收節(jié)點(diǎn)會(huì)測(cè)量第一條消息和第二條消息之間的時(shí)間,該時(shí)間與通信周期的周期時(shí)間對(duì)應(yīng)。測(cè)量出的時(shí)間與本地coldstarter時(shí)間進(jìn)行比較。還可以通過(guò)減法確定可能偏差,頻率修正機(jī)制使用該偏差值作為修正值。因此,從coldstarter不僅使用接收到的周期號(hào)和時(shí)間值(與傳輸?shù)臅r(shí)隙對(duì)應(yīng))來(lái)啟動(dòng)其時(shí)鐘,還會(huì)修改其時(shí)基的頻率,使它盡可能地接近主coldstarter的值。


評(píng)論


相關(guān)推薦

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

關(guān)閉