侵權(quán)投訴
訂閱
糾錯(cuò)
加入自媒體

FlexRay汽車總線技術(shù)特點(diǎn)分析

汽車上的總線技術(shù)包括:LIN、CAN、CAN FD、FlexRay、MOST及Ethernet,我們之前已經(jīng)分享了LIN,CAN、CAN FD總線。在開始閱讀之前,如果你對(duì)已介紹的總線技術(shù)還不了解的話,可以先閱讀以下文章快速溫習(xí)一下~

說(shuō)一說(shuō)LIN總線

CAN總線基礎(chǔ)(一)

CAN總線基礎(chǔ)(下)

CAN FD 介紹

FlexRay背景

隨著汽車電子技術(shù)的不斷發(fā)展和系統(tǒng)的集成化,我們可不需要傳統(tǒng)的機(jī)械傳遞控制信號(hào)而是通過(guò)電子手段來(lái)駕駛汽車,而這一電子手段即X-By-Wire(X代表汽車中的各個(gè)系統(tǒng),By-Wire可稱為電子線控),如線控轉(zhuǎn)向(Steering-By-Wire),線控制動(dòng)(Brake-By-Wire),線控技術(shù)主要應(yīng)用在主動(dòng)安全等關(guān)鍵系統(tǒng)中,這些場(chǎng)合都對(duì)信息的實(shí)時(shí)性和安全性有很高的要求。

另一方面隨著汽車電子電器架構(gòu)復(fù)雜度的提升尤其當(dāng)前輔助駕駛系統(tǒng)、無(wú)人駕駛技術(shù)的快速發(fā)展,傳統(tǒng)的LIN、CAN總線已不堪重負(fù)且無(wú)法滿足未來(lái)高帶寬的要求,上期講的CAN FD只是對(duì)傳統(tǒng)CAN總線的一種擴(kuò)展和過(guò)渡,首先其不會(huì)對(duì)原有的整車網(wǎng)絡(luò)帶來(lái)大的變更,具備很好的兼容性又具有不錯(cuò)的傳輸速率(最高2Mbps),其次LIN CAN總線在汽車上已應(yīng)用了這么多年,若突然向新的總線技術(shù)遷移(如本期講的FlexRay)會(huì)帶來(lái)開發(fā)遷移量、時(shí)間成本、硬件成本等方面的同步提升(所有節(jié)點(diǎn)必須升級(jí)為FlexRay節(jié)點(diǎn)),因此CAN FD在當(dāng)前階段是很好的過(guò)渡方案。但當(dāng)同時(shí)考慮X-By-Wire應(yīng)用場(chǎng)景和更高的帶寬要求時(shí),CANFD則無(wú)法滿足,而FlexRay則非常適用,但FlexRay的應(yīng)用對(duì)OEM的能力要求相比CAN會(huì)提高很多。

FlexRay聯(lián)盟

FlexRay的出現(xiàn)和發(fā)展離不開2000年由Daimler Crysler 、 BMW 、Motorola 和Philips創(chuàng)建的FlexRay聯(lián)盟的推動(dòng)。該聯(lián)盟的目標(biāo)是開發(fā)一種獨(dú)立于OEM、確定性和容錯(cuò)的FlexRay通信標(biāo)準(zhǔn),該聯(lián)盟的每個(gè)成員都可以使用該標(biāo)準(zhǔn)而無(wú)需支付許可費(fèi)。目前FlexRay聯(lián)盟的核心成員包括:BOSCH 、BMW、Daimler AG、General Motors、Volkswagen AG、NXP Semiconductors。

FlexRay聯(lián)盟在2010年發(fā)布了3.0.1版規(guī)范,開始推動(dòng)作為ISO標(biāo)準(zhǔn),并在2013年發(fā)布了ISO 17458標(biāo)準(zhǔn)規(guī)范。

第一款采用FlexRay的量產(chǎn)車于2006年底在BMW X5中推出,應(yīng)用在電子控制減震系統(tǒng)中,2008年,全新BMW 7系全面采用了FlexRay。另外Audi、Mercedes-Benz以及領(lǐng)克等車型上也逐漸應(yīng)用。


