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