《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于時(shí)間觸發(fā)模式的汽車(chē)防盜系統(tǒng)的設(shè)計(jì)
基于時(shí)間觸發(fā)模式的汽車(chē)防盜系統(tǒng)的設(shè)計(jì)
摘要: 本文提出的汽車(chē)嵌入式車(chē)載防盜系統(tǒng)屬于GSM防盜系統(tǒng),沒(méi)有采用昂貴的GPS模塊,CPU采用了C51單片機(jī),市場(chǎng)價(jià)格低廉,經(jīng)過(guò)多年工業(yè)應(yīng)用,穩(wěn)定可靠,具有很高的性?xún)r(jià)比。
Abstract:
Key words :

  1.引言

  目前防盜器市場(chǎng)的主流產(chǎn)品是電子式防盜器,分為單向防盜器和雙向防盜器,這兩種防盜器都是車(chē)主通過(guò)遙控器來(lái)控制汽車(chē),雙向防盜器可以把車(chē)輛的真實(shí)狀況反饋給車(chē)主。

  GPS汽車(chē)防盜器依托全球定位系統(tǒng),它將報(bào)警信息和報(bào)警車(chē)輛所在位置無(wú)聲地傳送到報(bào)警中心。由于車(chē)主不能直接控制車(chē)輛,價(jià)格和使用費(fèi)用較高,使其推廣應(yīng)用受到很大限制,目前還沒(méi)有普遍使用。GSM汽車(chē)雙向防盜器是網(wǎng)絡(luò)式防盜器的后起之秀,它依托全球GSM網(wǎng)絡(luò),車(chē)主可直接通過(guò)手機(jī)接受報(bào)警和控制車(chē)輛,性能價(jià)格比較好,它代表著汽車(chē)防盜器的發(fā)展趨勢(shì),自推出以來(lái)收到客戶(hù)的青睞。

  本文提出的汽車(chē)嵌入式車(chē)載防盜系統(tǒng)屬于GSM防盜系統(tǒng),沒(méi)有采用昂貴的GPS模塊,CPU采用了C51單片機(jī),市場(chǎng)價(jià)格低廉,經(jīng)過(guò)多年工業(yè)應(yīng)用,穩(wěn)定可靠,具有很高的性?xún)r(jià)比。

 

  2.時(shí)間觸發(fā)模式

 

  電子控制系統(tǒng)一般都是實(shí)時(shí)系統(tǒng),常需要處理許多并發(fā)事件的輸入數(shù)據(jù)。這些事件的到來(lái)次序和幾率通常都是不可預(yù)測(cè)的,而且還要求系統(tǒng)必須在事先設(shè)定好的時(shí)限內(nèi)作出響應(yīng)。

  對(duì)于如何控制系統(tǒng)的復(fù)雜行為,普遍采用的是事件觸發(fā)方案,即系統(tǒng)的所有行為響應(yīng)外部事件而執(zhí)行。然而,中斷丟失與事件觸發(fā)系統(tǒng)的開(kāi)銷(xiāo)是人們經(jīng)常忽略的問(wèn)題。為了滿(mǎn)足安全,低成本及程序盡可能簡(jiǎn)單等苛刻要求,電子控制系統(tǒng)的開(kāi)發(fā)最終走向事件觸發(fā)結(jié)構(gòu)。事件觸發(fā)意味著所有的采樣輸入,計(jì)算輸出結(jié)果等相關(guān)的動(dòng)作在預(yù)定的時(shí)間前執(zhí)行,因而能保證準(zhǔn)確的調(diào)度時(shí)間。

  時(shí)間觸發(fā)模式是一種利用MCU的硬件定時(shí)器產(chǎn)生的時(shí)標(biāo)信號(hào)對(duì)多任務(wù)進(jìn)行調(diào)度的嵌入式軟件模式,它可以應(yīng)用于8位51系列單片機(jī)上。時(shí)間觸發(fā)模式可以將控制精度控制在毫秒級(jí),很適合于實(shí)時(shí)控制系統(tǒng)。在時(shí)間觸發(fā)嵌入式系統(tǒng)中,設(shè)計(jì)人員能夠通過(guò)仔細(xì)安排可控的順序,保證一次只處理一個(gè)事件。除了能夠提高可靠性之外,時(shí)間觸發(fā)模式中對(duì)于存儲(chǔ)器及CPU資源的占用很少,即使在小型嵌入式系統(tǒng)中采用這種系統(tǒng)結(jié)構(gòu),也能從中獲益。

  時(shí)間觸發(fā)合作式調(diào)度器通常通過(guò)一個(gè)定時(shí)器硬件定時(shí)器來(lái)實(shí)現(xiàn),多有的任務(wù)都是時(shí)間觸發(fā)的,這也意味著出了定時(shí)器中斷以外,沒(méi)有其他形式的中斷。硬件定時(shí)器將被設(shè)置為產(chǎn)生一個(gè)周期中斷信號(hào),這個(gè)周期中斷信號(hào)頻率可以到1KMz。

  時(shí)間觸發(fā)合作調(diào)度器的主要功能就是喚醒預(yù)先確定好時(shí)間執(zhí)行的任務(wù)。在工作期間,調(diào)度器檢查靜態(tài)的任務(wù)鏈表,根據(jù)任務(wù)的周期判斷是否有任務(wù)需要執(zhí)行。如果有則立即執(zhí)行任務(wù);任務(wù)執(zhí)行完后繼續(xù)檢查任務(wù)鏈表,重復(fù)上一個(gè)過(guò)程。完成鏈表檢查后,CPU可以進(jìn)入休眠狀態(tài),等待下一個(gè)時(shí)鐘節(jié)拍的到來(lái)。其任務(wù)調(diào)度機(jī)制如圖1所示。由于合作式調(diào)度器能保證在同一時(shí)刻,系統(tǒng)中只有一個(gè)任務(wù)被觸發(fā),而且在任何時(shí)刻系統(tǒng)中都可以保證有任務(wù)在執(zhí)行。這樣,系統(tǒng)的使用效率得到了提高。

 

  時(shí)間觸發(fā)合作調(diào)度器任務(wù)調(diào)度圖

 

  合作式調(diào)度器可靠且可預(yù)測(cè)的主要原因式在任何時(shí)刻只有一個(gè)任務(wù)是活動(dòng)的,這個(gè)任務(wù)運(yùn)行直到完成,然后把CPU的控制權(quán)交給調(diào)度器。如果采用搶占式調(diào)度,有多個(gè)活動(dòng)任務(wù)執(zhí)行“上下文切換”和“關(guān)鍵段保護(hù)”等將增加系統(tǒng)的開(kāi)銷(xiāo)。許多研究表明,相對(duì)于搶占式調(diào)度器,合作式調(diào)度器具有很多優(yōu)點(diǎn)。

 

  3.系統(tǒng)概述

 

  3.1系統(tǒng)功能分析和狀態(tài)轉(zhuǎn)移圖

  經(jīng)過(guò)需求分析,我們定義了系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能如下:

  1)系統(tǒng)將監(jiān)視汽車(chē)發(fā)動(dòng)機(jī)的狀態(tài);

  2)系統(tǒng)可以接受手機(jī)用戶(hù)的設(shè)置,并設(shè)置手機(jī)號(hào)碼;

  3)如果系統(tǒng)報(bào)警開(kāi)啟,汽車(chē)啟動(dòng)時(shí),將通過(guò)無(wú)線(xiàn)模塊給指定的手機(jī)用戶(hù)報(bào)警;

  4)系統(tǒng)接受手機(jī)用戶(hù)的控制短信,對(duì)汽車(chē)進(jìn)行斷油,斷電處理;

  5)系統(tǒng)接受手機(jī)用戶(hù)的查詢(xún)短信,可以報(bào)告汽車(chē)的位置,在市區(qū)可以精確到無(wú)線(xiàn)小區(qū);

  6)系統(tǒng)將采取確定的措施以確保系統(tǒng)的穩(wěn)定性。

  以上的各項(xiàng)目標(biāo)功能同時(shí)也是衡量系統(tǒng)設(shè)計(jì)的指標(biāo)。在以后面的設(shè)計(jì)中,我們將利用有限狀態(tài)機(jī)等工具將各項(xiàng)功能進(jìn)行進(jìn)一步細(xì)化,直到完成系統(tǒng)的軟硬件設(shè)計(jì)。

  基于對(duì)系統(tǒng)工作流程的分析,進(jìn)一步我們可以設(shè)計(jì)出系統(tǒng)的狀態(tài)轉(zhuǎn)移圖(圖2),從上面我們可以清晰的看到系統(tǒng)的工作流程。

 

  系統(tǒng)的狀態(tài)轉(zhuǎn)移圖

 

  3.2系統(tǒng)模塊構(gòu)成

  嵌入式系統(tǒng)設(shè)計(jì)中常用模塊化設(shè)計(jì)方法,以降低開(kāi)發(fā)難度,減少各個(gè)部分之間的耦合度,增強(qiáng)系統(tǒng)的穩(wěn)定性。如圖所示,整個(gè)系統(tǒng)主要由CPU,傳感器,RS232接口以及GSM模塊構(gòu)成。其中CPU是系統(tǒng)的核心控制部分,負(fù)責(zé)接受各模塊信號(hào),進(jìn)行處理,并控制其它模塊;傳感器探測(cè)汽車(chē)被啟動(dòng);GPRS模塊用來(lái)收發(fā)短信,向車(chē)主手機(jī)通過(guò)RS232接口與CPU進(jìn)行通信;電子開(kāi)關(guān)電路用于控制汽車(chē)電路系統(tǒng),能夠達(dá)到對(duì)汽車(chē)斷油,斷電的目的。

  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)來(lái)說(shuō)已經(jīng)足夠。該處理器可以支持不同的功耗模式,適用于對(duì)于成本和功耗敏感的場(chǎng)合。

 

  系統(tǒng)模塊構(gòu)成

 

  CPU外接型號(hào)為AT24C01的EEPROM作為數(shù)據(jù)存儲(chǔ)器,用來(lái)存放車(chē)主電話(huà)號(hào)碼等信息。AT24C系列串行E2PROM具有I2C總線(xiàn)接口功能,功耗小,寬電源電壓(根據(jù)不同型號(hào)2.5V~6.0V),工作電流約為3mA,靜態(tài)電流隨電源電壓不同為30μA~110μA。系統(tǒng)中使用了P2口模擬I2C總線(xiàn)與E2PROM連接,這樣的方式相比硬件實(shí)現(xiàn)I2C協(xié)議可以簡(jiǎn)化電路,降低成本。

  AT89S52芯片中提供了內(nèi)置看門(mén)狗,在一定的時(shí)間周期內(nèi),我們必須對(duì)看門(mén)狗的寄存器進(jìn)行設(shè)置,如果沒(méi)能及時(shí)設(shè)置,看門(mén)狗將使系統(tǒng)復(fù)位。

  2)每臺(tái)終端在使用前需要進(jìn)行初始化設(shè)置。該設(shè)置是通過(guò)串口來(lái)完成的,通過(guò)復(fù)用與GPS連接的串口來(lái)實(shí)現(xiàn)終端設(shè)備的初始化。需要定義好其通信協(xié)議和需要配置的具體內(nèi)容。

  3)該終端安裝在汽車(chē)比較隱蔽的地方,采用汽車(chē)電源供電的方式。該終端的主要功能是負(fù)責(zé)GPS信號(hào)的接收處理、告警數(shù)據(jù)的上報(bào)、中心控制命令的接收、處理及命令的執(zhí)行等工作。

  4)GPRS模塊采用法國(guó)WAVECOM公司Q2406B,上傳速率可達(dá)2618kbits/s,下載速率可達(dá)5316kbits/s。GPS模塊有以下兩種選擇:

  a)直接選擇串口連接方式的GPRSMODEM。

  b)選擇內(nèi)置的GPRS模塊外加天線(xiàn)的設(shè)計(jì)方法。

  采用第一種方法可以降低開(kāi)發(fā)和維護(hù)的難度,而且安裝方便,但是成本比較高。第二種方法需要在硬件上設(shè)計(jì)相關(guān)的電路,開(kāi)發(fā)難度較大,不過(guò)可以降低成本。

  5)車(chē)輪速度傳感器也叫輪速傳感器或轉(zhuǎn)速傳感器,它可以測(cè)出車(chē)輪與驅(qū)動(dòng)軸共同旋轉(zhuǎn)的齒圈數(shù),然后產(chǎn)生與車(chē)輪轉(zhuǎn)速成正比的交流信號(hào)。車(chē)輪速度傳感器信號(hào)通過(guò)ADC電路轉(zhuǎn)換為數(shù)字信號(hào)傳送給CPU進(jìn)行判讀。

  3.4任務(wù)的設(shè)計(jì)

  通過(guò)對(duì)圖2以及系統(tǒng)功能的分析我們將系統(tǒng)軟件劃分為多個(gè)任務(wù),任務(wù)的名稱(chēng),任務(wù)周期以及執(zhí)行時(shí)間等信息如表1所列。

 

  多個(gè)任務(wù)

 

  在表列出的各項(xiàng)任務(wù)中,Task1每1ms對(duì)buffer進(jìn)行查詢(xún),如果有需要收發(fā)的信息,馬上通過(guò)串口收發(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ì)車(chē)速傳感器采集的信號(hào)進(jìn)行判別,如果需要告警,則將消息發(fā)送給Task2進(jìn)行處理。Task4每48ms檢測(cè)一次消息,完成對(duì)汽車(chē)控制信號(hào)的發(fā)送。Task5在小于16383個(gè)CPU機(jī)器周期內(nèi)(這里以12ms為周期),對(duì)看門(mén)狗進(jìn)行置位,保證系統(tǒng)的正常運(yùn)行。

  根據(jù)合作式調(diào)度器的原理與各任務(wù)的周期,設(shè)置定時(shí)器每1ms產(chǎn)生一個(gè)周期中斷信號(hào)。因?yàn)橛卸鄠€(gè)任務(wù)的執(zhí)行時(shí)間超過(guò)1ms,Task1無(wú)法按規(guī)定的頻率執(zhí)行。因此采用直接將Task1包含進(jìn)定時(shí)器中斷服務(wù)子程序的方法,從而使所有任務(wù)的周期及執(zhí)行時(shí)間均能滿(mǎn)足系統(tǒng)任務(wù)可調(diào)度的要求。

  在工程中采用事件觸發(fā)模式很大程度上會(huì)增加系統(tǒng)的復(fù)雜性,導(dǎo)致龐大的代碼結(jié)構(gòu)。這樣的代碼長(zhǎng)度及復(fù)雜性不適合普通開(kāi)發(fā)人員構(gòu)建,而商業(yè)實(shí)時(shí)操作系統(tǒng)往往價(jià)格昂貴,并且需要很大的操作系統(tǒng)開(kāi)銷(xiāo)。采用基于時(shí)間觸發(fā)模式開(kāi)發(fā)系統(tǒng)可以滿(mǎn)足實(shí)時(shí)、簡(jiǎn)單、可預(yù)測(cè)性等工程要求。在應(yīng)用實(shí)例中也可以看到,對(duì)于任務(wù)周期與執(zhí)行時(shí)間相差懸殊的任務(wù),為滿(mǎn)足可調(diào)度性的要求,將需頻繁執(zhí)行的短任務(wù)加入定時(shí)器中斷服務(wù)子程序的方法延長(zhǎng)了中斷處理的時(shí)間,同時(shí)削弱了系統(tǒng)實(shí)時(shí)響應(yīng)能力及可預(yù)測(cè)能力。此外,也可以通過(guò)將執(zhí)行時(shí)間長(zhǎng)的任務(wù)分解成幾個(gè)執(zhí)行時(shí)間短的任務(wù)來(lái)滿(mǎn)足任務(wù)可調(diào)度性。相對(duì)于事件觸發(fā)模式,時(shí)間觸發(fā)模式對(duì)工程技術(shù)人員的要求更高。

 

  4.結(jié)語(yǔ)

 

  通過(guò)軟硬件的設(shè)計(jì),汽車(chē)防盜系統(tǒng)實(shí)現(xiàn)了對(duì)汽車(chē)的實(shí)時(shí)監(jiān)控和報(bào)警,并能實(shí)現(xiàn)硬件硬件防盜功能。汽車(chē)電子中嵌入式系統(tǒng)得到了大量運(yùn)用,如何整合汽車(chē)的原有資源,設(shè)計(jì)出強(qiáng)大而且實(shí)用的應(yīng)用,將是未來(lái)汽車(chē)嵌入式開(kāi)發(fā)的目標(biāo)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。