基于MC9S12XS128的汽車BCM的設(shè)計與實現(xiàn)
摘要:為某車型設(shè)計了一款車身中央控制器BCM,實現(xiàn)了門鎖控制、燈光控制、雨刷控制、車窗控制、LIN通信、RKE通信等功能。BCM采用Freescale的S12系列16位微處理器MC9S12XS128進行設(shè)計,通過多路開關(guān)檢測芯片MC33993進行IO擴展,解決了多路開關(guān)、處理器IO管腳有限條件下的開關(guān)信號采集,開關(guān)信號檢測程序設(shè)計中采用通用結(jié)構(gòu)體統(tǒng)一了各路開關(guān)信號的狀態(tài)監(jiān)測及變化捕捉功能的實現(xiàn),提高了代碼效率及運行的穩(wěn)定性。同時還敘述了BCM的硬件結(jié)構(gòu),根據(jù)BCM的工作方式設(shè)計了軟件流程。
關(guān)鍵詞:車身控制器;MC9S12XS128;開關(guān)信號檢測;MC33993;負載控制
Freescale的S12系列16位MCU在車身控制系統(tǒng)中應(yīng)用廣泛,用于車身控制器BCM、門鎖模塊、RKE接收器、智能執(zhí)行器、燈光模塊等車身ECU中。在某整車廠開發(fā)的BCM中,采用MC9S12XS128做為中央處理器,實現(xiàn)了車身控制的大部分功能,包括門鎖控制、燈光控制、雨刷控制、車窗控制和防盜報警,還實現(xiàn)了CAN/LIN網(wǎng)關(guān)功能,通過CAN總線接收車速和碰撞信號,從而實現(xiàn)安全駕駛和緊急操作,通過LIN總線接收來自雨量傳感器的信號,控制雨刷的快速、慢速或間歇操作。下面從硬件設(shè)計和軟件設(shè)計中的關(guān)鍵技術(shù)方面介紹MC9S12XS128在BCM中的應(yīng)用。
1 硬件設(shè)計
1.1 MC9S12XS128簡介
MC9S12XS128是一款針對汽車電子市場的高性能16位單片機,具有速度快、功能強、成本低、功耗低等特點。其芯片資源及特性如下:
1)總線速度高達40 MHz;
2)128 KB程序Flash和8 KB DataFlash,用于實現(xiàn)程序和數(shù)據(jù)存儲,均帶有錯誤校正碼(ECC);
3)可配置8位、10位或12位ADC,3μs的轉(zhuǎn)換時間;
4)內(nèi)嵌MSCAN模塊用于CAN節(jié)點應(yīng)用,內(nèi)嵌支持LIN協(xié)議的增強型SCI模塊及SPI模塊;
5)4通道16位計數(shù)器;
6)出色的低功耗特性,帶有中斷喚醒功能的10,實現(xiàn)喚醒休眠系統(tǒng)的功能;
7)8通道PWM,易于實現(xiàn)電機控制。
1.2 系統(tǒng)結(jié)構(gòu)
基于S12XS128實現(xiàn)的BCM硬件系統(tǒng)結(jié)構(gòu)如圖1所示。由圖可見,BCM硬件電路包括開關(guān)信號檢測、CAN/LIN通訊、負載控制及監(jiān)控幾部分。其中開關(guān)信號檢測通過多路開關(guān)檢測芯片MC33993實現(xiàn),LIN通訊通過UART模塊和LIN總線物理層收發(fā)器TJA1021共同實現(xiàn),CAN通訊通過CAN模塊和CAN總線物理層收發(fā)器TJA1055共同實現(xiàn),負載控制通過智能功率器件實現(xiàn),智能功率器件除了實現(xiàn)對負載的功率驅(qū)動,還可以提供鏡像工作電流,這樣通過對其鏡像工作電流取樣ADC轉(zhuǎn)換便可以監(jiān)測負載的工作狀況。
1.3 開關(guān)信號檢測
在BCM的設(shè)計實現(xiàn)中,由開關(guān)狀態(tài)及其狀態(tài)變化觸發(fā)對控制負載的控制是最常見也是最重要的一種控制方式,由于開關(guān)信號繁多,而且BCM的控制負載多采用10的方式進行控制,這樣在XS128的IO引腳有限的情況下,怎樣完成對多個開關(guān)狀態(tài)的監(jiān)測成為設(shè)計中的一大挑戰(zhàn)。同時對于電池供電的汽車電子應(yīng)用而言,BCM本身有低功耗的需求,當滿足低功耗條件時,進入低功耗模式,系統(tǒng)關(guān)斷不必要的模塊,降低功耗;當若干特定開關(guān)的狀態(tài)發(fā)生變化時,系統(tǒng)需要啟動相關(guān)模塊,進入正常工作模式,這樣不僅要實現(xiàn)正常工作模式下的開關(guān)狀態(tài)采集及其狀態(tài)變化的捕捉,還需要實現(xiàn)低功耗模式下的喚醒功能。
對部分開關(guān)信號采用分立的方式進行采集,其余則采用Freescale可編程多路開關(guān)檢測接口芯片MC33993實現(xiàn),其硬件電路如圖2所示。
MC33993通過SPI和處理器通信,可檢測22路開關(guān)量輸入信號,并可以設(shè)置哪些開關(guān)通道可以觸發(fā)中斷。首先XS128通過SPI向MC33993發(fā)送控制命令字,進行初始化設(shè)置,設(shè)定MC33993的工作方式,并使能那些中斷喚醒的開關(guān)通道的可觸發(fā)中斷功能。在正常工作模式下XS128通過SPI接口周期讀取MC33993的開關(guān)狀態(tài),在低功耗模式下可觸發(fā)中斷的開關(guān)通道狀態(tài)發(fā)生變化時,便可以喚醒XS128,進入正常工作模式。
評論