黎 新,陳 暉,董慶大,吳明瞭,李 良,李 敏,姜 凱,張 皓
Li Xin,Chen Hui,Dong Qingda,Wu Mingliao,Li Liang,Li Min,Jiang Kai,Zhang Hao
(東風汽車股份有限公司商品研發院,湖北 武漢 430057)
隨著車身上的執行器越來越多,將各種燈具、門鎖、刮雨器等整合起來集中控制比單獨控制具有相當大的優越性,因此車身控制器逐漸成為汽車的標準配置。雖然車身控制器的控制邏輯并不復雜,但是由于車型不同配置不同,因此車身控制的功能需求也不同,往往需要針對具體車型重新開發配套的車身控制器,不僅開發周期長,而且容易出現軟、硬件設計錯誤,因此需要開發一種通用的可根據需求增減功能的車身控制器。
軟、硬件平臺化、模塊化設計,各種功能可相對獨立配置,可按用戶需求增減,滿足客戶不同配置車型。車身控制器的主要功能是采集各種輸入信號(包括高有效/低有效開關、模擬量、脈沖信號、CAN/LIN總線報文等),對各種燈具(包括轉向燈、室內燈、位置燈、前后霧燈、遠近光燈、超車燈、制動燈等)、遙控電動門鎖、刮雨器、車窗等車體控制單元進行控制和檢測。
實現上述目標的方案是:針對各個被控對象設計相應的輸入、輸出接口電路和驅動程序,根據具體車型實際配置的被控對象,選擇相應的輸入、輸出接口電路;根據被控對象的具體需求,建立相應的應用層模型。
為了能夠適應不同配置車型對車身控制的不同功能需求,硬件平臺要針對全部功能模塊進行單元電路設計,預留足夠的接口。若無需某功能,不焊接該單元電路,適當用飛線連接即可。例如,自動上鎖功能和安全帶未系報警功能要根據車速信號來判斷,車速既可以通過采集脈沖推算出來,也可以通過CAN總線接收。這兩種方案在不同車型上都有應用,因此控制器 PCB板上預留了脈沖輸入電路和CAN收發電路。完整的硬件平臺結構如圖1所示,電路原理如圖2~圖10所示。
硬件平臺主要包括以下模塊:
1)單片機最小系統,由48腳MC9S08DZ60為核心的主控芯片、4MHz晶振和若干電容構成;
2)以TLE4275為核心的電源電路為整機提供5V直流工作電壓,由二極管、三極管、電阻、電容等分立器件組成防反接、防浪涌模塊;
3)開關信號輸入,包括高有效開關和低有效開關單元電路。由于開關信號較多,為了節約單片機I/O口資源,開關信號通過74HC165并轉串芯片輸入主控芯片;
4)模擬信號輸入;
5)脈沖信號整形輸入;
6)燈絲檢測電路,包括轉向燈燈絲開路檢測,制動燈、位置燈、后霧燈燈絲開路或短路檢測;
7)開關信號輸出及功率放大,由于開關信號較多,為了節約單片機I/O口資源,開關信號由主控芯片串行輸出,通過74HC595串轉并芯片和由BSP75、ULN2803A、VND5E025MK組成的驅動電路控制負載;
8)蜂鳴器及驅動電路,以不同頻率和持續時間鳴叫,提醒司乘人員;
9)總線通信電路,包括CAN總線和LIN總線接口電路,既便于車身控制器的調試和標定,又能與其他控制器通信。
軟件架構借鑒AUTOSAR的分層思想,自底向上依次分為驅動層、接口層和應用層。驅動層的作用是:1)完成微控制器內部系統時鐘、I/O、CAN/LIN等模塊的初始化;2)讀寫各模塊寄存器獲取輸入信號、輸出控制信號;3)提供中斷服務。接口層的作用是隱藏操作硬件的細節,屏蔽不同硬件的具體差異,為應用層代碼提供統一的調用接口。應用層實現具體的控制邏輯,通過接口層獲取各種輸入信號,經過計算得出控制信號,再通過接口層間接調用驅動層控制被控對象。
由于硬件平臺已經確定,驅動層和接口層基本上不會再有大的變化,可以采用手寫代碼實現;而應用層正好相反,會因為不同車型配置的不同需求而頻繁修改,傳統的手寫代碼的開發方式很難勝任。Matlab軟件的Simulink和Stateflow能夠以非常直觀易懂的圖形方式即模型來表達復雜的控制邏輯,并且能在Matlab環境下測試控制邏輯的正確性,還能自動將模型轉化為等價C語言代碼,因此應用層采用Matlab進行基于模型的開發。每個功能模塊封裝為一個子系統,如不需要某個功能模塊,可將其對應的子系統注釋掉,生成的C代碼就不包含該模塊。
模型搭建測試完畢后生成C代碼,與底層、接口層C代碼一起添加到CodeWarrior項目中編譯為S19文件。通過Freescale專用仿真器可以將S19文件從上位機下載到微控制器芯片里,還可以實現上位機與車身控制器雙機聯合調試。
東風A08客車車身控制對象有燈、鎖、刮雨器、車窗等。該車門鎖要求能夠用遙控鑰匙開啟或關閉,而上述硬件平臺不含遙控接收電路,但預留了與專用遙控接收電路板對接的接口,因此上述硬件平臺能夠滿足該車車身控制的需求,不需要重新開發硬件。
該車車身控制邏輯如下。
4.1.1 轉向燈控制
采集轉向燈開關和危險警報開關的信號,轉向開關接通后,相應方向的轉向燈閃爍。危險警報開關按下后,所有轉向燈同時閃爍。
4.1.2 室內燈控制
采集門開關信號,任一車門打開,當IGN信號有效時,室內燈常亮;當IGN信號無效時,最多延時5 min自動熄滅。遙控開鎖時,當IGN信號無效時,最多延時5 s自動熄滅。全部車門關閉,室內燈熄滅。
4.1.3 位置燈控制
位置燈開關閉合,位置燈開啟;位置燈開關斷開,位置燈關閉。
4.1.4 霧燈控制
IGN信號和位置燈開啟情況下,按下前霧燈開關,控制前霧燈繼電器吸合,開啟前霧燈;無IGN信號、位置燈關閉或再次按下前霧燈開關,控制前霧燈繼電器斷開,關閉前霧燈。采集 IGN信號、位置燈信號、前霧燈開關信號和后霧燈開關信號,如果這 4個信號都能檢測到,開啟后霧燈,否則關閉后霧燈。
其他燈具,如近光燈、遠光燈、超車燈、制動燈控制策略類似,都是通過檢測IGN信號和相應開關的狀態來控制燈具開啟或關閉。
所有門鎖電機并聯控制,開鎖閉鎖有遙控、電動和手動3種方式。遙控開鎖后30 s未開門,自動閉鎖。車速大于15km/h,自動上鎖。當鑰匙插入點火鎖打到ACC檔或ON檔時或者門未關,遙控功能無效。當車速小于15km/h時,電動開閉鎖功能有效。當左前門處于開鎖狀態時,按電動中控門鎖開關,信號持續100 ms及以上,門閉鎖;當左前門處于閉鎖狀態時,按電動中控門鎖開關,信號持續100 ms及以上,門開鎖。操縱駕駛員側門栓,其他門跟隨駕駛員側門上鎖或開鎖。任一車門未關好上鎖時,所有轉向燈閃爍30s,門鎖電機不工作。
ACC或IGN信號接通時,若刮雨器低速開關閉合,則刮雨器電機低速運轉;若刮雨器高速開關閉合,則刮雨器電機高速運轉;若刮雨器間歇開關閉合,則刮雨器電機間歇運轉,間歇開關為無級變速,間隔時間為1~12 s。若ACC或IGN信號消失或刮雨器開關斷開,則刮雨器電機在刮水片到達起始位置時停止運轉。ACC或IGN信號接通時,若洗滌開關閉合,刮雨器電機低速運轉;洗滌開關斷開,刮雨器電機刮刷2次。
ACC關閉情況下,車門開啟,位置燈未關,聲音報警。檢測IGN信號,車速大于15km/h時安全帶未系,聲音報警。檢測車窗按鍵,控制電機帶動車窗升降。
根據上述控制邏輯建立 Simulink模型如圖11~圖16所示。
通過軟、硬件模塊化設計和基于Simulink建模實現應用層控制策略來開發通用的車身控制器,根據各種不同的車身控制需求對模塊增減功能,可以避免重新開發,提高產品可靠性,加快產品上市。