基于MM908E625的電動后視鏡控制單元的設計
1.3 工作原理
后視鏡的控制包括上下左右四個方向的位置調整,通過MM908E625內的H橋驅動相應電機的正反轉實現,H橋通過MM908E625內的MCU(EY16)以SPI的方式設置H橋控制寄存器實現。為了有效監控電機的運行,利用H橋低端通道的電流反饋功能進行實時監控,通過模擬多路復用器選擇相應的H橋低端通道,然后采用MCU片上的ADC監測該電流,從而判斷后視鏡電機運行狀態是在啟動、正常工作還是阻轉狀態。
該節點作為車門LIN網的一個從節點,要實現LIN通訊功能,MM908E625片內集成了LIN物理層收發器,通過MCU上的ESCI模塊實現LIN協議的數據鏈路層驅動器,完成LIN總線通訊功能。
2.軟件設計
2.1 軟件流程
軟件流程圖如圖2所示。主要包括初始化程序和循環流程,初始化程序完成各個模塊的工作狀態的設置,循環流程中通過LIN總線接收指令,按照指令啟動電機和停止電機,同時監測電機電流判斷是否堵轉。
首先對要使用到的每個模塊進行初始化,包括SPI,ADC,ESCI和TBM模塊。MM908E625內的MCU通過SPI控制MM908E625內的模擬區域,所以根據模擬區域對SPI控制的時序要求初始化SPI模塊;ADC用于采樣H橋回饋電流,該反饋電流通過模擬多路復用器連接到MCU 上的ADC0,ADC的初始化程序選擇采樣通道為ADC0即可;ESCI模塊用于實現LIN的協議棧,其初始化包括設置其波特率、使能接收中斷;時基模塊用于電機啟動后的計時配合ADC模塊實現對后視鏡電機堵轉的監控。
后視鏡電機的控制是通過LIN總線傳輸的指令實現的,當接收到總線上的新指令時,啟動電機或停止電機的運行。
圖2 軟件流程圖
2.2 判斷后視鏡電機阻轉:
為了保護后視鏡電機,需要在后視鏡到達終點時及時地停止電機,這就需要用到MM908E625內部H橋提供的電流反饋功能,在電機運行穩定后監測電流,當其大于某一個閾值時便認為后視鏡到達終點發生了堵轉,這時停止電機。
在電機剛啟動的一段時間內,電機的電流變化比較大,無法通過監測電流的變化判斷后視鏡是否已經到達終點,所以要在啟動的這段時間內避免監測其電流,采用MM908E625內的時基模塊計時,設為35ms中斷,屏蔽時間設置為210ms,這段時間后電機穩定運行,電流也達到穩定。
每個H橋的低端通道均帶有電流反饋,該反饋電流通過模擬多路復用器連接到MCU 上的ADC0通道,當電機穩定運行后,首先通過SPI設置模擬多路復用器寄存器,選擇使用中的H橋低端驅動通道,這時對模擬多路復用器的輸出進行AD采樣,判斷電機運行電流的大小,當電流值超過100mA時便認為發生了堵轉,這時通過SPI設置H橋寄存器,關斷H橋通道,停止電機運行。
結語:
本設計采用飛思卡爾提供的單芯片智能分布式控制芯片MM908E625實現了后視鏡的位置調整和折疊功能,實現了完整的保護和診斷功能,電路板高度集成,滿足了后視鏡控制單元安裝空間有限的要求和高度的機械安裝可靠性,實驗證明,該模塊運行良好,具有一定的實用價值。
評論