基于MM908E625的電動(dòng)后視鏡控制單元的設(shè)計(jì)
引言:
隨著汽車舒適性的增加,很多汽車都安裝了電動(dòng)后視鏡,司機(jī)按下按鈕就可以調(diào)整后視鏡的位置,非常方便,現(xiàn)在的后視鏡控制一般采用繼電器實(shí)現(xiàn),隨著汽車智能化程度的提高,當(dāng)要求增加功能時(shí),便要增加大量的連線或者傳感器處理電路[1],而且需要增加與車內(nèi)其它控制單元的數(shù)據(jù)交換功能,由于安裝空間有限,開發(fā)基于總線的高度集成的電動(dòng)后視鏡控制模塊便變得迫切需要。
飛思卡爾提供高級(jí)智能分布式控制(IDC)設(shè)備MM908E62X系列,由高性能的HC08單片機(jī)(MCU)核和SmartMOS模擬控制IC構(gòu)成[2],支持局域互連網(wǎng)絡(luò)(LIN),用于汽車分布式控制單元的開發(fā),與具有類似功能的分散解決方案相比,MM908E62x設(shè)備非常經(jīng)濟(jì)高效,它能減少應(yīng)用中使用的設(shè)備的數(shù)量,從而還可以簡(jiǎn)化后勤的工序,提高可靠性。本設(shè)計(jì)采用MM908E625實(shí)現(xiàn)了基于LIN總線的后視鏡控制單元,它是一個(gè)高度集成的單封裝解決方案,只需要很少的外圍器件,便可以輕松實(shí)現(xiàn)對(duì)后視鏡的智能化控制。
1. 硬件設(shè)計(jì):
后視鏡控制單元通過LIN總線接受主節(jié)點(diǎn)的控制指令,控制H橋從而控制后視鏡電機(jī)的正反轉(zhuǎn),實(shí)現(xiàn)對(duì)后視鏡上下、前后兩個(gè)方向的位置調(diào)整和折疊功能。
1.1 芯片介紹
本設(shè)計(jì)中采用飛思卡爾的分布式控制單芯片MM908E625,該芯片特點(diǎn)如下:
1) ESD +/- 400V
2) 運(yùn)行電壓:7.5V - 20V
3) 集成MC68HC908EY16,采用HC908內(nèi)核
4) HC908微控制器帶有定時(shí)器、ESCI、ADC、片上振蕩器、16KB閃存、512B RAM、內(nèi)部時(shí)鐘生成模塊、2個(gè)16位的雙信道定時(shí)器、10位ADC和13個(gè) MCU 輸入/輸出針腳
5) 集成LIN物理層收發(fā)器
6) SmartMOS工藝,集成四個(gè)半H橋和一個(gè)高端開關(guān)
7) 智能監(jiān)測(cè)功能,可以短路保護(hù),過電壓保護(hù)和過溫自動(dòng)關(guān)斷保護(hù)
該芯片在一個(gè)SOIC54的封裝內(nèi)集成了MCU和模擬控制IC,非常適合空間狹小的應(yīng)用,在后視鏡控制的應(yīng)用中很好得滿足了功能和裝配的要求。
1.2 硬件電路
硬件結(jié)構(gòu)框圖如圖1所示:
圖1 硬件結(jié)構(gòu)框圖
MM908E625內(nèi)部集成了許多模塊,在后視鏡控制的應(yīng)用中主要用到了HC908EY16內(nèi)核,SPI模塊,ESCI模塊和ADC模塊。做為飛思卡爾的分布式控制單芯片解決方案,MM908E625替代了傳統(tǒng)的MCU+H橋驅(qū)動(dòng)芯片+LIN物理層收發(fā)芯片的方式,以單芯片的方式便實(shí)現(xiàn)了基于LIN的后視鏡控制的應(yīng)用,極大地減少了PCB面積,減少了成本,其電路圖如圖2所示:
圖2 電路圖
1.3 工作原理
后視鏡的控制包括上下左右四個(gè)方向的位置調(diào)整,通過MM908E625內(nèi)的H橋驅(qū)動(dòng)相應(yīng)電機(jī)的正反轉(zhuǎn)實(shí)現(xiàn),H橋通過MM908E625內(nèi)的MCU(EY16)以SPI的方式設(shè)置H橋控制寄存器實(shí)現(xiàn)。為了有效監(jiān)控電機(jī)的運(yùn)行,利用H橋低端通道的電流反饋功能進(jìn)行實(shí)時(shí)監(jiān)控,通過模擬多路復(fù)用器選擇相應(yīng)的H橋低端通道,然后采用MCU片上的ADC監(jiān)測(cè)該電流,從而判斷后視鏡電機(jī)運(yùn)行狀態(tài)是在啟動(dòng)、正常工作還是阻轉(zhuǎn)狀態(tài)。
該節(jié)點(diǎn)作為車門LIN網(wǎng)的一個(gè)從節(jié)點(diǎn),要實(shí)現(xiàn)LIN通訊功能,MM908E625片內(nèi)集成了LIN物理層收發(fā)器,通過MCU上的ESCI模塊實(shí)現(xiàn)LIN協(xié)議的數(shù)據(jù)鏈路層驅(qū)動(dòng)器,完成LIN總線通訊功能。
2.軟件設(shè)計(jì)
2.1 軟件流程
軟件流程圖如圖2所示。主要包括初始化程序和循環(huán)流程,初始化程序完成各個(gè)模塊的工作狀態(tài)的設(shè)置,循環(huán)流程中通過LIN總線接收指令,按照指令啟動(dòng)電機(jī)和停止電機(jī),同時(shí)監(jiān)測(cè)電機(jī)電流判斷是否堵轉(zhuǎn)。
首先對(duì)要使用到的每個(gè)模塊進(jìn)行初始化,包括SPI,ADC,ESCI和TBM模塊。MM908E625內(nèi)的MCU通過SPI控制MM908E625內(nèi)的模擬區(qū)域,所以根據(jù)模擬區(qū)域?qū)PI控制的時(shí)序要求初始化SPI模塊;ADC用于采樣H橋回饋電流,該反饋電流通過模擬多路復(fù)用器連接到MCU 上的ADC0,ADC的初始化程序選擇采樣通道為ADC0即可;ESCI模塊用于實(shí)現(xiàn)LIN的協(xié)議棧,其初始化包括設(shè)置其波特率、使能接收中斷;時(shí)基模塊用于電機(jī)啟動(dòng)后的計(jì)時(shí)配合ADC模塊實(shí)現(xiàn)對(duì)后視鏡電機(jī)堵轉(zhuǎn)的監(jiān)控。
后視鏡電機(jī)的控制是通過LIN總線傳輸?shù)闹噶顚?shí)現(xiàn)的,當(dāng)接收到總線上的新指令時(shí),啟動(dòng)電機(jī)或停止電機(jī)的運(yùn)行。
圖2 軟件流程圖
2.2 判斷后視鏡電機(jī)阻轉(zhuǎn):
為了保護(hù)后視鏡電機(jī),需要在后視鏡到達(dá)終點(diǎn)時(shí)及時(shí)地停止電機(jī),這就需要用到MM908E625內(nèi)部H橋提供的電流反饋功能,在電機(jī)運(yùn)行穩(wěn)定后監(jiān)測(cè)電流,當(dāng)其大于某一個(gè)閾值時(shí)便認(rèn)為后視鏡到達(dá)終點(diǎn)發(fā)生了堵轉(zhuǎn),這時(shí)停止電機(jī)。
在電機(jī)剛啟動(dòng)的一段時(shí)間內(nèi),電機(jī)的電流變化比較大,無法通過監(jiān)測(cè)電流的變化判斷后視鏡是否已經(jīng)到達(dá)終點(diǎn),所以要在啟動(dòng)的這段時(shí)間內(nèi)避免監(jiān)測(cè)其電流,采用MM908E625內(nèi)的時(shí)基模塊計(jì)時(shí),設(shè)為35ms中斷,屏蔽時(shí)間設(shè)置為210ms,這段時(shí)間后電機(jī)穩(wěn)定運(yùn)行,電流也達(dá)到穩(wěn)定。
每個(gè)H橋的低端通道均帶有電流反饋,該反饋電流通過模擬多路復(fù)用器連接到MCU 上的ADC0通道,當(dāng)電機(jī)穩(wěn)定運(yùn)行后,首先通過SPI設(shè)置模擬多路復(fù)用器寄存器,選擇使用中的H橋低端驅(qū)動(dòng)通道,這時(shí)對(duì)模擬多路復(fù)用器的輸出進(jìn)行AD采樣,判斷電機(jī)運(yùn)行電流的大小,當(dāng)電流值超過100mA時(shí)便認(rèn)為發(fā)生了堵轉(zhuǎn),這時(shí)通過SPI設(shè)置H橋寄存器,關(guān)斷H橋通道,停止電機(jī)運(yùn)行。
結(jié)語:
本設(shè)計(jì)采用飛思卡爾提供的單芯片智能分布式控制芯片MM908E625實(shí)現(xiàn)了后視鏡的位置調(diào)整和折疊功能,實(shí)現(xiàn)了完整的保護(hù)和診斷功能,電路板高度集成,滿足了后視鏡控制單元安裝空間有限的要求和高度的機(jī)械安裝可靠性,實(shí)驗(yàn)證明,該模塊運(yùn)行良好,具有一定的實(shí)用價(jià)值。