郭海雙 劉 杰 王 義
(貴州師范大學大數據與計算機科學學院1,貴州 貴陽 550001;貴州大學大數據與信息工程學院2,貴州 貴陽 550025;貴州師范大學物理與電子科學學院3,貴州 貴陽 550001)
?
汽車高速通信網絡控制單元研究
郭海雙1劉杰2王義3
(貴州師范大學大數據與計算機科學學院1,貴州 貴陽550001;貴州大學大數據與信息工程學院2,貴州 貴陽550025;貴州師范大學物理與電子科學學院3,貴州 貴陽550001)
為拓展FlexRay總線在各種復雜網絡中的應用,針對FlexRay總線開發流程復雜的問題,采用飛思卡爾公司的微控制器和恩智浦公司的收發器,設計了滿足FlexRay通信協議的節點最小系統。該系統提供擴展接口,可滿足實際需求。實踐表明,該系統能夠實現兩節點間數據的高速通信,符合設計要求,為實現更復雜的網絡通信提供了參考。
汽車電子網絡控制總線開發FlexRay最小系統冗余電子控制單元高速通信
High-speed communication
由于汽車電子化程度與日俱增,汽車上的電子模塊數量和通信線束也隨之增加,不僅增加了汽車成本,而且影響汽車行駛安全。為了嚴格控制汽車制造成本和車身質量,減少線束已成為必要目標。為了滿足這一需求,BWM、Daimler Chrysler、Motorola和Philips等公司聯合制定了功能強大的FlexRay通信網絡協議。該協議標準具有良好的發展前景,可滿足未來汽車應用需求[1]。
FlexRay總線具有高容錯和高速率的特點,適合在安全和復雜網絡下應用。為了推動FlexRay在復雜網絡下的應用,使之不僅局限于汽車控制總線,應將FlexRay應用最大化。本文在介紹FlexRay總線通信原理的基礎上,設計了滿足FlexRay通信協議的節點最小系統。該系統滿足FlexRay通信協議,體積小、成本低、制作簡單,并提供擴展接口。
本文首先介紹了FlexRay總線,包括FlexRay的技術特點和通信原理;然后給出了FlexRay總線最小節點軟硬件設計方法;最后向最小系統中載入測試程序,分析驗證最小通信系統實現總線高速通信的可行性。
1.1FlexRay總線特點
FlexRay是新一代汽車總線技術,給傳統的控制系統結構帶來了革命性的變化,并形成了新型的網絡化數字化分布式控制系統。FlexRay協議規定了車輛通信系統節點組網所需要的基本物理元素,即滿足FlexRay通信協議的通信控制單元、總線驅動器、傳輸媒介、拓撲結構等。FlexRay總線技術特點如下。
①高通信率。FlexRay可以進行雙通道冗余通信,每個通信通道的速率可達10 Mbit/s,帶寬不受協議機制的限制,兩條數據總線速率可達20 Mbit/s,遠高于CAN總線和LIN總線。
②時間確定性。FlexRay總線采用時分多址(time division multiple access,TDMA)的數據傳輸方式循環通信,數據在通信周期中擁有固定位置,并且消息傳輸延遲也是確定的,以確保消息傳輸的時效性。
③分布式時鐘同步。FlexRay總線的時基精確度達到1 μs,在協議控制下能夠自動建立和同步,以保證數據的正確傳輸。
④容錯數據傳輸。FlexRay總線具有專用確定性故障容錯協議,支持多級別的容錯能力,包括冗余傳輸和可擴展系統容錯機制,以確保數據傳輸的可靠性[2]。
⑤靈活性。FlexRay總線支持多種拓撲結構,包括總線型、星型、級聯星型及混合型等,能有效解決單一總線的局限性,支持時間觸發和事件觸發,并提供大量配置參數,供用戶靈活調整、擴展[3]。
1.2FlexRay總線通信原理
FlexRay為接受通信模塊提供了一種差分電壓連接。差分電壓通過測量兩個表示為BP、BM的信號線得到。差分電壓的四個值代表了總線的四種不同通信狀態。任何兩個節點之間的通信,都需要一個發送器和接收器電路,它們被整合到總線中,稱作總線驅動器[4]。
總線驅動器提供了FlexRay節點模塊和通道之間的物理層接口,使總線具備了差動發送和接收功能,確保節點模塊能夠進行雙向時分復用的二進制數據流傳輸;其還具備了低電壓管理、供電監測及總線故障監測功能,以及總線和節點的靜電釋放(electro static discharge,ESD)保護屏障功能。
總線控制器通過總線驅動器接口,實現了對總線驅動器的控制。總線驅動器接口包括通信控制器接口、總線監視器接口、主機接口、電源接口、電平轉換接口。通信控制器接口通過控制TxD、TxEN、RxD信號,實現了對總線信號狀態的控制,分別是GND電壓狀態Idle_LP、某一確定電壓狀態Idle、正差分電壓狀態Data_1和負差分電壓狀態Data_0。主機接口實現了主機對驅動控制器工作模式、狀態和診斷信息的控制。總線驅動器工作模式包括正常工作模式、待機模式、睡眠模式、只接收模式。待機模式和睡眠模式為低功耗模式,正常模式和只接收模式為非低功耗模式。四種工作模式狀態轉換圖如圖1所示。其中,只接收模式和睡眠模式為可選模式。
圖1中:1~12為轉換條件。1為主機檢測到喚醒事件,2為主機檢測到喚醒事件或欠壓,3~10為主機命令,11為主機命令或檢測到VBAT或VIO欠壓,12為上電喚醒。