FlexRay通訊特點(diǎn)及拓?fù)?/p>

FlexRay是專為車內(nèi)局域網(wǎng)設(shè)計(jì)的一種具備故障容錯(cuò)的高速可確定性車載總線系統(tǒng),采用了基于時(shí)間觸發(fā)的機(jī)制且具有高帶寬、容錯(cuò)性好等特點(diǎn),在實(shí)時(shí)性、可靠性及靈活性方面都有很大的優(yōu)勢(shì),非常適用于安全性要求較高的線控場(chǎng)合及帶寬要去高的場(chǎng)合。

1、高速率和容錯(cuò)性

FlexRay支持兩通道,可通過(guò)一個(gè)或兩個(gè)通道進(jìn)行數(shù)據(jù)傳輸,單個(gè)通道的數(shù)據(jù)傳輸速率可達(dá)10Mbps,通過(guò)兩通道平行傳輸數(shù)據(jù)時(shí)可達(dá)20Mbps。也可通過(guò)雙通道傳輸相同的數(shù)據(jù)(真實(shí)情況大多應(yīng)用的方式),當(dāng)其中某個(gè)通道出現(xiàn)故障或信息有誤時(shí),另一通道可繼續(xù)正常傳輸,并影響整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)通訊,通過(guò)這種冗余備份實(shí)現(xiàn)很好的容錯(cuò)性。

2、確定性

FalexRay是一種時(shí)間觸發(fā)式的總線系統(tǒng),符合TDMA(Time Division Multiple Access)的原則,因此在時(shí)間控制區(qū)域內(nèi),時(shí)隙會(huì)分配給確定的消息,即會(huì)將規(guī)定好的時(shí)間段分配給特定的消息,時(shí)隙是經(jīng)固定周期重復(fù),也就是說(shuō)信息在總線上的時(shí)間可以被預(yù)測(cè)出來(lái),因此保證了其確定性。這就意味著控制信號(hào)是根據(jù)預(yù)定義的時(shí)間進(jìn)度傳輸?shù)?無(wú)論系統(tǒng)外部發(fā)生什么情況,都不會(huì)產(chǎn)生計(jì)劃外事件。在確定性算法中,始終會(huì)預(yù)先定義正確的輸出結(jié)果,這些結(jié)果是基于特定輸入的。

3、靈活性

FlexRay除了支持時(shí)間觸發(fā)式通訊外,還可通過(guò)事件觸發(fā)來(lái)進(jìn)行數(shù)據(jù)的傳輸,例如對(duì)于時(shí)間要求不高的信息,可配置在事件控制區(qū)域內(nèi)傳輸,可形成以時(shí)間觸發(fā)為主,兼顧事件觸發(fā)的靈活特性。

此外,FlexRay的拓?fù)涫嵌鄻拥?有線型、星型和混合型三大類,再結(jié)合單通道和雙通道的使用(FlexRay的兩個(gè)通道可相互獨(dú)立實(shí)現(xiàn),所以兩個(gè)通道可采用不同的拓?fù)浣Y(jié)構(gòu),如一個(gè)通道為主動(dòng)星型拓?fù)?另一個(gè)為總線拓?fù)浣Y(jié)構(gòu)),所以最終組合的結(jié)果可形成很多種。再例如既有點(diǎn)對(duì)點(diǎn)的線行結(jié)構(gòu)和多節(jié)點(diǎn)的線性結(jié)構(gòu),還有增加冗余性的雙通道星型拓?fù)浣Y(jié)構(gòu)等等。

FlexRay數(shù)據(jù)傳輸

FlexRay規(guī)范定義了OSI參考模型中的物理層和數(shù)據(jù)鏈路層,每個(gè)FlexRay節(jié)點(diǎn)通過(guò)一個(gè)FlexRay Controller和兩個(gè)FlexRay Transceivers(用于通道冗余)與總線相連,FlexRay Controller負(fù)責(zé)Flexray協(xié)議中的數(shù)據(jù)鏈路層,FlexRay Transceivers則負(fù)責(zé)總線物理信號(hào)接收發(fā)送。

