基于飛思卡爾單片機的汽車組合電子儀表
MC33970的特點如下:
·兼容MMT認證的兩相步進電機;
·指針可停留在4095個穩定的位置;
·最大轉角340°;
·最大加速度4500 deg/s2;
·最大速度400 deg/s;
·模擬微步(指針運動12步為1°);
·指針校準與回零;
·SPI控制,16位命令字;
·內部校準時鐘;
·睡眠模式低電流。
基于LJ12芯片內部豐富的硬件資源,進行做了如下配置:
·PLL:外部晶振32.768k,內部總線倍頻至4M;
·SCI:用于上位機通訊,比特率9600,中斷方式;
·SPI:時鐘1M,作為MC33970的控制,用兩個通用管腳作為SPI的片選信號;
·LCD:使用26×4模式,即26前極、4背極的模式,動態驅動;因為設計中用到6位LCD模塊,所以使用FP1~FP12、BP0~BP3已經足夠;
·Flash:利用常駐內存函數(ROM-Resident Routine)將里程數據以32位數據的形式保存于用戶閃存中。
1、系統設計:
選取SWITEC公司出品的步進電機作為執行器,6位筆段式動態驅動液晶模塊用于里程/單次里程或時間日期的顯示。出于習慣,汽車儀表需要一直保持帶電狀態,無需重置時間參數。為了方便演示,用兩個按鈕實現LCD顯示模式的切換。6個發光二極管分別用于顯示制動、危險、機油壓力、電瓶、發動機以及空檔信息,利用MC1413作為發光二極管的驅動。
MC33970由微控制器的SPI直接驅動;車速和發動機轉速為脈寬調制信號或來自串口輸入,通過定時器模塊的輸入捕捉功能得到其頻率,換算得出數據。
2、電路設計
(1)電源及掉電保護 輸入端使用7805。為了在掉電的時候也可以及時地保存里程數據,在電源地輸入端加1個1000μF或2個470μF的電解電容。電源斷開的時候在IRQ管腳會產生一個中斷信號,大電容可以維持單片機電源足夠長的時間,使得單片機可以完成外部中斷的服務程序。
(2) 調理電路 為了改善波形,在定時器管腳外添加調理電路。
(3) 整體設計
為了體現面向市場上中低檔轎車的這個初衷,根據長安轎車的儀表外殼及內部尺寸設計了儀表的PCB,并進行重新布局。系統框圖如圖2所示。
3、軟件描述
(1)初始化函數
內部總線倍頻至4M;設置定時器模塊的通道為捕捉功能;SCI波特率9600,開接收中斷;SPI時鐘頻率1M;LCD模塊26×4模式;使能Real Time Clock模塊;MC33970與指針初始化;從用戶Flash中讀取先前記錄的里程數據,并根據ODO/TRIP信號加以顯示。
(2)中斷服務程序
·外部中斷:斷電后短時間內利用大電容的放電使指針回零。
·SCI中斷:遵循一定的上位機協議,接受命令,改變LCD顯示內容,改變車速和轉速數據。
·RTC中斷:每秒記錄一次里程數據,根據車速信號換算里程數據。
(3)主函數
定時讀取里程數據,并在LCD上顯示;每一次主循環結束的時候重啟WATCHDOG;當車速或轉速信號改變之后通過指針位置的變化做出反應。
結束語
該方案是一個基于飛思卡爾微控制器的汽車電子儀表板的低端方案,面向各種經濟型汽車,具有功能齊備、結構緊湊、價格低廉的特點,具有廣闊的市場空間。(end)
評論