圖1 工作模式狀態轉換圖Fig.1 Conversion of working modes of state
FlexRay基本協議運行行為包括編碼和解碼、媒體介入控制、幀和特征符處理、時鐘同步??刂破髦鳈C接口為主機運行提供了上述核心機制,協議運行控制器并不知道主機發出的指令,主機與通信控制器的交互通過控制器主機接口實現,控制器主機接口負責向協議運行控制器轉發相關指令。同樣地,協議運行控制器提供給主機的狀態信息也被當作是提供給控制器主機接口的,而實際上其是由控制器主機負責將相關信息格式化后,以指定方式傳遞給主機的??刂破髦鳈C接口在通信控制器和主機之間起到橋梁作用。FlexRay通信原理如圖2所示[5]。

圖2 FlexRay通信原理示意圖Fig.2 Principle of FlaxRay communication
FlexRay的編碼實際上就是對要發送的數據進行“打包”的過程,如對數據幀加載符號位(ID)與校驗位。解碼就是“解包”的過程,將接收到的數據幀里的ID與校驗位濾掉。編碼與解碼主要發生在通信控制器與總線驅動器之間。一個數據幀的結構包括幀頭、有效數據段和幀尾。幀頭由保留位、有效負載預先指示位、空幀指示位、同步幀指示位、啟動幀指示位、幀ID、有效負載數據長度、幀頭CRC和周期計數位組成[4]。有效數據段包括數據、消息ID和網絡管理向量。幀尾包括幀頭CRC和數據幀CRC。FlexRay的通信是在周期循環中進行的。一個通信循環始終包括靜態段和網絡閑置時間,它還可能包括一個動態段、一個符號窗口,靜態段和動態段由時槽間隔構成。靜態段內,用于傳輸消息的時隙均可配置且固定相同;動態段內,每個動態時隙的時間長度都是變化可調的,以滿足不同長度的動態幀的數據傳輸。協議內部流程的網絡閑置時間用于節點計算并申請時鐘校正,網絡閑置時間由通信周期內剩余的時隙構成[6]。
在靜態段中,采用TDMA技術實現時間觸發。為了規劃數據傳輸的時間,每個節點都具備兩個時隙計數器,以分別記錄A通道和B通道的時隙數,即時隙計數器的狀態變量。兩個時隙計數器在每個通信周期都從1開始計數,并且每個時隙的結束邊界都會加1。每個節點都會被分配多個固定時隙。當分配的時隙值與時隙計數器值相符時,該時隙值節點進行數據傳輸。所有時隙的大小相同,且從小到大開始編號,最小值為1。在通信過程中,對于不能修改時隙的分配,在通信開始時就組合好靜態部分傳送的信息,以保證傳輸數據的最大量不超過分配的最大固定長度。這種訪問方法,使靜態段中傳輸的特定消息已經提前知道了消息到達的時間,消息傳輸時發生臨時偏差幅度會非常小,從而將信息延遲和抖動降至最低,以盡可能保持傳輸的同步與可測試性,這對需要持續高速性能的應用是非常重要的[7]。
動態段用最小時隙訪問動態部分的通信媒介,和靜態段數據傳輸相似,每個節點都有兩個時槽計數器,不過是獨立計數工作的。各個節點利用信息ID中定義好的優先級競爭帶寬。如果在最小時隙中有總線接入,則該時隙將按照需要的時間來擴展,從而動態改變總線的帶寬。
2.1網絡拓撲結構選擇
網絡的拓撲形式對控制系統的響應速度、穩定性、可靠性都具有較大影響。每種拓撲結構都需要獨立的端接方式,無論選用哪種拓撲/端接組合構成FlexRay網絡,都必須滿足FlexRay電氣物理層規范中信號完整性的規定。
本文只是對FlexRay協議基礎理論及通信原理進行研究,因此,網絡拓撲選擇最簡單的點對點連接方式,可作為復雜總線結構的基本元素,兩條總線電纜用圖中的黑實線表示。點對點網絡連接如圖3所示。

