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