郭海雙 劉 杰 王 義
(貴州師范大學(xué)大數(shù)據(jù)與計(jì)算機(jī)科學(xué)學(xué)院1,貴州 貴陽 550001;貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院2,貴州 貴陽 550025;貴州師范大學(xué)物理與電子科學(xué)學(xué)院3,貴州 貴陽 550001)
?
汽車高速通信網(wǎng)絡(luò)控制單元研究
郭海雙1劉杰2王義3
(貴州師范大學(xué)大數(shù)據(jù)與計(jì)算機(jī)科學(xué)學(xué)院1,貴州 貴陽550001;貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院2,貴州 貴陽550025;貴州師范大學(xué)物理與電子科學(xué)學(xué)院3,貴州 貴陽550001)
為拓展FlexRay總線在各種復(fù)雜網(wǎng)絡(luò)中的應(yīng)用,針對FlexRay總線開發(fā)流程復(fù)雜的問題,采用飛思卡爾公司的微控制器和恩智浦公司的收發(fā)器,設(shè)計(jì)了滿足FlexRay通信協(xié)議的節(jié)點(diǎn)最小系統(tǒng)。該系統(tǒng)提供擴(kuò)展接口,可滿足實(shí)際需求。實(shí)踐表明,該系統(tǒng)能夠?qū)崿F(xiàn)兩節(jié)點(diǎn)間數(shù)據(jù)的高速通信,符合設(shè)計(jì)要求,為實(shí)現(xiàn)更復(fù)雜的網(wǎng)絡(luò)通信提供了參考。
汽車電子網(wǎng)絡(luò)控制總線開發(fā)FlexRay最小系統(tǒng)冗余電子控制單元高速通信
High-speed communication
由于汽車電子化程度與日俱增,汽車上的電子模塊數(shù)量和通信線束也隨之增加,不僅增加了汽車成本,而且影響汽車行駛安全。為了嚴(yán)格控制汽車制造成本和車身質(zhì)量,減少線束已成為必要目標(biāo)。為了滿足這一需求,BWM、Daimler Chrysler、Motorola和Philips等公司聯(lián)合制定了功能強(qiáng)大的FlexRay通信網(wǎng)絡(luò)協(xié)議。該協(xié)議標(biāo)準(zhǔn)具有良好的發(fā)展前景,可滿足未來汽車應(yīng)用需求[1]。
FlexRay總線具有高容錯(cuò)和高速率的特點(diǎn),適合在安全和復(fù)雜網(wǎng)絡(luò)下應(yīng)用。為了推動(dòng)FlexRay在復(fù)雜網(wǎng)絡(luò)下的應(yīng)用,使之不僅局限于汽車控制總線,應(yīng)將FlexRay應(yīng)用最大化。本文在介紹FlexRay總線通信原理的基礎(chǔ)上,設(shè)計(jì)了滿足FlexRay通信協(xié)議的節(jié)點(diǎn)最小系統(tǒng)。該系統(tǒng)滿足FlexRay通信協(xié)議,體積小、成本低、制作簡單,并提供擴(kuò)展接口。
本文首先介紹了FlexRay總線,包括FlexRay的技術(shù)特點(diǎn)和通信原理;然后給出了FlexRay總線最小節(jié)點(diǎn)軟硬件設(shè)計(jì)方法;最后向最小系統(tǒng)中載入測試程序,分析驗(yàn)證最小通信系統(tǒng)實(shí)現(xiàn)總線高速通信的可行性。
1.1FlexRay總線特點(diǎn)
FlexRay是新一代汽車總線技術(shù),給傳統(tǒng)的控制系統(tǒng)結(jié)構(gòu)帶來了革命性的變化,并形成了新型的網(wǎng)絡(luò)化數(shù)字化分布式控制系統(tǒng)。FlexRay協(xié)議規(guī)定了車輛通信系統(tǒng)節(jié)點(diǎn)組網(wǎng)所需要的基本物理元素,即滿足FlexRay通信協(xié)議的通信控制單元、總線驅(qū)動(dòng)器、傳輸媒介、拓?fù)浣Y(jié)構(gòu)等。FlexRay總線技術(shù)特點(diǎn)如下。
①高通信率。FlexRay可以進(jìn)行雙通道冗余通信,每個(gè)通信通道的速率可達(dá)10 Mbit/s,帶寬不受協(xié)議機(jī)制的限制,兩條數(shù)據(jù)總線速率可達(dá)20 Mbit/s,遠(yuǎn)高于CAN總線和LIN總線。
②時(shí)間確定性。FlexRay總線采用時(shí)分多址(time division multiple access,TDMA)的數(shù)據(jù)傳輸方式循環(huán)通信,數(shù)據(jù)在通信周期中擁有固定位置,并且消息傳輸延遲也是確定的,以確保消息傳輸?shù)臅r(shí)效性。
③分布式時(shí)鐘同步。FlexRay總線的時(shí)基精確度達(dá)到1 μs,在協(xié)議控制下能夠自動(dòng)建立和同步,以保證數(shù)據(jù)的正確傳輸。
④容錯(cuò)數(shù)據(jù)傳輸。FlexRay總線具有專用確定性故障容錯(cuò)協(xié)議,支持多級別的容錯(cuò)能力,包括冗余傳輸和可擴(kuò)展系統(tǒng)容錯(cuò)機(jī)制,以確保數(shù)據(jù)傳輸?shù)目煽啃訹2]。
⑤靈活性。FlexRay總線支持多種拓?fù)浣Y(jié)構(gòu),包括總線型、星型、級聯(lián)星型及混合型等,能有效解決單一總線的局限性,支持時(shí)間觸發(fā)和事件觸發(fā),并提供大量配置參數(shù),供用戶靈活調(diào)整、擴(kuò)展[3]。
1.2FlexRay總線通信原理
FlexRay為接受通信模塊提供了一種差分電壓連接。差分電壓通過測量兩個(gè)表示為BP、BM的信號線得到。差分電壓的四個(gè)值代表了總線的四種不同通信狀態(tài)。任何兩個(gè)節(jié)點(diǎn)之間的通信,都需要一個(gè)發(fā)送器和接收器電路,它們被整合到總線中,稱作總線驅(qū)動(dòng)器[4]。
總線驅(qū)動(dòng)器提供了FlexRay節(jié)點(diǎn)模塊和通道之間的物理層接口,使總線具備了差動(dòng)發(fā)送和接收功能,確保節(jié)點(diǎn)模塊能夠進(jìn)行雙向時(shí)分復(fù)用的二進(jìn)制數(shù)據(jù)流傳輸;其還具備了低電壓管理、供電監(jiān)測及總線故障監(jiān)測功能,以及總線和節(jié)點(diǎn)的靜電釋放(electro static discharge,ESD)保護(hù)屏障功能。
總線控制器通過總線驅(qū)動(dòng)器接口,實(shí)現(xiàn)了對總線驅(qū)動(dòng)器的控制。總線驅(qū)動(dòng)器接口包括通信控制器接口、總線監(jiān)視器接口、主機(jī)接口、電源接口、電平轉(zhuǎn)換接口。通信控制器接口通過控制TxD、TxEN、RxD信號,實(shí)現(xiàn)了對總線信號狀態(tài)的控制,分別是GND電壓狀態(tài)Idle_LP、某一確定電壓狀態(tài)Idle、正差分電壓狀態(tài)Data_1和負(fù)差分電壓狀態(tài)Data_0。主機(jī)接口實(shí)現(xiàn)了主機(jī)對驅(qū)動(dòng)控制器工作模式、狀態(tài)和診斷信息的控制。總線驅(qū)動(dòng)器工作模式包括正常工作模式、待機(jī)模式、睡眠模式、只接收模式。待機(jī)模式和睡眠模式為低功耗模式,正常模式和只接收模式為非低功耗模式。四種工作模式狀態(tài)轉(zhuǎn)換圖如圖1所示。其中,只接收模式和睡眠模式為可選模式。
圖1中:1~12為轉(zhuǎn)換條件。1為主機(jī)檢測到喚醒事件,2為主機(jī)檢測到喚醒事件或欠壓,3~10為主機(jī)命令,11為主機(jī)命令或檢測到VBAT或VIO欠壓,12為上電喚醒。
圖1 工作模式狀態(tài)轉(zhuǎn)換圖Fig.1 Conversion of working modes of state
FlexRay基本協(xié)議運(yùn)行行為包括編碼和解碼、媒體介入控制、幀和特征符處理、時(shí)鐘同步??刂破髦鳈C(jī)接口為主機(jī)運(yùn)行提供了上述核心機(jī)制,協(xié)議運(yùn)行控制器并不知道主機(jī)發(fā)出的指令,主機(jī)與通信控制器的交互通過控制器主機(jī)接口實(shí)現(xiàn),控制器主機(jī)接口負(fù)責(zé)向協(xié)議運(yùn)行控制器轉(zhuǎn)發(fā)相關(guān)指令。同樣地,協(xié)議運(yùn)行控制器提供給主機(jī)的狀態(tài)信息也被當(dāng)作是提供給控制器主機(jī)接口的,而實(shí)際上其是由控制器主機(jī)負(fù)責(zé)將相關(guān)信息格式化后,以指定方式傳遞給主機(jī)的??刂破髦鳈C(jī)接口在通信控制器和主機(jī)之間起到橋梁作用。FlexRay通信原理如圖2所示[5]。
圖2 FlexRay通信原理示意圖Fig.2 Principle of FlaxRay communication
FlexRay的編碼實(shí)際上就是對要發(fā)送的數(shù)據(jù)進(jìn)行“打包”的過程,如對數(shù)據(jù)幀加載符號位(ID)與校驗(yàn)位。解碼就是“解包”的過程,將接收到的數(shù)據(jù)幀里的ID與校驗(yàn)位濾掉。編碼與解碼主要發(fā)生在通信控制器與總線驅(qū)動(dòng)器之間。一個(gè)數(shù)據(jù)幀的結(jié)構(gòu)包括幀頭、有效數(shù)據(jù)段和幀尾。幀頭由保留位、有效負(fù)載預(yù)先指示位、空幀指示位、同步幀指示位、啟動(dòng)幀指示位、幀ID、有效負(fù)載數(shù)據(jù)長度、幀頭CRC和周期計(jì)數(shù)位組成[4]。有效數(shù)據(jù)段包括數(shù)據(jù)、消息ID和網(wǎng)絡(luò)管理向量。幀尾包括幀頭CRC和數(shù)據(jù)幀CRC。FlexRay的通信是在周期循環(huán)中進(jìn)行的。一個(gè)通信循環(huán)始終包括靜態(tài)段和網(wǎng)絡(luò)閑置時(shí)間,它還可能包括一個(gè)動(dòng)態(tài)段、一個(gè)符號窗口,靜態(tài)段和動(dòng)態(tài)段由時(shí)槽間隔構(gòu)成。靜態(tài)段內(nèi),用于傳輸消息的時(shí)隙均可配置且固定相同;動(dòng)態(tài)段內(nèi),每個(gè)動(dòng)態(tài)時(shí)隙的時(shí)間長度都是變化可調(diào)的,以滿足不同長度的動(dòng)態(tài)幀的數(shù)據(jù)傳輸。協(xié)議內(nèi)部流程的網(wǎng)絡(luò)閑置時(shí)間用于節(jié)點(diǎn)計(jì)算并申請時(shí)鐘校正,網(wǎng)絡(luò)閑置時(shí)間由通信周期內(nèi)剩余的時(shí)隙構(gòu)成[6]。
在靜態(tài)段中,采用TDMA技術(shù)實(shí)現(xiàn)時(shí)間觸發(fā)。為了規(guī)劃數(shù)據(jù)傳輸?shù)臅r(shí)間,每個(gè)節(jié)點(diǎn)都具備兩個(gè)時(shí)隙計(jì)數(shù)器,以分別記錄A通道和B通道的時(shí)隙數(shù),即時(shí)隙計(jì)數(shù)器的狀態(tài)變量。兩個(gè)時(shí)隙計(jì)數(shù)器在每個(gè)通信周期都從1開始計(jì)數(shù),并且每個(gè)時(shí)隙的結(jié)束邊界都會(huì)加1。每個(gè)節(jié)點(diǎn)都會(huì)被分配多個(gè)固定時(shí)隙。當(dāng)分配的時(shí)隙值與時(shí)隙計(jì)數(shù)器值相符時(shí),該時(shí)隙值節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。所有時(shí)隙的大小相同,且從小到大開始編號,最小值為1。在通信過程中,對于不能修改時(shí)隙的分配,在通信開始時(shí)就組合好靜態(tài)部分傳送的信息,以保證傳輸數(shù)據(jù)的最大量不超過分配的最大固定長度。這種訪問方法,使靜態(tài)段中傳輸?shù)奶囟ㄏ⒁呀?jīng)提前知道了消息到達(dá)的時(shí)間,消息傳輸時(shí)發(fā)生臨時(shí)偏差幅度會(huì)非常小,從而將信息延遲和抖動(dòng)降至最低,以盡可能保持傳輸?shù)耐脚c可測試性,這對需要持續(xù)高速性能的應(yīng)用是非常重要的[7]。
動(dòng)態(tài)段用最小時(shí)隙訪問動(dòng)態(tài)部分的通信媒介,和靜態(tài)段數(shù)據(jù)傳輸相似,每個(gè)節(jié)點(diǎn)都有兩個(gè)時(shí)槽計(jì)數(shù)器,不過是獨(dú)立計(jì)數(shù)工作的。各個(gè)節(jié)點(diǎn)利用信息ID中定義好的優(yōu)先級競爭帶寬。如果在最小時(shí)隙中有總線接入,則該時(shí)隙將按照需要的時(shí)間來擴(kuò)展,從而動(dòng)態(tài)改變總線的帶寬。
2.1網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)選擇
網(wǎng)絡(luò)的拓?fù)湫问綄刂葡到y(tǒng)的響應(yīng)速度、穩(wěn)定性、可靠性都具有較大影響。每種拓?fù)浣Y(jié)構(gòu)都需要獨(dú)立的端接方式,無論選用哪種拓?fù)?端接組合構(gòu)成FlexRay網(wǎng)絡(luò),都必須滿足FlexRay電氣物理層規(guī)范中信號完整性的規(guī)定。
本文只是對FlexRay協(xié)議基礎(chǔ)理論及通信原理進(jìn)行研究,因此,網(wǎng)絡(luò)拓?fù)溥x擇最簡單的點(diǎn)對點(diǎn)連接方式,可作為復(fù)雜總線結(jié)構(gòu)的基本元素,兩條總線電纜用圖中的黑實(shí)線表示。點(diǎn)對點(diǎn)網(wǎng)絡(luò)連接如圖3所示。
圖3 點(diǎn)對點(diǎn)網(wǎng)絡(luò)連接示意圖Fig.3 Connections of point to point network
2.2基于FlexRay總線的節(jié)點(diǎn)ECU設(shè)計(jì)
常見的集成FlexRay通信控制器的主控芯片有飛思卡爾的MC9S12XF和MPC56XX、恩智浦的SJA2510、德州儀器公司的TMS570系列,驅(qū)動(dòng)器有奧地利微電子公司的AS8221、恩智浦公司的TJA1080等。
本文設(shè)計(jì)的電子控制單元(electronic control unit,ECU)單元主要包括以下幾個(gè)部分:①中央控制器,采用飛思卡爾公司的MC9S12XF512作為節(jié)點(diǎn)主控制芯片,它是內(nèi)部集成FlexRay通信控制器的16位車用微控制器,可以將信號編碼成符合FlexRay通信協(xié)議的數(shù)據(jù);②FlexRay總線通信模塊,采用恩智浦公司的TJA1080驅(qū)動(dòng)器作為通信收發(fā)控制器;③電源模塊,為中央控制器提供+5 V電壓;④液晶顯示模塊,提供人機(jī)接口,直觀顯示FlexRay通信中的數(shù)據(jù)傳輸;⑤BDM調(diào)試端口模塊,調(diào)制并向中央控制器下載程序;⑥時(shí)鐘模塊。
FlexRay節(jié)點(diǎn)最小系統(tǒng)組成示意圖如圖4所示。
圖4 FlexRay節(jié)點(diǎn)最小系統(tǒng)組成示意圖Fig.4 Composition of the FlexRay node minimum system
①主控單元電路設(shè)計(jì)。
選擇飛思卡爾公司的MC9S12XF512作為節(jié)點(diǎn)主控制芯片,它內(nèi)部集成了單/雙通道的FlexRay控制器,通過設(shè)置傳輸速率,可以實(shí)現(xiàn)單通道2.5/5/8/10 Mbit/s的數(shù)據(jù)傳輸速率,并且該單片機(jī)具有高速率、低功耗、高穩(wěn)定性的優(yōu)點(diǎn)[8]。本設(shè)計(jì)在外部配置40 MB的時(shí)鐘晶振電路、復(fù)位電路、+5 V電源濾波去耦電路和保險(xiǎn)絲保護(hù)電路,設(shè)置單片機(jī)的通用輸入/輸出口的PA口為液晶控制口,將PAD的11、12、13、14、15引腳與LCD的3、5、14、16、18引腳相連接。
②驅(qū)動(dòng)模塊和電源電路設(shè)計(jì)。
節(jié)點(diǎn)ECU CC正常運(yùn)行需要+5 V供電電壓,汽車上一般提供的是12 VDC電壓,通過穩(wěn)壓芯片LM2940將+12 V電壓轉(zhuǎn)換所需的+5 V,再通過CLM1117芯片將+5 V電壓轉(zhuǎn)換為控制器內(nèi)部所需的+3.3 V[9],以滿足芯片正常工作電壓。將控制器芯片和總線驅(qū)動(dòng)器進(jìn)行引腳連接,可完成控制器和驅(qū)動(dòng)器之間數(shù)據(jù)傳輸?shù)奈锢韺舆B接。采用+5 V電壓供電,將EN、STBN、BGE腳接高電平,使總線驅(qū)動(dòng)器處于正常工作模式。在輸出端,將總線驅(qū)動(dòng)器中的BP腳和BM腳引出,以完成驅(qū)動(dòng)器和總線的連接。為了去除電路的高頻噪聲、增加電路的電磁兼容性,在電路中加入了保險(xiǎn)絲和濾波電容。
節(jié)點(diǎn)數(shù)據(jù)通信流程圖如圖5所示。
圖5 節(jié)點(diǎn)數(shù)據(jù)通信流程圖Fig.5 Flowchart of node data communication
完成FlexRay總線節(jié)點(diǎn)硬件電路設(shè)計(jì)后,開始進(jìn)行網(wǎng)絡(luò)配置,包括全局參數(shù)網(wǎng)絡(luò)通信速率、通信周期時(shí)間、靜態(tài)和動(dòng)態(tài)通信時(shí)槽數(shù)目、時(shí)槽長度、偏移值和負(fù)載長度等。各個(gè)節(jié)點(diǎn)也要進(jìn)行具體的參數(shù)配置,需由用戶手動(dòng)配置關(guān)鍵性局部參數(shù),包括發(fā)送消息的ID值、緩沖器序號及協(xié)議參數(shù)的配置、時(shí)鐘配置等。當(dāng)通信控制器上電時(shí),協(xié)議運(yùn)行控制就會(huì)自動(dòng)進(jìn)入缺省配置狀態(tài),主機(jī)發(fā)出配置命令,并且對配置信息進(jìn)行檢測。只有在檢測正確后,才會(huì)進(jìn)行配置。通信控制器進(jìn)入配置狀態(tài),對協(xié)議參數(shù)和緩沖器進(jìn)行配置。完成初始化流程后,協(xié)議運(yùn)行控制進(jìn)入準(zhǔn)備狀態(tài),通信控制器就緒并喚醒,同時(shí)觸發(fā)編碼、解碼、幀和特征符處理進(jìn)程等。當(dāng)協(xié)議運(yùn)行控制進(jìn)入到啟動(dòng)狀態(tài)且通信控制器工作在正常主動(dòng)狀態(tài)下,就可以啟動(dòng)或者加入一個(gè)有效通信的節(jié)點(diǎn)簇[10]。
按照上述方案所設(shè)計(jì)的FlexRay通信節(jié)點(diǎn)最小系統(tǒng),可通過BDM模塊接口將測試程序下載到控制器。經(jīng)測試,該系統(tǒng)能實(shí)現(xiàn)高速數(shù)據(jù)傳輸。
本文對FlexRay總線節(jié)點(diǎn)進(jìn)行功能結(jié)構(gòu)分析,構(gòu)建FlexRay總線節(jié)點(diǎn)最小系統(tǒng)[9-12]。采用雙通道冗余通信,經(jīng)過測試滿足系統(tǒng)實(shí)時(shí)容錯(cuò)功能要求,完成了節(jié)點(diǎn)最小系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)流程,并且單片機(jī)功能管腳通過接口引出。該節(jié)點(diǎn)最小系統(tǒng)可作為FlexRay總線研究的核心模塊,并可通過功能擴(kuò)展實(shí)現(xiàn)其他研究,具有較大的實(shí)際應(yīng)用價(jià)值。
[1] 陳智琦,羅峰,陳覺曉,等.FlexRay特性分析及應(yīng)用實(shí)現(xiàn)[C]//2007中國汽車工程學(xué)會(huì)年會(huì)論文集.北京:機(jī)械工業(yè)出版社,2007:62-67.
[2] 吳武飛.基于FPGA/SOPC的汽車網(wǎng)關(guān)平臺(tái)設(shè)計(jì)研究[D].長沙:湖南大學(xué),2013.
[3] 吳寶新,郭永紅,曹毅,等.汽車FlexRay總線系統(tǒng)開發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2012:6-55.
[4] Freescale Semiconductor.FlexRay communication system[EB/OL].[2014-09-12].http://www.freescale.com/webapp/sps/sie/homepage.jsp?code=FLEXRAY.[5] WANG C C,CHEN C L,SUNG G.A FlexRay transceiver design with Bus Guardian for In-car networking systems compliant with FlexRay standard[J].Journal of Signal Processing Systems,2014,74(2):220-231.
[6] WANG W,NESIC D,POSTOYAN R.Emulation based stabilization of networked control systems implemented on FlexRay[J].Automatica,2015,59(C):70-83.
[7] 朱亮.基于FlexRay總線的線控轉(zhuǎn)向系統(tǒng)及其路感模擬研究[D].北京:北京工業(yè)大學(xué),2009.
[8] 張曉虎.基于FlexRay總線的電動(dòng)汽車線控轉(zhuǎn)向系統(tǒng)的設(shè)計(jì)[D].北京:北方工業(yè)大學(xué),2013.
[9] 金紫陽.FlexRay總線在嵌入式線控制動(dòng)系統(tǒng)的應(yīng)用與實(shí)現(xiàn)[J].建筑電氣,2015(5):103-106
[10]王賡.基于總線FlexRay的通信網(wǎng)絡(luò)系統(tǒng)研究[J].激光,2014,35(8):49-55.
[11]王闖.FlexRay總線在線控轉(zhuǎn)向系統(tǒng)中的應(yīng)用研究[J].自動(dòng)化儀表,2015,36(8):38-41.
[12]王鵬杰.FlexRay總線平臺(tái)構(gòu)建及性能分析[D].武漢:武漢理工大學(xué),2012.
Research on the Control Unit for Automobile High Speed Communication Network
In order to expand the applications of FlexRay bus in various complex networks,and aiming at the problem of complexity of development process of FlexRay bus,a node minimum system satisfying FlexRay communication protocol is designed by using Freescale microcontroller and NXP transceiver.The system provides an extended interface to meet the expansion needs,which has practical value.The practice shows that the system can realize high speed communication between the two nodes,meet the design requirements,and provide reference for implementing more complicated network communication.
Automotive electronicsNetwork controlBus developmentFlexRayMinimum systemRedundancyElectronic control unit
郭海雙(1989—),男,現(xiàn)為貴州師范大學(xué)軟件工程專業(yè)在讀碩士研究生;主要從事軟件工程學(xué)的應(yīng)用方向的研究。
TH85;TP393
ADOI:10.16086/j.cnki.issn 1000-0380.201610001
國家自然科學(xué)基金資助項(xiàng)目(編號:61262007/F020308、60971078/F020308);
貴州省國際科技合作基金資助項(xiàng)目(編號:黔科合外G字[2014]7007號);
貴州省教育廳汽車電子技術(shù)特色重點(diǎn)實(shí)驗(yàn)室科學(xué)平臺(tái)基金資助項(xiàng)目(編號:黔科合KY字[2014]213)。
修改稿收到日期:2016-01-12。