圖3 點對點網絡連接示意圖Fig.3 Connections of point to point network
2.2基于FlexRay總線的節點ECU設計
常見的集成FlexRay通信控制器的主控芯片有飛思卡爾的MC9S12XF和MPC56XX、恩智浦的SJA2510、德州儀器公司的TMS570系列,驅動器有奧地利微電子公司的AS8221、恩智浦公司的TJA1080等。
本文設計的電子控制單元(electronic control unit,ECU)單元主要包括以下幾個部分:①中央控制器,采用飛思卡爾公司的MC9S12XF512作為節點主控制芯片,它是內部集成FlexRay通信控制器的16位車用微控制器,可以將信號編碼成符合FlexRay通信協議的數據;②FlexRay總線通信模塊,采用恩智浦公司的TJA1080驅動器作為通信收發控制器;③電源模塊,為中央控制器提供+5 V電壓;④液晶顯示模塊,提供人機接口,直觀顯示FlexRay通信中的數據傳輸;⑤BDM調試端口模塊,調制并向中央控制器下載程序;⑥時鐘模塊。
FlexRay節點最小系統組成示意圖如圖4所示。

圖4 FlexRay節點最小系統組成示意圖Fig.4 Composition of the FlexRay node minimum system
①主控單元電路設計。
選擇飛思卡爾公司的MC9S12XF512作為節點主控制芯片,它內部集成了單/雙通道的FlexRay控制器,通過設置傳輸速率,可以實現單通道2.5/5/8/10 Mbit/s的數據傳輸速率,并且該單片機具有高速率、低功耗、高穩定性的優點[8]。本設計在外部配置40 MB的時鐘晶振電路、復位電路、+5 V電源濾波去耦電路和保險絲保護電路,設置單片機的通用輸入/輸出口的PA口為液晶控制口,將PAD的11、12、13、14、15引腳與LCD的3、5、14、16、18引腳相連接。
②驅動模塊和電源電路設計。
節點ECU CC正常運行需要+5 V供電電壓,汽車上一般提供的是12 VDC電壓,通過穩壓芯片LM2940將+12 V電壓轉換所需的+5 V,再通過CLM1117芯片將+5 V電壓轉換為控制器內部所需的+3.3 V[9],以滿足芯片正常工作電壓。將控制器芯片和總線驅動器進行引腳連接,可完成控制器和驅動器之間數據傳輸的物理層連接。采用+5 V電壓供電,將EN、STBN、BGE腳接高電平,使總線驅動器處于正常工作模式。在輸出端,將總線驅動器中的BP腳和BM腳引出,以完成驅動器和總線的連接。為了去除電路的高頻噪聲、增加電路的電磁兼容性,在電路中加入了保險絲和濾波電容。
節點數據通信流程圖如圖5所示。