FlexRay可采用屏蔽或不屏蔽的雙絞線,每個(gè)通道有兩根導(dǎo)線,即總線正(Bus-Plus,BP)和總線負(fù)(Bus-Minus,BM)組成。采用不歸零法(NRZ,Non-Return to Zero)進(jìn)行編碼。

可通過(guò)測(cè)量BP和BM之間的電壓差識(shí)別總線狀態(tài),這樣可減少外部干擾對(duì)總線信息的影響,因這些干擾同時(shí)作用在兩根導(dǎo)線上可相互抵消。每一通道需使用80~110歐的終端電阻。將不同的電壓加載在一個(gè)通道的兩根導(dǎo)線上,可使總線有四種狀態(tài):Idle_Lp(Low power)、Idle、Data_0和Data_1

顯性:差分電壓不為0V(Data_0和Data_1)

隱性:差分電壓為0V(Idle_Lp、Idle)

FlexRay幀格式

FlexRay幀由起始段、有效負(fù)載段和結(jié)束段三大部分構(gòu)成。

1、起始段:由40個(gè)bits構(gòu)成(5 bytes),包括

-Status Bits-5bits

-Frame ID-11bits

-Payload Length-7 bits

-Hedaer CRC-11bits

-Cycle count -6 bits

其中5bits的Status Bits包含四類指示符:凈荷指示位(Payload Preamble Indicator)、空幀指示位(Null Frame Indicator-指明該幀是否為無(wú)效幀)、同步幀指示位(Sync Frame Indicator-指明該幀是否為一個(gè)同步幀)和起始幀指示位(Startup Frame Indicator-指明該幀是否為起始幀)。

Frame ID:數(shù)據(jù)標(biāo)志符,定義了在時(shí)間窗口(Slot)中發(fā)送的號(hào)碼,每個(gè)通道數(shù)據(jù)標(biāo)志符需唯一。

Payload Length:工作區(qū)長(zhǎng)度,指示該幀含有的有效數(shù)據(jù)長(zhǎng)度,在每個(gè)Cycle下的靜態(tài)區(qū)中,每幀的數(shù)據(jù)長(zhǎng)度是相同的,在動(dòng)態(tài)區(qū)的長(zhǎng)度則是不同的。

Hedaer CRC:用于起始段冗余校驗(yàn),檢查傳輸中的錯(cuò)誤。

Cycle count:循環(huán)計(jì)數(shù)器。

2、有效負(fù)載段

包含要傳輸?shù)挠行?shù)據(jù),有效數(shù)據(jù)長(zhǎng)度最大254個(gè)Bytes(0~127個(gè)Words),

3、結(jié)束段

包含24  Bits的檢驗(yàn)域,由起始段和有效負(fù)載段計(jì)算得出的CRC校驗(yàn)碼,計(jì)算CRC時(shí),根據(jù)網(wǎng)絡(luò)傳輸順序從保留位到有效負(fù)載段的最后一位放到CRC生成器中進(jìn)行計(jì)算。

FlexRay編碼

編碼的過(guò)程實(shí)際就是對(duì)要發(fā)送的數(shù)據(jù)進(jìn)行一定的打包處理,即在節(jié)點(diǎn)可傳輸帶有主計(jì)算機(jī)數(shù)據(jù)的數(shù)據(jù)前需將其轉(zhuǎn)換為“比特流(Bitstream)”。

RxD為接收信號(hào),TxD為發(fā)送信號(hào),TxEN為通訊控制器請(qǐng)求數(shù)據(jù),對(duì)于靜態(tài)幀和動(dòng)態(tài)幀分別按照如下方式進(jìn)行編碼。

其中TSS(傳輸啟動(dòng)序列):用于初始化節(jié)點(diǎn)和網(wǎng)絡(luò)通訊的對(duì)接(5~15位的低電平);FSS(幀啟動(dòng)序列):用于補(bǔ)償TSS后第一個(gè)字節(jié)可能出現(xiàn)的量化誤差(一位高電平);BSS(字節(jié)啟動(dòng)序列):給接收節(jié)點(diǎn)提供數(shù)據(jù)定時(shí)信息(一位高電平并緊隨一位低電平);FES(幀結(jié)束序列):用于標(biāo)識(shí)數(shù)據(jù)幀最后一個(gè)字節(jié)序列結(jié)束(一位低電平緊隨一位高電平)。

