《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)MC9S12XS128的車身控制模塊設(shè)計(jì)
基于單片機(jī)MC9S12XS128的車身控制模塊設(shè)計(jì)
摘要: Freescale的S12系列16位MCU在車身控制系統(tǒng)中應(yīng)用廣泛,,用于車身控制器BCM,、門鎖模塊、RKE接收器,、智能執(zhí)行器,、燈光模塊等車身ECU中。在某整車廠開(kāi)發(fā)的車身控制模塊中,,采用MC9S12XS128做為中央處理器,,實(shí)現(xiàn)了車身控制的大部分功能,包括門鎖控制,、燈光控制,、雨刷控制、車窗控制和防盜報(bào)警,,還實(shí)現(xiàn)了CAN/LIN網(wǎng)關(guān)功能,,通過(guò)CAN總線接收車速和碰撞信號(hào),從而實(shí)現(xiàn)安全駕駛和緊急操作,,通過(guò)LIN總線接收來(lái)自雨量傳感器的信號(hào),,控制雨刷的快速、慢速或間歇操作,。下面從硬件設(shè)計(jì)和軟件設(shè)計(jì)中的關(guān)鍵技術(shù)方面介紹MC9S12XS128在BCM中的應(yīng)用,。
Abstract:
Key words :

 Freescale的S12系列16位MCU在車身控制系統(tǒng)中應(yīng)用廣泛,用于車身控制器BCM,、門鎖模塊,、RKE接收器、智能執(zhí)行器,、燈光模塊等車身ECU中,。在某整車廠開(kāi)發(fā)的車身控制模塊中,采用MC9S12XS128做為中央處理器,,實(shí)現(xiàn)了車身控制的大部分功能,,包括門鎖控制、燈光控制,、雨刷控制,、車窗控制和防盜報(bào)警,還實(shí)現(xiàn)了CAN/LIN網(wǎng)關(guān)功能,通過(guò)CAN總線接收車速和碰撞信號(hào),,從而實(shí)現(xiàn)安全駕駛和緊急操作,,通過(guò)LIN總線接收來(lái)自雨量傳感器的信號(hào),,控制雨刷的快速,、慢速或間歇操作。下面從硬件設(shè)計(jì)和軟件設(shè)計(jì)中的關(guān)鍵技術(shù)方面介紹MC9S12XS128在BCM中的應(yīng)用,。

1 硬件設(shè)計(jì)

1.1 MC9S12XS128簡(jiǎn)介

MC9S12XS128是一款針對(duì)汽車電子市場(chǎng)的高性能16位單片機(jī),,具有速度快、功能強(qiáng),、成本低,、功耗低等特點(diǎn)。其芯片資源及特性如下:

1)總線速度高達(dá)40 MHz,;

2)128 KB程序Flash和8 KB DataFlash,,用于實(shí)現(xiàn)程序和數(shù)據(jù)存儲(chǔ),均帶有錯(cuò)誤校正碼(ECC),;

3)可配置8位,、10位或12位ADC,3μs的轉(zhuǎn)換時(shí)間,;

4)內(nèi)嵌MSCAN模塊用于CAN節(jié)點(diǎn)應(yīng)用,,內(nèi)嵌支持LIN協(xié)議的增強(qiáng)型SCI模塊及SPI模塊;

5)4通道16位計(jì)數(shù)器,;

6)出色的低功耗特性,,帶有中斷喚醒功能的10,實(shí)現(xiàn)喚醒休眠系統(tǒng)的功能,;

7)8通道PWM,,易于實(shí)現(xiàn)電機(jī)控制。

1.2 系統(tǒng)結(jié)構(gòu)

基于S12XS128實(shí)現(xiàn)的BCM硬件系統(tǒng)結(jié)構(gòu)如圖1所示,。由圖可見(jiàn),,BCM硬件電路包括開(kāi)關(guān)信號(hào)檢測(cè)、CAN/LIN通訊,、負(fù)載控制及監(jiān)控幾部分,。其中開(kāi)關(guān)信號(hào)檢測(cè)通過(guò)多路開(kāi)關(guān)檢測(cè)芯片MC33993實(shí)現(xiàn),LIN通訊通過(guò)UART模塊和LIN總線物理層收發(fā)器TJA1021共同實(shí)現(xiàn),,CAN通訊通過(guò)CAN模塊和CAN總線物理層收發(fā)器TJA1055共同實(shí)現(xiàn),,負(fù)載控制通過(guò)智能功率器件實(shí)現(xiàn),智能功率器件除了實(shí)現(xiàn)對(duì)負(fù)載的功率驅(qū)動(dòng),,還可以提供鏡像工作電流,,這樣通過(guò)對(duì)其鏡像工作電流取樣ADC轉(zhuǎn)換便可以監(jiān)測(cè)負(fù)載的工作狀況。

 


圖1 基于S12XS128實(shí)現(xiàn)的BCM硬件系統(tǒng)結(jié)構(gòu)

1.3 開(kāi)關(guān)信號(hào)檢測(cè)

