基于CDC3207G的汽車儀表板設(shè)計(jì)
2.5 LED指示燈和報(bào)警燈
LED指示燈可以用有較強(qiáng)驅(qū)動(dòng)能力的H端口進(jìn)行驅(qū)動(dòng),其8個(gè)LED指示燈由H端口直接驅(qū)動(dòng)。但H端口不夠用,所以擴(kuò)展了一個(gè)TD62083,用于驅(qū)動(dòng)另外8個(gè)LED指示燈和報(bào)警燈。圖5給出LED指示燈和報(bào)警燈電路。
3 軟件設(shè)計(jì)
考慮到汽車儀表板對(duì)實(shí)時(shí)性的要求,應(yīng)用了μC/OS―II操作系統(tǒng)開發(fā)軟件。μC/OS―II是一個(gè)具備現(xiàn)代操作系統(tǒng)特點(diǎn)的RTOS,同時(shí)它結(jié)構(gòu)清晰,注解詳盡,具有良好的可擴(kuò)展性和可移植性,廣泛地應(yīng)用于各種架構(gòu)的微處理器。μC/OS―II的系統(tǒng)組成包含任務(wù)調(diào)度,任務(wù)管理,時(shí)間管理和任務(wù)間的通信等基本功能。這里僅對(duì)μC/OS―II的啟動(dòng)程序和任務(wù)的分配作簡(jiǎn)要介紹,將著眼點(diǎn)放在基于CDC3207G的移植和應(yīng)用。圖6給出軟件的組織結(jié)構(gòu)。
3.1 啟動(dòng)代碼的設(shè)計(jì)
嵌入式系統(tǒng)的資源有限,程序通常都是固化在ROM運(yùn)行。ROM程序執(zhí)行前,需要初始化系統(tǒng)硬件和軟件運(yùn)行環(huán)境,這些工作由匯編語(yǔ)言編寫的啟動(dòng)程序完成。啟動(dòng)程序是嵌入式程序的開頭部分,與應(yīng)用程序一起固化在ROM中,并首先在系統(tǒng)上電后運(yùn)行。它應(yīng)包含各模塊可能出現(xiàn)的所有段類,并合理安排它們的次序。
設(shè)計(jì)優(yōu)秀的嵌入式程序關(guān)鍵要有好的啟動(dòng)程序,由于μC/OS―II不是針對(duì)特定的硬件進(jìn)行設(shè)計(jì),可以把μC/OS―II內(nèi)核代碼分成4個(gè)部分:與處理器無(wú)關(guān)的代碼、與處理器有關(guān)的代碼、與應(yīng)用相關(guān)的代碼以及驅(qū)動(dòng)程序庫(kù)。為了使μC/OS―II在基于ARM7TDMI的處理器CDC3207G上能夠正常的運(yùn)行,需要實(shí)現(xiàn)相應(yīng)的啟動(dòng)程序以及對(duì)μC/OS―II中與處理器相關(guān)部分的設(shè)計(jì)與實(shí)現(xiàn)。圖7給出啟動(dòng)代碼的流程圖。
3.2 任務(wù)規(guī)劃
儀表盤的研制在軟件部分可以分成若干任務(wù)來(lái)完成,下面對(duì)這個(gè)問題進(jìn)行規(guī)劃。
(1)啟動(dòng)任務(wù)
優(yōu)先級(jí):10
周期:否
可剝奪:否
作用:初始化各模塊,包括UART、定時(shí)器、捕捉比較器等
(2)步進(jìn)電機(jī)任務(wù)
優(yōu)先級(jí):8
周期:2 ms
可剝奪:否
作用:驅(qū)動(dòng)步進(jìn)電機(jī),在啟動(dòng)時(shí)需要0位檢測(cè)
(3)指示器任務(wù)
優(yōu)先級(jí):7
周期:500 ms
可剝奪:否
作用:設(shè)置指示燈和提示音。
(4)采集任務(wù)
優(yōu)先級(jí):6
周期:25 ms
可剝奪:否
作用:用于采集各種非中斷量如溫度、光強(qiáng)等傳感器信號(hào)并保存
(5)背光任務(wù)
優(yōu)先級(jí):5
周期:250 ms
可剝奪:否
作用:根據(jù)周圍的光線強(qiáng)度調(diào)節(jié)儀表盤和LCD的背光
(6)LCD顯示任務(wù)
優(yōu)先級(jí):2
周期:100 ms
可剝奪:是
任務(wù):根據(jù)總線上采集到的數(shù)據(jù)更新LCD顯示,如溫度、公里數(shù)等
上述各任務(wù)運(yùn)行在任務(wù)級(jí),還有一些任務(wù)運(yùn)行在中斷級(jí),比如時(shí)鐘節(jié)拍中斷、CAN總線數(shù)據(jù)采集等。
4 結(jié)語(yǔ)
由于Micronas公司的CDC3207G內(nèi)部集成有步進(jìn)電機(jī)驅(qū)動(dòng)模塊、音頻控制模塊、LCD驅(qū)動(dòng)模塊、LED及報(bào)警燈驅(qū)動(dòng)端口,CAN總線模塊等豐富的資源,因此減少了所需使用的外部驅(qū)動(dòng)器件的數(shù)量,大大簡(jiǎn)化了儀表盤系統(tǒng)的設(shè)計(jì)。該器件在休眠狀態(tài)下的功耗非常小(經(jīng)測(cè)試約為19.1μA),有利于降低整個(gè)系統(tǒng)的功耗。該儀表板系統(tǒng)各方面表現(xiàn)良好.指針平滑轉(zhuǎn)動(dòng),具有極低的功耗,可靠性較高。軟件部分應(yīng)用了uC/OS一Ⅱ操作系統(tǒng),實(shí)時(shí)性能較好,能對(duì)外部事件作出快速響應(yīng)。
評(píng)論