對(duì)于動(dòng)態(tài)區(qū)數(shù)據(jù)還額外需要DST(動(dòng)態(tài)段尾部序列):僅用于動(dòng)態(tài)幀傳輸,用于表明動(dòng)態(tài)段中傳輸時(shí)動(dòng)作點(diǎn)的精確時(shí)間防止接收段過(guò)早檢測(cè)到網(wǎng)絡(luò)空閑狀態(tài)(一位長(zhǎng)度可變的低電平和高電平)。

將這些序列和有效位(MSB到LSB)組裝起來(lái)完成了編碼過(guò)程,最終構(gòu)成在網(wǎng)絡(luò)傳播的比特流。

FlexRay通訊

FlexRay總線的通訊由通訊周期(Communication Cycle)構(gòu)成,從總線啟動(dòng)到停止都在不斷重復(fù)該通訊周期。每個(gè)通訊周期具有相同的可配置時(shí)間間隔,且每個(gè)通訊周期由靜態(tài)段(Static Segment)、動(dòng)態(tài)段(Dynamic Segment)、特征窗(Symblo Window)和網(wǎng)絡(luò)空閑時(shí)間(Network Idle Time)四部分構(gòu)成。

1、靜態(tài)段(Static Segment)

靜態(tài)段采用TDMA(Time Division Multiple Access)方式由固定的時(shí)隙(Slot)組成,不可更改且所有時(shí)隙大小一致。

因此每個(gè)節(jié)點(diǎn)可擁有一個(gè)或多個(gè)Slots,這樣每個(gè)節(jié)點(diǎn)在每個(gè)通訊周期內(nèi)都可在其所占有的Slot內(nèi)發(fā)送,兩個(gè)節(jié)點(diǎn)也可在不同的通道上共享同一Slot,單個(gè)Slot也可為空(即不被任何節(jié)點(diǎn)占用),所有的幀和Slots在靜態(tài)段都具有相同的長(zhǎng)度。單個(gè)Slot的長(zhǎng)度由總線中最長(zhǎng)的FlexRay Message決定,其包括四部分:Action Point Offset、FlexRay Frame、Channel Idle Delimiter(11個(gè)隱性位)和Channel Idle。

2、動(dòng)態(tài)段(Dynamic Segment)

動(dòng)態(tài)段采用FTDMA(Flexible Time Division Multiple Access)方式,由較小的時(shí)隙(Minislot)組成,可根據(jù)需要拓展變動(dòng),一般用于傳輸事件控制型消息。

在動(dòng)態(tài)段每幀可能有不同的長(zhǎng)度,動(dòng)態(tài)時(shí)隙(Dynamic Slot)的長(zhǎng)度依賴于幀的長(zhǎng)度,只有空的Slot才是實(shí)際的一個(gè)Minislot的大小。

3、特征窗(Symblo Window)

用于傳輸特征符號(hào),FlexRay的符號(hào)有三種:

-沖突避免符號(hào):用于冷啟動(dòng)節(jié)點(diǎn)的通訊啟動(dòng)

-測(cè)試符號(hào):用于總線的測(cè)試

-喚醒符號(hào):用于喚醒過(guò)程的初始化

4、網(wǎng)絡(luò)空閑時(shí)間(NIT-Network Idle Time)

用于時(shí)鐘同步處理

如下是一個(gè)通訊示例:

FlexRay總結(jié)

從上面可看出,FlexRay相比傳統(tǒng)LIN、 CAN和CAN FD要更復(fù)雜一些,因此不管對(duì)OEM還是供應(yīng)商的能力要求勢(shì)必提高不少,其次從傳統(tǒng)總線技術(shù)向FlexRay遷移在成本及Effort上都要增加很多,普遍應(yīng)用仍需要時(shí)間。

參考文獻(xiàn):

1、FlexRay introduction(EB、Vector、BOSCH等資料)

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)