一種基于時(shí)間觸發(fā)模式的汽車防盜系統(tǒng)的設(shè)計(jì)
3.3系統(tǒng)硬件部分
1)采用了Atmel公司生產(chǎn)的AT89S52單片機(jī)作為處理核心,該處理器有32個(gè)I/O口,3個(gè)Timer,最多支持8個(gè)中斷。因?yàn)?56B的片上RAM資源不夠,所以系統(tǒng)使用了擴(kuò)展的64KRAM,此外AT89S52的8K片上flash對(duì)于該系統(tǒng)來說已經(jīng)足夠。該處理器可以支持不同的功耗模式,適用于對(duì)于成本和功耗敏感的場(chǎng)合。
CPU外接型號(hào)為AT24C01的EEPROM作為數(shù)據(jù)存儲(chǔ)器,用來存放車主電話號(hào)碼等信息。AT24C系列串行E2PROM具有I2C總線接口功能,功耗小,寬電源電壓(根據(jù)不同型號(hào)2.5V~6.0V),工作電流約為3mA,靜態(tài)電流隨電源電壓不同為30μA~110μA。系統(tǒng)中使用了P2口模擬I2C總線與E2PROM連接,這樣的方式相比硬件實(shí)現(xiàn)I2C協(xié)議可以簡化電路,降低成本。
AT89S52芯片中提供了內(nèi)置看門狗,在一定的時(shí)間周期內(nèi),我們必須對(duì)看門狗的寄存器進(jìn)行設(shè)置,如果沒能及時(shí)設(shè)置,看門狗將使系統(tǒng)復(fù)位。
2)每臺(tái)終端在使用前需要進(jìn)行初始化設(shè)置。該設(shè)置是通過串口來完成的,通過復(fù)用與GPS連接的串口來實(shí)現(xiàn)終端設(shè)備的初始化。需要定義好其通信協(xié)議和需要配置的具體內(nèi)容。
3)該終端安裝在汽車比較隱蔽的地方,采用汽車電源供電的方式。該終端的主要功能是負(fù)責(zé)GPS信號(hào)的接收處理、告警數(shù)據(jù)的上報(bào)、中心控制命令的接收、處理及命令的執(zhí)行等工作。
4)GPRS模塊采用法國WAVECOM公司Q2406B,上傳速率可達(dá)2618kbits/s,下載速率可達(dá)5316kbits/s。GPS模塊有以下兩種選擇:
a)直接選擇串口連接方式的GPRSMODEM。
b)選擇內(nèi)置的GPRS模塊外加天線的設(shè)計(jì)方法。
采用第一種方法可以降低開發(fā)和維護(hù)的難度,而且安裝方便,但是成本比較高。第二種方法需要在硬件上設(shè)計(jì)相關(guān)的電路,開發(fā)難度較大,不過可以降低成本。
5)車輪速度傳感器也叫輪速傳感器或轉(zhuǎn)速傳感器,它可以測(cè)出車輪與驅(qū)動(dòng)軸共同旋轉(zhuǎn)的齒圈數(shù),然后產(chǎn)生與車輪轉(zhuǎn)速成正比的交流信號(hào)。車輪速度傳感器信號(hào)通過ADC電路轉(zhuǎn)換為數(shù)字信號(hào)傳送給CPU進(jìn)行判讀。
3.4任務(wù)的設(shè)計(jì)
通過對(duì)圖2以及系統(tǒng)功能的分析我們將系統(tǒng)軟件劃分為多個(gè)任務(wù),任務(wù)的名稱,任務(wù)周期以及執(zhí)行時(shí)間等信息如表1所列。
在表列出的各項(xiàng)任務(wù)中,Task1每1ms對(duì)buffer進(jìn)行查詢,如果有需要收發(fā)的信息,馬上通過串口收發(fā)。串口收到的string流存放到緩沖區(qū)中,交給Task2進(jìn)行處理。Task2周期為1s,負(fù)責(zé)PUD短信的編解碼,對(duì)命令的識(shí)別和控制信號(hào)的發(fā)送,它是系統(tǒng)中最耗費(fèi)資源的任務(wù)。Task3每隔10s執(zhí)行一次,它對(duì)車速傳感器采集的信號(hào)進(jìn)行判別,如果需要告警,則將消息發(fā)送給Task2進(jìn)行處理。Task4每48ms檢測(cè)一次消息,完成對(duì)汽車控制信號(hào)的發(fā)送。Task5在小于16383個(gè)CPU機(jī)器周期內(nèi)(這里以12ms為周期),對(duì)看門狗進(jìn)行置位,保證系統(tǒng)的正常運(yùn)行。
根據(jù)合作式調(diào)度器的原理與各任務(wù)的周期,設(shè)置定時(shí)器每1ms產(chǎn)生一個(gè)周期中斷信號(hào)。因?yàn)橛卸鄠€(gè)任務(wù)的執(zhí)行時(shí)間超過1ms,Task1無法按規(guī)定的頻率執(zhí)行。因此采用直接將Task1包含進(jìn)定時(shí)器中斷服務(wù)子程序的方法,從而使所有任務(wù)的周期及執(zhí)行時(shí)間均能滿足系統(tǒng)任務(wù)可調(diào)度的要求。
在工程中采用事件觸發(fā)模式很大程度上會(huì)增加系統(tǒng)的復(fù)雜性,導(dǎo)致龐大的代碼結(jié)構(gòu)。這樣的代碼長度及復(fù)雜性不適合普通開發(fā)人員構(gòu)建,而商業(yè)實(shí)時(shí)操作系統(tǒng)往往價(jià)格昂貴,并且需要很大的操作系統(tǒng)開銷。采用基于時(shí)間觸發(fā)模式開發(fā)系統(tǒng)可以滿足實(shí)時(shí)、簡單、可預(yù)測(cè)性等工程要求。在應(yīng)用實(shí)例中也可以看到,對(duì)于任務(wù)周期與執(zhí)行時(shí)間相差懸殊的任務(wù),為滿足可調(diào)度性的要求,將需頻繁執(zhí)行的短任務(wù)加入定時(shí)器中斷服務(wù)子程序的方法延長了中斷處理的時(shí)間,同時(shí)削弱了系統(tǒng)實(shí)時(shí)響應(yīng)能力及可預(yù)測(cè)能力。此外,也可以通過將執(zhí)行時(shí)間長的任務(wù)分解成幾個(gè)執(zhí)行時(shí)間短的任務(wù)來滿足任務(wù)可調(diào)度性。相對(duì)于事件觸發(fā)模式,時(shí)間觸發(fā)模式對(duì)工程技術(shù)人員的要求更高。
4.結(jié)語
通過軟硬件的設(shè)計(jì),汽車防盜系統(tǒng)實(shí)現(xiàn)了對(duì)汽車的實(shí)時(shí)監(jiān)控和報(bào)警,并能實(shí)現(xiàn)硬件硬件防盜功能。汽車電子中嵌入式系統(tǒng)得到了大量運(yùn)用,如何整合汽車的原有資源,設(shè)計(jì)出強(qiáng)大而且實(shí)用的應(yīng)用,將是未來汽車嵌入式開發(fā)的目標(biāo)。
評(píng)論