高速車載網(wǎng)絡(luò)FlexRay通信單元的設(shè)計與實(shí)現(xiàn)
摘要:基于提高車載網(wǎng)絡(luò)通信速率,可靠性與靈活性的目的,針對傳統(tǒng)FlexRay通信單元布線復(fù)雜、可靠性低等問題,文中通過軟硬件相結(jié)合的方法,設(shè)計了汽車FlexRay總線通信單元。文中采用集成了FlexRay通信控制器功能的高性能MC9S12XF系列單片機(jī),給出了FlexRay通信單元主要硬件結(jié)構(gòu)和軟件設(shè)計流程。該通信單元具有硬件設(shè)計簡單、可靠性高、實(shí)時性強(qiáng)等特點(diǎn),為基于MC9S12XF微處理器的FlexRay通信單元的開發(fā)提供了一定的科學(xué)依據(jù)。
本文引用地址:http://butianyuan.cn/article/201809/388342.htm隨著現(xiàn)代汽車電子技術(shù)的迅速發(fā)展,汽車的功能不斷增加,越來越多的電子系統(tǒng)被應(yīng)用到汽車中,人們對汽車安全性能的要求也越來越高,尤其是汽車線控系統(tǒng)的增加,促進(jìn)了汽車總線和網(wǎng)絡(luò)技術(shù)的發(fā)展。傳統(tǒng)的車載網(wǎng)絡(luò)系統(tǒng)如LIN、CAN等總線由于自身的缺點(diǎn),在某些場合已經(jīng)不能滿足當(dāng)代汽車對安全性以及大量多媒體數(shù)據(jù)交換的要求,因此,新一代車載網(wǎng)絡(luò)系統(tǒng)FlexRay應(yīng)運(yùn)而生。FlexRay車載網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)已經(jīng)成為同類產(chǎn)品的基準(zhǔn),將在當(dāng)前及未來很多年內(nèi),引領(lǐng)整個汽車電子產(chǎn)品控制結(jié)構(gòu)的發(fā)展方向。FlexRay是繼LIN與CAN總線之后的最新研發(fā)成果,可以有效的管理多重安全和舒適功能;FlexRay面向的是眾多的車內(nèi)線控操作(X—by—wire),滿足車內(nèi)線控技術(shù)的要求,符合未來汽車電子系統(tǒng)發(fā)展的趨勢。
FlexRay節(jié)點(diǎn)的核心是通信單元ECU(Electronic Control Unit),是接入車載網(wǎng)絡(luò)中獨(dú)立完成相應(yīng)功能的控制單元。本文以飛思卡爾公司的MC9S12XF系列單片機(jī)為核心,外加恩智浦(NXP)公司的主流總線驅(qū)動器TJA1080,介紹了FlexRay總線通信單元的硬件電路設(shè)計及軟件程序設(shè)計流程。由于MC9S12XF系列單片機(jī)集成了FlexRay通信控制模塊,這樣就大大簡化了硬件電路的設(shè)計,提高了系統(tǒng)的可靠性。
1 FlexRay總線的技術(shù)特性
FlexRay是一種用于汽車電子的具有高速、可確定性、故障容錯能力的當(dāng)代總線技術(shù)。它不僅能簡化車載通信系統(tǒng)的架構(gòu),而且還有助于汽車通信系統(tǒng)獲得更高的穩(wěn)定性和可靠性。
FlexRay總線與其它總線相比,具有以下優(yōu)點(diǎn):更高的數(shù)據(jù)傳輸速率,F(xiàn)lexRay具有兩條通信數(shù)據(jù)總線,每一條總線的數(shù)據(jù)傳輸速率是10 Mbit/s,兩條數(shù)據(jù)總線的最高速率可達(dá)20 Mbit/s,是傳統(tǒng)CAN總線的20倍之多;更全面的拓?fù)溥x擇,F(xiàn)lexRay可支持多種汽車網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如星型、總線型和混合型,并且可以通過結(jié)合兩種或多種拓?fù)浣Y(jié)構(gòu)類型來配置分布式系統(tǒng);更靈活的數(shù)據(jù)通信,F(xiàn)lexRay不僅提供消息冗余和非冗余兩種傳輸選擇,而且用戶還可以擴(kuò)展網(wǎng)絡(luò)系統(tǒng),對系統(tǒng)進(jìn)行調(diào)整;更準(zhǔn)確的容錯運(yùn)算,F(xiàn)lexRay使用循環(huán)冗余校驗(yàn)(CRC)來檢測通信中的差錯,通過雙通道通信來提供冗余功能。它將事件觸發(fā)方式和時間觸發(fā)兩種方式相結(jié)合,具有高效的網(wǎng)絡(luò)利用率和系統(tǒng)的靈活性,可以作為下一代汽車內(nèi)部網(wǎng)絡(luò)的主干網(wǎng)絡(luò)。
2 MC9S12XF集成控制器的特點(diǎn)
MC9S12XF系列單片機(jī)是美國飛思卡爾公司推出的內(nèi)建單/雙通道FlexRay V2.1的新系列16位車用微控制器(MCU),該系列是基于飛思卡爾公司廣泛使用的高容量S12架構(gòu),為FlexRay網(wǎng)絡(luò)上的嵌入式節(jié)點(diǎn)單元提供高性能的分布式控制解決方案,MC9S12XF系列的特性主要包括:
1)50MHz的S12X內(nèi)核,基于高效16位C1SC架構(gòu);
2)集成了單/雙通道FlexRay v2.1,每一個通道支持2.5、5、8和10 Mb/s的多種數(shù)據(jù)傳輸速率;
3)FlexRay時鐘,采用頻率從4~40 MHz不等的水晶振蕩器,使用鎖相環(huán)(PLL)實(shí)現(xiàn)成本和EMC的優(yōu)化;
4)128KB、256KB、384KB和512KB的汽車質(zhì)量閃存選擇功能,帶有糾錯碼(ECC);
5)16位通道的數(shù)模轉(zhuǎn)換器(ADC),可配置的8/10/12的位分辨率,僅需3 μs的轉(zhuǎn)換時間;
6)集成了電機(jī)控制模塊,使用6通道脈沖寬度調(diào)制器(PWM),具有電流感應(yīng)輸入和故障保護(hù);
7)支持本地互連網(wǎng)絡(luò)(LILN)、控制區(qū)域網(wǎng)絡(luò)(CAN)和串行外圍設(shè)備接口(SPI)協(xié)議;
8)S12XF系列提供了廣泛的工具支持,具有小型封裝選擇,可以根據(jù)I/O的需求進(jìn)行擴(kuò)展。
S12XF系列還帶有4個高度集成的MCU,可以提供不同的存儲器配置,而且采用了提高性能的飛思卡爾XGATE協(xié)處理器。體積小巧的S12XF MCU非常適合用于一些空間大小受到嚴(yán)格限制的應(yīng)用,例如與FlexRay網(wǎng)絡(luò)上的32位中心控制器通信的傳感器控制模塊以及分布式促動器。16位S12XF設(shè)備還可以用作多種高級安全應(yīng)用和主動駕駛應(yīng)用的終端節(jié)點(diǎn)。
S12 MCU系列是當(dāng)前汽車市場中應(yīng)用最廣泛的16位架構(gòu),可以擴(kuò)大汽車系統(tǒng)設(shè)計人員選擇FlexRay網(wǎng)絡(luò)解決方案的范圍,為設(shè)計人員提供了廣泛的技術(shù)選擇,滿足了他們的應(yīng)用需求,其片上閃存容量可從32KB擴(kuò)展到1MB,并且能夠平穩(wěn)移植到更高性能的S12X設(shè)備上。
3 通信單元硬件電路設(shè)計
FlexRay網(wǎng)絡(luò)通信單元的硬件結(jié)構(gòu)電路設(shè)計主要包括控制器和驅(qū)動器模塊,如圖1所示??刂破髂K主要包括一個主機(jī)處理器(Host)和一個FlexRay通信控制器(Communication Controller),驅(qū)動器模塊主要包括總線監(jiān)控器(BD)和總線驅(qū)動器(BG)??刂破髂K中主機(jī)處理器的功能是把FlexRay通信控制器分配的時間槽通知給總線監(jiān)控器,然后總線監(jiān)控器就允許FlexRay通信控制器在這些時間槽中來傳輸數(shù)據(jù);總線監(jiān)控器則用以監(jiān)視接入FlexRay總線的連接,而總線驅(qū)動器則將總線與FlexRay通信控制器和總線監(jiān)控器相連接。
FlexRay通信單元的硬件電路設(shè)計主要有兩種架構(gòu)方式:一種是由主處理器、通信控制器和總線驅(qū)動器組成,如常用的MPC5567+MFR4310+ TJA1080架構(gòu);另一種是由集成了通信控制器功能的主處理器和總線驅(qū)動器構(gòu)成。前者為早期的FlexRay通信單元模式,其硬件電路結(jié)構(gòu)較為復(fù)雜。本設(shè)計中采用后者集成了通信控制器功能模塊的主處理器MC9S12XF加總線驅(qū)動器TJA1080架構(gòu),其電路原理如圖2所示。
圖中MC9S12XF是核心單元,其外圍電路主要由電源管理模塊、復(fù)位電路和時鐘發(fā)生器等組成,如圖3所示。外圍電路主要用來實(shí)現(xiàn)AD信號的采集、看門狗的復(fù)位、數(shù)據(jù)永久記錄、全局時鐘信號的處理等功能。
總線驅(qū)動器TJA1080與物理層接口的電路如圖4所示,其中T1是共模扼流電感,為了使圖中共模扼流電感的共模衰減率最大,其頻率范圍應(yīng)滿足20~50 MHz。
4 通信單元軟件設(shè)計流程
軟件設(shè)計是系統(tǒng)設(shè)計的關(guān)鍵,為了提高可靠性和可理解性,系統(tǒng)軟件部分采用模塊化的設(shè)計思想,各個模塊相連,形成了完整的軟件系統(tǒng)。軟件設(shè)計主要是對FlexRay通信控制器模塊進(jìn)行參數(shù)的設(shè)置和初始化操作,初始化操作是搭建單片機(jī)運(yùn)行環(huán)境的過程。主程序模塊是系統(tǒng)軟件的主體部分,主要任務(wù)包括:系統(tǒng)的初始化,數(shù)據(jù)信號的采集、發(fā)送與處理,數(shù)據(jù)的通信與傳輸?shù)取?/p>
FlexRay通信單元主程序流程圖如圖5所示,重點(diǎn)完成對CPU和FlexRay模塊的初始化。由于FlexRay通信控制器本地時鐘采用的是MC9S12XF的內(nèi)部時鐘,所以在進(jìn)行FlexRay模塊初始化之前要首先對MC9S12XF的時鐘鎖相環(huán)(PLL)進(jìn)行相關(guān)的配置。初始化MCU完成以后使MC9S12XF Fle xRay模塊強(qiáng)制進(jìn)入FlexRay協(xié)議狀態(tài)配置并啟動FlexRay通信控制器;需要初始化的模塊包括FlexRay系統(tǒng)總線時鐘模塊、鎖相環(huán)模塊、通用I /O口、實(shí)時中斷模塊、FlexRay模塊等。FlexRay通信單元完成初始化配置后,需要進(jìn)行接收和發(fā)送幀信息,實(shí)現(xiàn)FlexRay數(shù)據(jù)通信。經(jīng)過核心元件MC9S12XF對數(shù)據(jù)信號編碼處理后傳送到總線收發(fā)器模塊TJA1080中,最后送到FlexRay總線中完成整個數(shù)據(jù)通信過程。詳細(xì)的FlexRay數(shù)據(jù)通信流程如圖6所示。
5 結(jié)束語
FlexRay作為新一代汽車通信網(wǎng)絡(luò),與傳統(tǒng)CAN總線相比具有更高的傳輸速率,也更加安全可靠,并且已經(jīng)在寶馬X5、X6和X7系列轎車上獲得了成功的應(yīng)用。文中從硬件和軟件兩個方面對FlexRay通信單元的設(shè)計進(jìn)行了介紹,硬件方面給出了基于主流MC9S12XF系列單片機(jī)的Flex Ray通信單元結(jié)構(gòu)和其應(yīng)用外圍電路,并給出了主要軟件設(shè)計流程,軟件設(shè)計采用模塊化的設(shè)計思想,提高了系統(tǒng)的可靠性和維護(hù)性。本文設(shè)計的FlexRay通信單元集成度高、實(shí)時性能強(qiáng),達(dá)到了設(shè)計要求,并對未來FlexRay網(wǎng)絡(luò)系統(tǒng)開發(fā)有一定的實(shí)際應(yīng)用價值。
評論