圖5 節點數據通信流程圖Fig.5 Flowchart of node data communication
完成FlexRay總線節點硬件電路設計后,開始進行網絡配置,包括全局參數網絡通信速率、通信周期時間、靜態和動態通信時槽數目、時槽長度、偏移值和負載長度等。各個節點也要進行具體的參數配置,需由用戶手動配置關鍵性局部參數,包括發送消息的ID值、緩沖器序號及協議參數的配置、時鐘配置等。當通信控制器上電時,協議運行控制就會自動進入缺省配置狀態,主機發出配置命令,并且對配置信息進行檢測。只有在檢測正確后,才會進行配置。通信控制器進入配置狀態,對協議參數和緩沖器進行配置。完成初始化流程后,協議運行控制進入準備狀態,通信控制器就緒并喚醒,同時觸發編碼、解碼、幀和特征符處理進程等。當協議運行控制進入到啟動狀態且通信控制器工作在正常主動狀態下,就可以啟動或者加入一個有效通信的節點簇[10]。
按照上述方案所設計的FlexRay通信節點最小系統,可通過BDM模塊接口將測試程序下載到控制器。經測試,該系統能實現高速數據傳輸。
本文對FlexRay總線節點進行功能結構分析,構建FlexRay總線節點最小系統[9-12]。采用雙通道冗余通信,經過測試滿足系統實時容錯功能要求,完成了節點最小系統的硬件設計和軟件設計流程,并且單片機功能管腳通過接口引出。該節點最小系統可作為FlexRay總線研究的核心模塊,并可通過功能擴展實現其他研究,具有較大的實際應用價值。
[1] 陳智琦,羅峰,陳覺曉,等.FlexRay特性分析及應用實現[C]//2007中國汽車工程學會年會論文集.北京:機械工業出版社,2007:62-67.
[2] 吳武飛.基于FPGA/SOPC的汽車網關平臺設計研究[D].長沙:湖南大學,2013.
[3] 吳寶新,郭永紅,曹毅,等.汽車FlexRay總線系統開發實戰[M].北京:電子工業出版社,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總線的線控轉向系統及其路感模擬研究[D].北京:北京工業大學,2009.
[8] 張曉虎.基于FlexRay總線的電動汽車線控轉向系統的設計[D].北京:北方工業大學,2013.
[9] 金紫陽.FlexRay總線在嵌入式線控制動系統的應用與實現[J].建筑電氣,2015(5):103-106
[10]王賡.基于總線FlexRay的通信網絡系統研究[J].激光,2014,35(8):49-55.
[11]王闖.FlexRay總線在線控轉向系統中的應用研究[J].自動化儀表,2015,36(8):38-41.
[12]王鵬杰.FlexRay總線平臺構建及性能分析[D].武漢:武漢理工大學,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—),男,現為貴州師范大學軟件工程專業在讀碩士研究生;主要從事軟件工程學的應用方向的研究。
TH85;TP393
ADOI:10.16086/j.cnki.issn 1000-0380.201610001
國家自然科學基金資助項目(編號:61262007/F020308、60971078/F020308);
貴州省國際科技合作基金資助項目(編號:黔科合外G字[2014]7007號);
貴州省教育廳汽車電子技術特色重點實驗室科學平臺基金資助項目(編號:黔科合KY字[2014]213)。
修改稿收到日期:2016-01-12。