摘 要: 提出了一種“總體分布、局部集中式”的轎車車門ECU設(shè)計,ECU之間以CAN總線方式通信。以英飛凌公司XC164CS微控制器和TLE8201、BTS781功率驅(qū)動芯片為核心設(shè)計了車門ECU的硬件電路;在XC164CS上移植了μC/OS-Ⅱ?qū)崟r操作系統(tǒng),在此基礎(chǔ)上進(jìn)行了任務(wù)劃分和應(yīng)用軟件設(shè)計,最后搭建了整個車門控制系統(tǒng)的實驗臺架。試驗結(jié)果表明,該系統(tǒng)運行穩(wěn)定可靠,達(dá)到了設(shè)計性能。
隨著科技的飛速發(fā)展,為了提高行車的舒適性,針對轎車的車門控制系統(tǒng),人們已經(jīng)設(shè)計了基于CAN、LIN等總線系統(tǒng)的完全分布式控制方案。
轎車車門電子控制器是每一輛現(xiàn)代轎車都必須安裝的模塊。轎車車門的基本配置包括電動車窗和中控鎖(門鎖)、前車門后視鏡、轉(zhuǎn)向信號燈、禮貌燈等,這些功能可相對獨立配置,具有可裁剪性,可按用戶需求增減。由于電子技術(shù)的進(jìn)步和集成電路制造工藝的發(fā)展,目前車門模塊電子控制器的主流是采用高集成度的芯片控制方式。本文基于英飛凌公司生產(chǎn)的高集成度專用門控芯片TLE8201和BTS781,給出了一種新的車門控制解決方案。
1 車門ECU總體設(shè)計方案
目前流行兩款車門ECU方案,即集中式控制方案和分布式控制方案。其中,集中式控制是將電動車窗、后視鏡、門鎖等負(fù)載的控制集中由車身中央控制器完成,這樣可降低整體成本,但增加了控制器的復(fù)雜性;而且控制過于集中、尺寸偏大,不利于安裝、布線和散熱。而分布式控制方案為奧迪、大眾等汽車公司所采用,每個車門內(nèi)的負(fù)載由各自的ECU模塊單獨控制,也可由駕駛員側(cè)ECU通過CAN總線控制。在這種方案中,兩個前門ECU連接到CAN總線網(wǎng)絡(luò),后面兩個車門的ECU可通過CAN總線或LIN總線方式相互通信,或直接由車身中央控制器模塊驅(qū)動。分布式方案控制簡單,但成本偏高。
借鑒以上兩種控制方案的優(yōu)點,本課題組設(shè)計了一種“總體分布,局部集中式”的控制方案,其框圖如圖1所示,即將左側(cè)前后兩個車門的控制作為一個ECU模塊,右側(cè)前后兩個車門的控制作為另一個ECU模塊,兩個模塊之間以及模塊與中央控制器之間均以CAN總線方式連接。
本設(shè)計方案成本適中,易于布線和控制,是基于集中式和分布式控制優(yōu)勢的一種折中。本設(shè)計中的中央控制器模塊可模擬特殊的診斷或信息顯示功能等,并可用于驗證所做設(shè)計的正確性,實際的車門控制節(jié)點并不包含此模塊。
2 車門ECU硬件設(shè)計
本車門控制系統(tǒng)的硬件結(jié)構(gòu)框圖如圖2所示。本系統(tǒng)選用的微控制器為英飛凌公司生產(chǎn)的XC164CS,其MAC單元增加了DSP功能來處理數(shù)字濾波算法,從而大大縮短了乘除運算的時間;五級流水線結(jié)構(gòu)、大多數(shù)的單周期指令、可遍尋地址空間的PEC傳送提高了系統(tǒng)性能。片上調(diào)試系統(tǒng)(OCDS)支持對目標(biāo)系統(tǒng)進(jìn)行調(diào)試。XC164CS出色的性能還適合于實時操作系統(tǒng)的移植。
TLE8201是英飛凌公司新推出的專用于車門控制的一款高集成度芯片,該芯片內(nèi)部有6個半橋結(jié)構(gòu)電路及5個單獨的高邊開關(guān)。這款多MOS管集成的功率芯片其MOS管具有不同的導(dǎo)通電阻,可用于實現(xiàn)對不同功率負(fù)載的驅(qū)動。針對車門控制模塊,可完成門鎖、后視鏡X-Y方向、后視鏡折疊、后視鏡除霜、車門燈光等的控制功能,并具有完善的保護(hù)和診斷功能。
功率驅(qū)動芯片BTS781完成電動車窗的升降驅(qū)動控制。BTS781的4個MOS管構(gòu)成H橋電路,可方便實現(xiàn)對直流電機(jī)的正、反轉(zhuǎn)控制,并具有完善的保護(hù)和故障診斷功能。這些特點可保證車窗電機(jī)控制的可靠性。
TLE6250是CAN收發(fā)器,是ECU之間的CAN通信接口。
電路設(shè)計中主要以TLE8201和BTS781芯片為核心進(jìn)行設(shè)計,以配合軟件完成相應(yīng)的負(fù)載驅(qū)動功能。其中以TLE8201為核心的電路設(shè)計如圖3所示(每個ECU 由兩個TLE8201分別控制前、后門的門鎖、后視鏡和燈),以BTS781為核心的電路設(shè)計如圖4所示(每個ECU由2個BTS781分別控制前、后門的車窗升降)。由圖3可見,以TLE8201為核心的門鎖、后視鏡、燈控制電路非常簡潔,減小了電路板面積,提高了可靠性。以BTS781為核心的車窗升降控制電路通過對車窗電機(jī)電流的檢測和濾波放大,在軟件配合下可實現(xiàn)車窗防夾功能。右側(cè)ECU單元與左側(cè)ECU單元設(shè)計類似。
3 軟件設(shè)計
3.1 μC/OS-Ⅱ?qū)崟r操作系統(tǒng)在XC164CS微控制器上的移植
本系統(tǒng)的車門ECU采用基于μC/OS-Ⅱ?qū)崟r操作系統(tǒng)的設(shè)計方法。在完成μC/OS-Ⅱ的移植后,可極大地簡化應(yīng)用程序的編寫,便于調(diào)試、維護(hù)和移植,提高系統(tǒng)的穩(wěn)定性,且可根據(jù)用戶的需求裁剪各項功能,容易添加新功能,縮短開發(fā)時間。因此,本系統(tǒng)的車門ECU設(shè)計首先要完成μC/OS-Ⅱ在 XC164CS上的移植,之后以任務(wù)添加方式完成整個ECU的應(yīng)用軟件設(shè)計。
所謂移植,就是使一個實時內(nèi)核能在某個微處理器或微控制器上運行。雖然大部分的μC/OS-Ⅱ代碼是用C語言編寫的,但仍需要用匯編語言寫一些與處理器相關(guān)的代碼,這是因為μC/OS-Ⅱ在讀寫處理器寄存器時只能通過匯編語言來實現(xiàn)。
要使μC/OS-Ⅱ正常運行,處理器及其編譯器必須滿足以下要求:
(1)處理器的C編譯器可產(chǎn)生可重入代碼;
(2)用C語言可以打開和關(guān)閉中斷;
(3)處理器支持中斷,并且可產(chǎn)生定時中斷(通常在10 Hz~100 Hz之間);
(4)處理器支持可容納一定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧;
(5)處理器有將堆棧指針和其他CPU寄存器讀出和存儲到堆?;騼?nèi)存中的指令。
XC164CS微控制器和Keil C166編譯器可滿足以上要求。移植工作主要關(guān)注如何使μC/OS-II正確地定義和使用XC164CS。首先是芯片的中斷處理機(jī)制,即如何開啟、屏蔽中斷,可否保存前一次中斷狀態(tài)等。此外,還需關(guān)注系統(tǒng)對于存儲器的使用機(jī)制,諸如內(nèi)存的地址空間、堆棧的增長方向、壓棧和出棧的指令等。
具體來說,由于μC/OS-II自身的代碼絕大部分都是用ANSI C代碼編寫的,而且代碼的層次結(jié)構(gòu)十分簡潔,與平臺相關(guān)的移植代碼僅僅存在于OS_CPU_A.ASM、OS_CPU_C.C以及OS_CPU.H三個文件當(dāng)中。因此,移植工作涉及此三個文件,并做了相應(yīng)的代碼修改,完成了?滋C/OS-Ⅱ在XC164CS上的移植工作。
3.2 車門ECU任務(wù)劃分及任務(wù)添加
本設(shè)計把控制任務(wù)劃分為表1所示的四個主要任務(wù)。
根據(jù)以上任務(wù)劃分,設(shè)計系統(tǒng)的軟件結(jié)構(gòu)框圖如圖5所示。
按以上設(shè)計方案,本課題設(shè)計了一種“總體分布、局部集中式”的轎車車門系統(tǒng)控制方案。測試結(jié)果表明,所設(shè)計的車門控制系統(tǒng)可完全實現(xiàn)車窗升降(帶防夾控制)、后視鏡X-Y方向控制及折疊、門鎖開關(guān)等控制功能。本系統(tǒng)經(jīng)長時間測試,工作正常、可靠,達(dá)到了預(yù)期的設(shè)計目標(biāo)。