在BCM的設(shè)計(jì)實(shí)現(xiàn)中,,由開(kāi)關(guān)狀態(tài)及其狀態(tài)變化觸發(fā)對(duì)控制負(fù)載的控制是最常見(jiàn)也是最重要的一種控制方式,,由于開(kāi)關(guān)信號(hào)繁多,,而且BCM的控制負(fù)載多采用10的方式進(jìn)行控制,這樣在XS128的IO引腳有限的情況下,,怎樣完成對(duì)多個(gè)開(kāi)關(guān)狀態(tài)的監(jiān)測(cè)成為設(shè)計(jì)中的一大挑戰(zhàn),。同時(shí)對(duì)于電池供電的汽車電子應(yīng)用而言,BCM本身有低功耗的需求,,當(dāng)滿足低功耗條件時(shí),,進(jìn)入低功耗模式,系統(tǒng)關(guān)斷不必要的模塊,,降低功耗,;當(dāng)若干特定開(kāi)關(guān)的狀態(tài)發(fā)生變化時(shí),系統(tǒng)需要啟動(dòng)相關(guān)模塊,,進(jìn)入正常工作模式,,這樣不僅要實(shí)現(xiàn)正常工作模式下的開(kāi)關(guān)狀態(tài)采集及其狀態(tài)變化的捕捉,還需要實(shí)現(xiàn)低功耗模式下的喚醒功能,。

對(duì)部分開(kāi)關(guān)信號(hào)采用分立的方式進(jìn)行采集,,其余則采用Freescale可編程多路開(kāi)關(guān)檢測(cè)接口芯片MC33993實(shí)現(xiàn),其硬件電路如圖2所示,。

 


圖2 硬件電路圖

MC33993通過(guò)SPI和處理器通信,,可檢測(cè)22路開(kāi)關(guān)量輸入信號(hào),并可以設(shè)置哪些開(kāi)關(guān)通道可以觸發(fā)中斷,。首先XS128通過(guò)SPI向MC33993發(fā)送控制命令字,,進(jìn)行初始化設(shè)置,設(shè)定MC33993的工作方式,,并使能那些中斷喚醒的開(kāi)關(guān)通道的可觸發(fā)中斷功能,。在正常工作模式下XS128通過(guò)SPI接口周期讀取MC33993的開(kāi)關(guān)狀態(tài),在低功耗模式下可觸發(fā)中斷的開(kāi)關(guān)通道狀態(tài)發(fā)生變化時(shí),,便可以喚醒XS128,,進(jìn)入正常工作模式。

2 軟件設(shè)計(jì)

2.1 軟件流程設(shè)計(jì)

BCM的軟件設(shè)計(jì)采用初始化+循環(huán)體的軟件結(jié)構(gòu),,軟件流程圖如圖3所示,。首先進(jìn)行全局變量和所用外設(shè)(包括IO、ADC,、SPI,、PWM、TIME-R,、SCI)的初始化,,然后在循環(huán)體內(nèi)依次進(jìn)行開(kāi)關(guān)信號(hào)檢測(cè)、LIN通信、RKE通信以及負(fù)載控制,。對(duì)負(fù)載控制邏輯而言,,開(kāi)關(guān)信號(hào)、LIN信號(hào)和RKE信號(hào)都是觸發(fā)其控制操作的輸入信號(hào),,而且由于需要把若干開(kāi)關(guān)信號(hào)填充到LIN幀中,,所以把負(fù)載控制放在循環(huán)體的最后,各軟件模塊次序如圖3所示,。

 


圖3 軟件流程圖

2.2 開(kāi)關(guān)信號(hào)檢測(cè)軟件設(shè)計(jì)

在BCM的開(kāi)關(guān)控制邏輯中,,開(kāi)關(guān)信號(hào)的狀態(tài)及其變化經(jīng)常作為某個(gè)控制邏輯的背景條件和激勵(lì)信號(hào),所以在程序設(shè)計(jì)時(shí),,對(duì)單個(gè)物理開(kāi)關(guān)信號(hào)需要確定其當(dāng)前狀態(tài)及狀態(tài)跳變(包括開(kāi)關(guān)閉合到斷開(kāi)和開(kāi)關(guān)斷開(kāi)到閉合的變化)。由于BCM需要采集的開(kāi)關(guān)信號(hào)比較多,,為了程序的簡(jiǎn)潔和邏輯的清晰,,定義一個(gè)結(jié)構(gòu)體將各路開(kāi)關(guān)信號(hào)統(tǒng)一起來(lái),利用結(jié)構(gòu)體的位變量特性節(jié)約變量空間,,利用結(jié)構(gòu)的統(tǒng)一性節(jié)約開(kāi)關(guān)信號(hào)檢測(cè)函數(shù)的代碼空間,。設(shè)計(jì)結(jié)構(gòu)體如下:

在上述結(jié)構(gòu)體中Switch表示開(kāi)關(guān)信號(hào)的當(dāng)前狀態(tài),Swon_event和Swoff_event分別表示開(kāi)關(guān)從斷開(kāi)到閉合和從閉合到斷開(kāi)的變化,,CurSw和Detect_cnt用于開(kāi)關(guān)信號(hào)采集,、的軟件消抖功能。設(shè)計(jì)一10 ms的定時(shí)器,,周期讀取開(kāi)關(guān)當(dāng)前狀態(tài),,3次確認(rèn)以判斷Switch、Swon_event,、Swoff_event,。其代碼實(shí)現(xiàn)如下:


3 結(jié)束語(yǔ)

采用MC9S12XS128設(shè)計(jì)實(shí)現(xiàn)了一款車身中央控制器BCM,從處理器特性,、硬件結(jié)構(gòu),、多路開(kāi)關(guān)擴(kuò)展及開(kāi)關(guān)信號(hào)檢測(cè)等方面描述了BCM的硬件設(shè)計(jì),從軟件流程設(shè)計(jì),,開(kāi)關(guān)信號(hào)狀態(tài)監(jiān)測(cè)及變化捕捉的軟件實(shí)現(xiàn)上描述了BCM的軟件設(shè)計(jì),。該BCM經(jīng)裝車試驗(yàn),運(yùn)行穩(wěn)定,,功能可靠,,已經(jīng)進(jìn)入小批量預(yù)生產(chǎn)階段,具有很高的實(shí)用價(jià)值,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。