FlexRay 介绍
汽車上的總線技術包括:LIN、CAN、CAN FD、FlexRay、MOST及Ethernet,我們之前已經分享了LIN,CAN、CAN FD總線。在開始閱讀之前,如果你對已介紹的總線技術還不了解的話,可以先閱讀以下文章快速溫習一下~
說一說LIN總線
CAN總線基礎(一)
CAN總線基礎(下)
CAN FD 介紹
FlexRay背景
隨著汽車電子技術的不斷發展和系統的集成化,我們可不需要傳統的機械傳遞控制信號而是通過電子手段來駕駛汽車,而這一電子手段即X-By-Wire(X代表汽車中的各個系統,By-Wire可稱為電子線控),如線控轉向(Steering-By-Wire),線控制動(Brake-By-Wire),線控技術主要應用在主動安全等關鍵系統中,這些場合都對信息的實時性和安全性有很高的要求。
另一方面隨著汽車電子電器架構復雜度的提升尤其當前輔助駕駛系統、無人駕駛技術的快速發展,傳統的LIN、CAN總線已不堪重負且無法滿足未來高帶寬的要求,
上期講的CAN FD只是對傳統CAN總線的一種擴展和過渡,首先其不會對原有的整車網絡帶來大的變更,具備很好的兼容性又具有不錯的傳輸速率(最高2Mbps),其次LIN CAN總線在汽車上已應用了這么多年,若突然向新的總線技術遷移(如本期講的FlexRay)會帶來開發遷移量、時間成本、硬件成本等方面的同步提升(所有節點必須升級為FlexRay節點),因此CAN FD在當前階段是很好的過渡方案。但當同時考慮X-By-Wire應用場景和更高的帶寬要求時,CAN FD則無法滿足,而FlexRay則非常適用,但FlexRay的應用對OEM的能力要求相比CAN會提高很多。
FlexRay聯盟
FlexRay的出現和發展離不開2000年由Daimler Crysler 、 BMW 、Motorola 和Philips創建的FlexRay聯盟的推動。該聯盟的目標是開發一種獨立于OEM、確定性和容錯的FlexRay通信標準,該聯盟的每個成員都可以使用該標準而無需支付許可費。目前FlexRay聯盟的核心成員包括:BOSCH 、BMW、Daimler AG、General Motors、Volkswagen AG、NXP Semiconductors。
FlexRay聯盟在2010年發布了3.0.1版規范,開始推動作為ISO標準,并在2013年發布了ISO 17458標準規范。
第一款采用FlexRay的量產車于2006年底在BMW X5中推出,應用在電子控制減震系統中,2008年,全新BMW 7系全面采用了FlexRay。另外Audi、Mercedes-Benz以及領克等車型上也逐漸應用。
FlexRay通訊特點及拓撲
FlexRay是專為車內局域網設計的一種具備故障容錯的高速可確定性車載總線系統,采用了基于時間觸發的機制且具有高帶寬、容錯性好等特點,在實時性、可靠性及靈活性方面都有很大的優勢,非常適用于安全性要求較高的線控場合及帶寬要去高的場合。
1、高速率和容錯性
FlexRay支持兩通道,可通過一個或兩個通道進行數據傳輸,單個通道的數據傳輸速率可達10Mbps,通過兩通道平行傳輸數據時可達20Mbps。也可通過雙通道傳輸相同的數據(真實情況大多應用的方式),當其中某個通道出現故障或信息有誤時,另一通道可繼續正常傳輸,并影響整個網絡的數據通訊,通過這種冗余備份實現很好的容錯性。
2、確定性
FalexRay是一種時間觸發式的總線系統,符合TDMA(Time Division Multiple Access)的原則,因此在時間控制區域內,時隙會分配給確定的消息,即會將規定好的時間段分配給特定的消息,時隙是經固定周期重復,也就是說信息在總線上的時間可以被預測出來,因此保證了其確定性。這就意味著控制信號是根據預定義的時間進度傳輸的,無論系統外部發生什么情況,都不會產生計劃外事件。在確定性算法中,始終會預先定義正確的輸出結果,這些結果是基于特定輸入的。
3、靈活性
FlexRay除了支持時間觸發式通訊外,還可通過事件觸發來進行數據的傳輸,例如對于時間要求不高的信息,可配置在事件控制區域內傳輸,可形成以時間觸發為主,兼顧事件觸發的靈活特性。
此外,FlexRay的拓撲是多樣的,有線型、星型和混合型三大類,再結合單通道和雙通道的使用(FlexRay的兩個通道可相互獨立實現,所以兩個通道可采用不同的拓撲結構,如一個通道為主動星型拓撲,另一個為總線拓撲結構),所以最終組合的結果可形成很多種。再例如既有點對點的線性結構和多節點的線性結構,還有增加冗余性的雙通道星型拓撲結構等等。
FlexRay數據傳輸
FlexRay規范定義了OSI參考模型中的物理層和數據鏈路層,每個FlexRay節點通過一個FlexRay Controller和兩個FlexRay Transceivers(用于通道冗余)與總線相連,FlexRay Controller負責Flexray協議中的數據鏈路層,FlexRay Transceivers則負責總線物理信號接收發送。
FlexRay可采用屏蔽或不屏蔽的雙絞線,每個通道有兩根導線,即總線正(Bus-Plus,BP)和總線負(Bus-Minus,BM)組成。采用不歸零法(NRZ,Non-Return to Zero)進行編碼。
可通過測量BP和BM之間的電壓差識別總線狀態,這樣可減少外部干擾對總線信息的影響,因這些干擾同時作用在兩根導線上可相互抵消。
每一通道需使用80~110歐的終端電阻。將不同的電壓加載在一個通道的兩根導線上,可使總線有四種狀態:Idle_Lp(Low power)、Idle、Data_0和Data_1
顯性:差分電壓不為0V(Data_0和Data_1)
隱性:差分電壓為0V(Idle_Lp、Idle)
FlexRay幀格式
FlexRay幀由起始段、有效負載段和結束段三大部分構成。
1、起始段:由40個bits構成(5 bytes),包括
-Status Bits-5bits
-Frame ID-11bits
-Payload Length-7 bits
-Hedaer CRC-11bits
-Cycle count -6 bits
其中5bits的Status Bits包含四類指示符:
Frame ID:數據標志符,定義了在時間窗口(Slot)中發送的號碼,每個通道數據標志符需唯一。
Payload Length:工作區長度,指示該幀含有的有效數據長度,在每個Cycle下的靜態區中,每幀的數據長度是相同的,在動態區的長度則是不同的。
Hedaer CRC:用于起始段冗余校驗,檢查傳輸中的錯誤。
Cycle count:循環計數器。
2、有效負載段
包含要傳輸的有效數據,有效數據長度最大254個Bytes(0~127個Words),
3、結束段
包含24 ?Bits的檢驗域,由起始段和有效負載段計算得出的CRC校驗碼,計算CRC時,根據網絡傳輸順序從保留位到有效負載段的最后一位放到CRC生成器中進行計算。
FlexRay編碼
編碼的過程實際就是對要發送的數據進行一定的打包處理,即在節點可傳輸帶有主計算機數據的數據前需將其轉換為“比特流(Bitstream)”。
RxD為接收信號,TxD為發送信號,TxEN為通訊控制器請求數據,對于靜態幀和動態幀分別按照如下方式進行編碼。
其中TSS(傳輸啟動序列):用于初始化節點和網絡通訊的對接(5~15位的低電平);FSS(幀啟動序列):用于補償TSS后第一個字節可能出現的量化誤差(一位高電平);BSS(字節啟動序列):給接收節點提供數據定時信息(一位高電平并緊隨一位低電平);FES(幀結束序列):用于標識數據幀最后一個字節序列結束(一位低電平緊隨一位高電平)。
對于動態區數據還額外需要DST(動態段尾部序列):僅用于動態幀傳輸,用于表明動態段中傳輸時動作點的精確時間防止接收段過早檢測到網絡空閑狀態(一位長度可變的低電平和高電平)。
將這些序列和有效位(MSB到LSB)組裝起來完成了編碼過程,最終構成在網絡傳播的比特流。
FlexRay通訊
FlexRay總線的通訊由通訊周期(Communication Cycle)構成,從總線啟動到停止都在不斷重復該通訊周期。每個通訊周期具有相同的可配置時間間隔,且每個通訊周期由下面四部分構成:
1、靜態段(Static Segment)
靜態段采用TDMA(Time Division Multiple Access)方式由固定的時隙(Slot)組成,不可更改且所有時隙大小一致。
因此每個節點可擁有一個或多個Slots,這樣每個節點在每個通訊周期內都可在其所占有的Slot內發送,兩個節點也可在不同的通道上共享同一Slot,單個Slot也可為空(即不被任何節點占用),所有的幀和Slots在靜態段都具有相同的長度。單個Slot的長度由總線中最長的FlexRay Message決定,其包括四部分:Action Point Offset、FlexRay Frame、Channel Idle Delimiter(11個隱性位)和Channel Idle。
2、動態段(Dynamic Segment)
動態段采用FTDMA(Flexible Time Division Multiple Access)方式,由較小的時隙(Minislot)組成,可根據需要拓展變動,一般用于傳輸事件控制型消息。
在動態段每幀可能有不同的長度,動態時隙(Dynamic Slot)的長度依賴于幀的長度,只有空的Slot才是實際的一個Minislot的大小。
3、特征窗(Symblo Window)
用于傳輸特征符號,FlexRay的符號有三種:
4、網絡空閑時間(NIT-Network Idle Time)
用于時鐘同步處理
如下是一個通訊示例:
FlexRay總結
從上面可看出,FlexRay相比傳統LIN、 CAN和CAN FD要更復雜一些,因此不管對OEM還是供應商的能力要求勢必提高不少,其次從傳統總線技術向FlexRay遷移在成本及Effort上都要增加很多,普遍應用仍需要時間。
參考文獻:
1、FlexRay?introduction(EB、Vector、BOSCH等資料)
?FlexRay 介紹 (qq.com)
總結
以上是生活随笔為你收集整理的FlexRay 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用CANoe作为网关的FlexRay
- 下一篇: 制作后台网页