◆文/北京 景忠玉
隨著汽車控制技術(shù)向智能化方向發(fā)展,智能網(wǎng)聯(lián)汽車、無(wú)人駕駛汽車的興起,車載控制元件不斷增加。通過(guò)CAN總線、LIN總線實(shí)現(xiàn)聯(lián)網(wǎng)的方式接收、發(fā)送并處理大量的數(shù)據(jù)已經(jīng)難以滿足要求,而傳輸速率更高、容錯(cuò)功能更強(qiáng)、拓?fù)溥x擇更全面、同時(shí)具備事件觸發(fā)和時(shí)間觸發(fā)的新型數(shù)據(jù)總線——FlexRay總線應(yīng)運(yùn)而生。
FlexRay總線是FlexRay聯(lián)盟(戴姆勒克萊斯勒等諸多加盟公司)推出的車載總線標(biāo)準(zhǔn),由于卓越的性能,F(xiàn)lexRay總線已逐漸成為汽車網(wǎng)絡(luò)系統(tǒng)的標(biāo)桿。
FlexRay總線采用快速以太網(wǎng)(100Mbit/s,IEEE803.3u標(biāo)準(zhǔn))作為編程接口,應(yīng)用雙芯雙絞電纜線進(jìn)行傳輸,最大數(shù)據(jù)傳輸速率為每通道10MBit/s,主要應(yīng)用在線控轉(zhuǎn)向、線控動(dòng)力、線控制動(dòng)系統(tǒng)方面,用來(lái)進(jìn)行車距控制、行駛動(dòng)態(tài)控制和圖像處理。
FlexRay總線支持同步數(shù)據(jù)傳輸(時(shí)間觸發(fā)通信)和異步數(shù)據(jù)傳輸(事件驅(qū)動(dòng)通信),既滿足總線系統(tǒng)工作的可靠性,又具有較高的故障容錯(cuò)能力,是汽車安全及行駛動(dòng)態(tài)管理系統(tǒng)控制單元的理想總線。
車載總線節(jié)點(diǎn)(Node or Nodus)是指汽車總線中能完成數(shù)據(jù)信號(hào)發(fā)送、接收及轉(zhuǎn)發(fā)的電子控制單元(控制模塊),是車載網(wǎng)絡(luò)系統(tǒng)中的通信端點(diǎn)或終端設(shè)備。總線節(jié)點(diǎn)的核心是ECU(Electronic Control Unit),也就是節(jié)點(diǎn)在汽車聯(lián)網(wǎng)系統(tǒng)中屬于有源電子設(shè)備,線路連接點(diǎn)、配線架、插接板、線路結(jié)點(diǎn)不屬于總線節(jié)點(diǎn)。
如圖1所示,F(xiàn)lexRay總線節(jié)點(diǎn)由供電(Power Supply)、控制部分和驅(qū)動(dòng)部分組成??刂撇糠职ㄒ粋€(gè)主處理器Host(Microcontroller)和一個(gè)通信控制器CC(Communication Controller)。CC提供與數(shù)據(jù)電路和與Host的電氣接口,將數(shù)據(jù)電路上的字符拆卸為串行比特流,或者將數(shù)據(jù)電路上的串行比特流組裝為字符。
圖1 FlexRay總線節(jié)點(diǎn)結(jié)構(gòu)
驅(qū)動(dòng)部分包括總線驅(qū)動(dòng)器BD(Bus Driver)和總線監(jiān)控器BG(Bus Guardian),總線驅(qū)動(dòng)器BD將通信控制器CC與總線(FlexRay-BUS, Ch-A, Ch-B)相連,總線監(jiān)控器BG用以監(jiān)視接入總線的連接。
FlexRay總線節(jié)點(diǎn)中的主處理器Host負(fù)責(zé)提供和產(chǎn)生數(shù)據(jù),把FlexRay總線控制器分配的時(shí)間槽通知給總線監(jiān)視器BG,同時(shí)激活總線驅(qū)動(dòng)器BD,總線監(jiān)視器則允許FlexRay總線控制器在分配的時(shí)間槽(一個(gè)或多個(gè))內(nèi)通過(guò)通信控制器CC進(jìn)行數(shù)據(jù)信息的傳送。FlexRay總線也有小的時(shí)間槽,如果其計(jì)數(shù)器與信息ID相一致,則節(jié)點(diǎn)發(fā)送信息。時(shí)間槽會(huì)按照需要的時(shí)間來(lái)擴(kuò)展,節(jié)點(diǎn)發(fā)送信息之后,小時(shí)間槽計(jì)數(shù)器會(huì)+1。當(dāng)FlexRay總線空閑時(shí),小時(shí)間槽計(jì)數(shù)器同樣也會(huì)+1。由此可見,每個(gè)節(jié)點(diǎn)都有機(jī)會(huì)發(fā)送數(shù)據(jù)信息,F(xiàn)lexRay總線系統(tǒng)實(shí)現(xiàn)了介質(zhì)共享。
時(shí)間槽和節(jié)點(diǎn)Node信息的ID是相對(duì)應(yīng)的,通過(guò)時(shí)間槽可以確定發(fā)送數(shù)據(jù)的節(jié)點(diǎn)。發(fā)送數(shù)據(jù)可定義為在CC中進(jìn)行編碼,接收數(shù)據(jù)可定義為在CC中進(jìn)行解碼。一旦總線監(jiān)控器BG監(jiān)測(cè)到時(shí)間時(shí)序存在間隔,則會(huì)斷開總線通信信道的連接。
如圖2所示,寶馬轎車集成式底盤管理系統(tǒng)ECU(主節(jié)點(diǎn)ICM,集成式底盤管理系統(tǒng)控制單元)能進(jìn)行動(dòng)力傳動(dòng)系統(tǒng)、動(dòng)態(tài)穩(wěn)定控制及主動(dòng)轉(zhuǎn)向系統(tǒng)數(shù)據(jù)信號(hào)的讀取和處理。ICM可以讀取與之關(guān)聯(lián)的所有傳感器傳送來(lái)的數(shù)據(jù)信號(hào),這些信號(hào)不僅為ICM控制系統(tǒng)所用,同時(shí)借助車載總線被傳送至其他系統(tǒng)并被相應(yīng)節(jié)點(diǎn)接收使用。ICM內(nèi)的中央行駛動(dòng)態(tài)協(xié)調(diào)控制系統(tǒng)通過(guò)評(píng)估車輛并依據(jù)采集的信息對(duì)車輛行駛狀態(tài)進(jìn)行調(diào)整和干預(yù),確保行車安全和行駛的穩(wěn)定性。
(1)幀格式
如圖3所示,F(xiàn)lexRay幀格式包括幀頭段(Header segment)、有效載荷段(Payload segment)及幀尾段(Trailer segment)。節(jié)點(diǎn)在網(wǎng)絡(luò)上傳輸數(shù)據(jù)時(shí),首先傳輸?shù)氖菐^段,其次是有效載荷段,最后傳輸?shù)氖菐捕巍?/p>
幀頭段(Header Segment)主要用來(lái)識(shí)別幀及該幀在時(shí)間觸發(fā)中的優(yōu)先級(jí)。幀頭段(圖4)有5個(gè)字節(jié),一個(gè)字節(jié)為8位,共40位(bit)。其中,保留位(1位)、凈荷指示位(1位)、空幀指示位(1位)、同步幀指示位(1位)、啟動(dòng)幀指示位(1位)、幀ID位(11)、有效數(shù)據(jù)長(zhǎng)度(7位)、頭部CRC(11位)、周期(6位)。
有效載荷段(Payload Segment)用來(lái)傳送數(shù)據(jù)。有效載荷段(圖5),0-254位,包括數(shù)據(jù)、信息ID、網(wǎng)絡(luò)管理向量3個(gè)部分。
圖2 寶馬轎車集成式底盤管理系統(tǒng)信號(hào)處理和分配
圖3 FlexRay幀格式
圖4 幀頭段
圖5 有效載荷段
幀尾段(Trailer Segment)用以檢測(cè)錯(cuò)誤。幀尾段(圖3中藍(lán)色部分)有3個(gè)字節(jié)、且只含有24位的校驗(yàn)域,這個(gè)域包含了由幀頭段與有效載荷段計(jì)算得出的CRC校驗(yàn)碼。計(jì)算幀CRC時(shí),根據(jù)網(wǎng)絡(luò)傳輸順序?qū)谋A粑婚_始,到有效載荷段最后一個(gè)字節(jié)的最后一位結(jié)束,這些數(shù)據(jù)都放入CRC生成器中進(jìn)行計(jì)算。
(2)幀編碼與解碼
如圖6所示,F(xiàn)lexRay總線幀編碼就像是對(duì)要發(fā)送的信息進(jìn)行 “打包”,比如,加上校驗(yàn)碼、ID符等。而幀解碼就像是對(duì)接收到的信息進(jìn)行“解包”。編碼與解碼主要發(fā)生在通訊控制器CC與總線驅(qū)動(dòng)器BD之間。
圖6 FlexRay幀編碼與解碼
在圖6中,RxD為接受信號(hào),TxD為發(fā)送信號(hào),TxEN為通訊控制器請(qǐng)求數(shù)據(jù)信號(hào)。信息的二進(jìn)制表示采用“不歸零”碼。對(duì)于雙通道的節(jié)點(diǎn),每個(gè)通道上的編碼與解碼的過(guò)程是同時(shí)完成的。編碼與解碼的過(guò)程主要由3個(gè)過(guò)程組成:主編碼與解碼過(guò)程(CODEC)、過(guò)濾(bit strobing)過(guò)程和喚醒模式解碼過(guò)程(WUPDEC)。主編碼與解碼過(guò)程為主要過(guò)程。圖7所示為信息發(fā)送過(guò)程,圖8所示為信息接收過(guò)程。
圖7 FlexRay總線信息發(fā)送過(guò)程
圖8 FlexRay總線信息接收過(guò)程
(3)冗余信息傳輸
在容錯(cuò)性系統(tǒng)中,即使某一總線導(dǎo)線斷路,也必須確保數(shù)據(jù)能繼續(xù)可靠傳輸。這一點(diǎn)通過(guò)在第二個(gè)數(shù)據(jù)通道上進(jìn)行冗余信息傳輸來(lái)實(shí)現(xiàn),圖9為FlexRay冗余信息傳輸示意圖。具有冗余信息傳輸能力的總線系統(tǒng)使用兩個(gè)彼此無(wú)關(guān)的通道。每個(gè)通道都由一個(gè)雙絞線連接組成。一個(gè)通道失靈時(shí),故障通道應(yīng)傳輸?shù)男畔⒎诺椒枪收贤ǖ郎弦黄饌鬏敗?4)FlexRay總線信號(hào)特性
圖9 FlexRay冗余信息傳輸
FlexRay 總線系統(tǒng)是數(shù)據(jù)傳輸率較高且電壓電平變化較快的通信總線。圖10、圖11分別為FlexRay總線信號(hào)的正常波形和非正常波形(所示波形須用快速示波器顯示),F(xiàn)lexRay總線信號(hào)必須在規(guī)定界限內(nèi)。無(wú)論在時(shí)間軸上還是在電壓軸上,電氣信號(hào)都不得進(jìn)入內(nèi)部區(qū)域內(nèi)。
電壓高低(電平)以及電壓上升沿和下降沿斜率有嚴(yán)格規(guī)定,必須達(dá)到規(guī)定數(shù)值,否則,不得進(jìn)入圖10所標(biāo)記的綠色六邊形“區(qū)域”(或圖11所標(biāo)記的紅色六邊形“區(qū)域”)。
圖10 FlexRay總線波形(正常)
圖11 FlexRay總線波形(不正常)
從圖10可以看出FlexRay總線系統(tǒng)的電壓范圍電壓值(對(duì)地測(cè)量方式):系統(tǒng)接通, 而FlexRay總線不通信時(shí),F(xiàn)lexRay總線高、低壓電壓均為 2.5V;當(dāng)FlexRay總線通信時(shí),高電平電壓上升0.6V,為3.1V;低電平電壓下降0.6V,為1.9V。因電纜安裝不正確、接觸電阻等產(chǎn)生的電氣故障可能引起數(shù)據(jù)傳輸率問(wèn)題。
(5)實(shí)時(shí)信息傳輸
FlexRay總線采用時(shí)間觸發(fā)與事件觸發(fā)相結(jié)合的訪問(wèn)方式,對(duì)于時(shí)間要求高的信息,可實(shí)現(xiàn)實(shí)時(shí)信息傳輸,即在規(guī)定時(shí)間內(nèi)進(jìn)行數(shù)據(jù)信息的傳輸。FlexRay總線系統(tǒng)在時(shí)間控制的區(qū)域內(nèi)按時(shí)隙分配信息。一個(gè)時(shí)隙是指一個(gè)規(guī)定的時(shí)間段,該時(shí)間段對(duì)某一信息(比如轉(zhuǎn)速信號(hào))開放。對(duì)于時(shí)間要求不高的信息則在事件控制的區(qū)域內(nèi)傳輸,如圖12所示FlexRay總線實(shí)時(shí)信息傳輸。
FlexRay 總線對(duì)于重要的周期性信息一般以固定的時(shí)間間隔傳輸,確定性信息傳輸用于確保時(shí)間控制區(qū)域內(nèi)的每條信息都能實(shí)現(xiàn)實(shí)時(shí)傳輸。因此,F(xiàn)lexRay 總線能保證即使系統(tǒng)過(guò)載也不會(huì)導(dǎo)致重要信息發(fā)送延遲。CAN總線主要采用事件觸發(fā)方式,有時(shí)會(huì)因?yàn)閭魉偷男畔⑦^(guò)多過(guò)于集中,造成總線系統(tǒng)過(guò)載而導(dǎo)致一些信息發(fā)送遲滯,影響控制的精準(zhǔn)性。
圖12 FlexRay總線實(shí)時(shí)信息傳輸