摘要
為了滿足下一代汽車電子控制系統(tǒng)單元的成本,PCB空間對高性能、高可靠性和高穩(wěn)定性的要求有限。本文設(shè)計了一個16位的飛思卡爾MCU MC9S12XF512作為汽車電控系統(tǒng)單元的主控芯片。它以FlexRay總線技術(shù)為基礎(chǔ),針對車身布局和車身控制要求。本文詳細(xì)介紹了汽車電控系統(tǒng)結(jié)構(gòu)單元的設(shè)計,包括控制模塊的主控芯片、FlexRay總線通信模塊及其外圍電路的硬件設(shè)計和軟件設(shè)計過程。通過實際設(shè)計和開發(fā),制作了多個汽車電控系統(tǒng)單元,并通過軟件編程實現(xiàn)了基于FlexRay總線的通信測試。該設(shè)計的控制單元具有獨(dú)立的總線控制器,可以方便地與其他ECU連接進(jìn)行高速數(shù)據(jù)傳輸。
I.簡介
如今汽車電子技術(shù)發(fā)展越來越快,傳統(tǒng)的汽車總線系統(tǒng)已經(jīng)不能滿足汽車高速傳輸?shù)目煽啃砸?,隨著汽車電子控制單元(ECU)的出現(xiàn),多個子系統(tǒng)之間要共享的大容量數(shù)據(jù)信息要求越來越高,對汽車控制系統(tǒng)的信息傳輸?shù)膶崟r性和可靠性要求也越來越高。目前流行的汽車總線網(wǎng)絡(luò)由LIN總線和can總線網(wǎng)絡(luò)以及最新的FlexRay總線網(wǎng)絡(luò)組成,而車載以太網(wǎng)總線網(wǎng)絡(luò)只是被提及,目前還沒有車載以太網(wǎng),只有歐洲的幾個機(jī)構(gòu)開發(fā),F(xiàn)lexRay網(wǎng)絡(luò)在今天的實際應(yīng)用還不成熟,在國內(nèi)還不普及,而相對而言,車載網(wǎng)絡(luò)總線中,CAN總線應(yīng)用最廣泛,應(yīng)用技術(shù)也比較成熟和完善。
但在汽車電控系統(tǒng)中的一些重要環(huán)節(jié),特別是對實時性要求極高的傳輸速度、安全性,汽車電控系統(tǒng)中的網(wǎng)絡(luò)、CAN已經(jīng)不能滿足要求,所以基于FlexRay總線單元的汽車電控系統(tǒng)設(shè)計是非常有意義的。
基于FlexRay總線技術(shù),本文設(shè)計了一個電子控制系統(tǒng)單元,可應(yīng)用于網(wǎng)絡(luò)系統(tǒng)中的車輛速度控制。
II.電控系統(tǒng)單元FlexRay通信模塊的設(shè)計
基于FlexRay總線協(xié)議和FlexRay通信原理,該裝置的電控系統(tǒng)設(shè)計主要由FlexRay總線收發(fā)器和微控制器、獨(dú)立的總線接口和一些外圍電路組成。一般的FlexRay通信系統(tǒng)是利用PCI芯片的FPGA模塊來控制MFR4310,通過TJA1080芯片來實現(xiàn)FlexRay總線節(jié)點(diǎn)的數(shù)據(jù)傳輸,但這種FlexRay通信系統(tǒng)使用的體積較大,而且成本較高,硬件電路模塊又比較復(fù)雜。因此,本文采用嵌入式由FlexRay總線接口控制器MC9S12XF512芯片和TJA1080ATS/2總線驅(qū)動電路及一些外圍電路組成的汽車電控系統(tǒng)單元。作為一個獨(dú)立的總線FlexRay通信調(diào)節(jié)器的MC9S12XF512微控制器芯片里面包含三個部分,分別是FlexRay通信控制器、速度12內(nèi)核和獨(dú)立總線控制器,F(xiàn)lexRay總線收發(fā)器TJA080ATS/2包含兩個部分,分別是總線驅(qū)動模塊和總線監(jiān)控模塊。FlexRay通信模塊的硬件圖如圖1所示。
圖1 FlexRay通信模塊硬件圖
MC9S12XF512單片機(jī)是飛思卡爾嵌入式雙路FLexRay V2.1系列的新型汽車單片機(jī),包括高速、低功耗、高穩(wěn)定性、低價格、小體積等特點(diǎn),具有2路FlexRay。實踐證明,采用MC9S12XF512和TJA1080ATS/2的FlexRay通信模塊,外圍擴(kuò)展能力強(qiáng),抗干擾能力強(qiáng),體積小,并具有高性能、高可靠性和穩(wěn)定性的特點(diǎn)。
電控系統(tǒng)單元的具體介紹,如圖2所示。其主要由單片機(jī)控制的最小系統(tǒng)模塊、雙FlexRay總線收發(fā)電路模塊、時鐘模塊、復(fù)位和BDM調(diào)試接口電路模塊、電源模塊和獨(dú)立總線接口電路模塊等組成。
圖2 電子控制系統(tǒng)單元硬件結(jié)構(gòu)圖
A.FlexRay通信模塊
FlexRay通信模塊是由微控制器的單片機(jī)MC9S12XF512的FlexRay總線接口和NXP公司的雙FlexRay收發(fā)器TJA1080ATS/2組成的電路和一些濾波電容電阻組成,本文為FlexRay總線通信模塊設(shè)計了兩條路,一條路是通過微控制器上的PH1和PH2、PH5、PJ5、PH3、PJ3的TXD引腳與FlexRay總線收發(fā)器,TXEN、RXD、RXEN、ENSTBN連接在一起,另一路是通過單片機(jī)PH4、PH5、PH6、PH7、PJ4、PJ6的六個端口引腳與另一個TJA1080ATS/2引腳連接在一起,兩種方式由BP和PM引腳通過濾波電路分別連接到FlexRay總線的輸出和FlexRay總線的B節(jié)點(diǎn),兩個節(jié)點(diǎn)實現(xiàn)FlexRay總線的數(shù)據(jù)通信。設(shè)計濾波電路是為了增加FlexRay總線通信模塊的電磁干擾和抗干擾能力。
B.外圍模塊
外圍模塊包括時鐘電路、電源電路和復(fù)位電路模塊、BDM。
電源電路可以有很多方案,本文用LM2940搭建的電源電路,就是用來給微控制器、時鐘、FlexRay總線收發(fā)器等提供電源電壓。
時鐘電路主要是給單芯片微控制器提供足夠的時鐘頻率,使單芯片微機(jī)能夠高速工作。
復(fù)位、BDM電路主要采用單片機(jī)的后臺調(diào)試(Background was Debugging Mode,BDM)功能,不需要模擬器,可以實現(xiàn)所有硬件斷點(diǎn)、條件斷點(diǎn)、在線調(diào)試、總線調(diào)試,為單片機(jī)程序在總線上寫入調(diào)試FlexRay提供方便。
C.獨(dú)立總線接口模塊
獨(dú)立總線接口模塊主要是將單片機(jī)與外部傳感器、執(zhí)行器等連接,獨(dú)立總線接口電路主要實現(xiàn)驅(qū)動、總線信號匹配功能。
III.電控系統(tǒng)單元的軟件設(shè)計
本文中汽車電控系統(tǒng)單元的設(shè)計,其應(yīng)用軟件主要是在MC9S12XF512芯片上編寫的。對每個電子控制單元的FlexRay總線通信進(jìn)行開發(fā)編程,默認(rèn)的FlexRay觸發(fā)方式是基于時間觸發(fā)的總線通信。微控制器可以通過輪詢或中斷驅(qū)動的方式發(fā)出相應(yīng)指令,供內(nèi)部FlexRay控制器進(jìn)行數(shù)據(jù)處理。圖3是一個完整的FlexRay總線通信單元開發(fā)編程層次結(jié)構(gòu)。
圖3 FlexRay總線通信單元開發(fā)與編程結(jié)構(gòu)本設(shè)計將網(wǎng)絡(luò)中的電子控制系統(tǒng)單元在FlexRay車體中按照規(guī)則集和FlexRay總線協(xié)議的要求,將數(shù)據(jù)時隙規(guī)則定期發(fā)送給FlexRay總線節(jié)點(diǎn),同時,根據(jù)需要獲得所需的FlexRay總線節(jié)點(diǎn)時隙數(shù)據(jù)。雖然每個電控系統(tǒng)單元的程序不盡相同,但在FlexRay通信模塊的設(shè)置和初始化方面的通用功能是一致的,可以分為:初始化設(shè)置、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)。
A.初始化程序
初始化模塊包含鎖相環(huán)(PLL)初始化模塊、FlexRay系統(tǒng)初始化模塊、實時中斷模塊初始化和FlexRay系統(tǒng)時鐘模塊初始化以及輸入/輸出模塊初始化。汽車電控系統(tǒng)單元在中斷驅(qū)動模式下,其FlexRay系統(tǒng)初始化模塊包括:FlexRay控制器可以強(qiáng)制進(jìn)入節(jié)點(diǎn)配置狀態(tài),初始化FlexRay控制器的協(xié)議配置參數(shù),初始化所有消息緩沖區(qū),設(shè)置回調(diào)函數(shù)、定時器,結(jié)束節(jié)點(diǎn)配置狀態(tài),初始化啟動,初始化消息緩沖區(qū)為0,啟動,啟動定時器T1,啟動定時器T2的相應(yīng)中斷等。FlexRay的初始化流程圖如圖4所示。
圖4 FlexRay初始化流程圖單元
B.發(fā)送數(shù)據(jù)程序
初始化微控制器和FlexRay模塊成功后,可以用它來發(fā)送或接收相應(yīng)的FlexRay節(jié)點(diǎn)ID插槽數(shù)據(jù)信息。微控制器通過FlexRay總線收發(fā)器節(jié)點(diǎn)準(zhǔn)確地提供具體信息實施過程:單片微控制器將根據(jù)FlexRay協(xié)議的數(shù)據(jù)格式發(fā)送每個時隙的一個ID號數(shù)據(jù)信息,發(fā)送時隙的數(shù)據(jù)信息寫入緩存區(qū);將開始發(fā)送的功能指令、時隙節(jié)點(diǎn)信息發(fā)送至總線。FlexRay的數(shù)據(jù)流程圖如圖5所示。
圖5 FlexRay數(shù)據(jù)傳輸流程圖
圖6 FlexRay數(shù)據(jù)接收流程圖
C.接收數(shù)據(jù)程序
FlexRay的數(shù)據(jù)時隙接收節(jié)點(diǎn)既可以在旋轉(zhuǎn)驅(qū)動模式下訓(xùn)練,也可以在中斷驅(qū)動模式下工作,本文設(shè)定的電子控制單元工作在中斷驅(qū)動模式下接收數(shù)據(jù),例如[7]。FlexRay接收數(shù)據(jù)的流程圖如圖6所示。
IV.汽車電控系統(tǒng)單元通信測試結(jié)果的分析
在汽車電控系統(tǒng)單元的設(shè)計中,兩個電控系統(tǒng)單元通過FlexRay通信模塊連接到FlexRay節(jié)點(diǎn),實現(xiàn)了FlexRay總線的數(shù)據(jù)發(fā)送和接收測試。當(dāng)給予+12v電壓使其工作時,F(xiàn)lexRay總線節(jié)點(diǎn)中的兩個電控系統(tǒng)單元分別按照設(shè)定的ID和CRC發(fā)送和接收相應(yīng)的測試數(shù)據(jù)。
在這兩個電子控制系統(tǒng)單元的FlexRay通信中,使用示波器的波形有節(jié)點(diǎn)總線,因為FlexRay總線是雙絞線,兩個BM和BP的FlexRay總線連接是差異信號,提供雙軌示波器來比較這兩個測試,其波形圖見下圖7。
圖7 FlexRay通信節(jié)點(diǎn)波形圖
在狹小時間里,得到了如圖8所示的部分波形圖。
圖8 FlexRay總線通信數(shù)據(jù)幀部分波形圖
V.總結(jié)
實踐證明,本設(shè)計基于FlexRay總線技術(shù),以MC9S12XF512為核心的汽車車身電控系統(tǒng)單元體積小、功耗低、穩(wěn)定性高、價格便宜。特別是FlexRay數(shù)據(jù)通信具有更高的傳輸速度,更高的可靠性和穩(wěn)定性,以及更好的抗干擾能力。
微控制器的設(shè)計采用了協(xié)同處理器,它可以為任何外圍模塊服務(wù),這些無疑減輕了CPU的工作負(fù)擔(dān),使電子控制系統(tǒng)單元能夠在重負(fù)荷下正常運(yùn)行。但是,電子控制系統(tǒng)單元還需要進(jìn)一步的研究和改進(jìn),如果投入到實際的汽車應(yīng)用中,通信網(wǎng)絡(luò)的應(yīng)用、數(shù)據(jù)監(jiān)控和數(shù)據(jù)存儲的動態(tài)部分還需要進(jìn)一步研究和改進(jìn)。
審核編輯:湯梓紅
?
評論