1.引言
目前防盜器市場的主流產品是電子式防盜器,分為單向防盜器和雙向防盜器,這兩種防盜器都是車主通過遙控器來控制汽車,雙向防盜器可以把車輛的真實狀況反饋給車主。
GPS 汽車防盜器依托全球定位系統(tǒng),它將報警信息和報警車輛所在位置無聲地傳送到報警中心。由于車主不能直接控制車輛,價格和使用費用較高,使其推廣應用受到很大限制,目前還沒有普遍使用。GSM 汽車雙向防盜器是網絡式防盜器的后起之秀,它依托全球GSM網絡,車主可直接通過手機接受報警和控制車輛,性能價格比較好,它代表著汽車防盜器的發(fā)展趨勢,自推出以來收到客戶的青睞。
本文提出的汽車嵌入式車載防盜系統(tǒng)屬于GSM 防盜系統(tǒng),沒有采用昂貴的GPS 模塊,CPU 采用了C51 單片機,市場價格低廉,經過多年工業(yè)應用,穩(wěn)定可靠,具有很高的性價比。
2.時間觸發(fā)模式
電子控制系統(tǒng)一般都是實時系統(tǒng),常需要處理許多并發(fā)事件的輸入數據。這些事件的到來次序和幾率通常都是不可預測的,而且還要求系統(tǒng)必須在事先設定好的時限內作出響應。
對于如何控制系統(tǒng)的復雜行為,普遍采用的是事件觸發(fā)方案,即系統(tǒng)的所有行為響應外部事件而執(zhí)行。然而,中斷丟失與事件觸發(fā)系統(tǒng)的開銷是人們經常忽略的問題。為了滿足安全,低成本及程序盡可能簡單等苛刻要求,電子控制系統(tǒng)的開發(fā)最終走向事件觸發(fā)結構。事件觸發(fā)意味著所有的采樣輸入,計算輸出結果等相關的動作在預定的時間前執(zhí)行,因而能保證準確的調度時間。
時間觸發(fā)模式是一種利用MCU 的硬件定時器產生的時標信號對多任務進行調度的嵌入式軟件模式,它可以應用于8 位51 系列單片機上。時間觸發(fā)模式可以將控制精度控制在毫秒級,很適合于實時控制系統(tǒng)。在時間觸發(fā)嵌入式系統(tǒng)中,設計人員能夠通過仔細安排可控的順序,保證一次只處理一個事件。除了能夠提高可靠性之外,時間觸發(fā)模式中對于存儲器及CPU 資源的占用很少,即使在小型嵌入式系統(tǒng)中采用這種系統(tǒng)結構,也能從中獲益。
時間觸發(fā)合作式調度器通常通過一個定時器硬件定時器來實現,多有的任務都是時間觸發(fā)的,這也意味著出了定時器中斷以外,沒有其他形式的中斷。硬件定時器將被設置為產生一個周期中斷信號,這個周期中斷信號頻率可以到1KMz。
時間觸發(fā)合作調度器的主要功能就是喚醒預先確定好時間執(zhí)行的任務。在工作期間,調度器檢查靜態(tài)的任務鏈表,根據任務的周期判斷是否有任務需要執(zhí)行。如果有則立即執(zhí)行任務;任務執(zhí)行完后繼續(xù)檢查任務鏈表,重復上一個過程。完成鏈表檢查后,CPU 可以進入休眠狀態(tài),等待下一個時鐘節(jié)拍的到來。其任務調度機制如圖1 所示。由于合作式調度器能保證在同一時刻,系統(tǒng)中只有一個任務被觸發(fā),而且在任何時刻系統(tǒng)中都可以保證有任務在執(zhí)行。這樣,系統(tǒng)的使用效率得到了提高。
合作式調度器可靠且可預測的主要原因式在任何時刻只有一個任務是活動的,這個任務運行直到完成,然后把CPU 的控制權交給調度器。如果采用搶占式調度,有多個活動任務執(zhí)行“上下文切換”和“關鍵段保護”等將增加系統(tǒng)的開銷。許多研究表明,相對于搶占式調度器,合作式調度器具有很多優(yōu)點。
3.系統(tǒng)概述
3.1 系統(tǒng)功能分析和狀態(tài)轉移圖
經過需求分析,我們定義了系統(tǒng)應該實現的功能如下:
1)系統(tǒng)將監(jiān)視汽車發(fā)動機的狀態(tài);
2)系統(tǒng)可以接受手機用戶的設置,并設置手機號碼;
3)如果系統(tǒng)報警開啟,汽車啟動時,將通過無線模塊給指定的手機用戶報警;
4)系統(tǒng)接受手機用戶的控制短信,對汽車進行斷油,斷電處理;
5)系統(tǒng)接受手機用戶的查詢短信,可以報告汽車的位置,在市區(qū)可以精確到無線小區(qū);
6)系統(tǒng)將采取確定的措施以確保系統(tǒng)的穩(wěn)定性。
以上的各項目標功能同時也是衡量系統(tǒng)設計的指標。在以后面的設計中,我們將利用有限狀態(tài)機等工具將各項功能進行進一步細化,直到完成系統(tǒng)的軟硬件設計。
基于對系統(tǒng)工作流程的分析,進一步我們可以設計出系統(tǒng)的狀態(tài)轉移圖(圖2),從上面我們可以清晰的看到系統(tǒng)的工作流程。
3.2 系統(tǒng)模塊構成
嵌入式系統(tǒng)設計中常用模塊化設計方法,以降低開發(fā)難度,減少各個部分之間的耦合度,增強系統(tǒng)的穩(wěn)定性。如圖所示,整個系統(tǒng)主要由CPU,傳感器,RS232 接口以及GSM 模塊構成。其中CPU 是系統(tǒng)的核心控制部分,負責接受各模塊信號,進行處理,并控制其它模塊;傳感器探測汽車被啟動;GPRS 模塊用來收發(fā)短信,向車主手機通過RS232 接口與CPU進行通信;電子開關電路用于控制汽車電路系統(tǒng),能夠達到對汽車斷油,斷電的目的。
3.3 系統(tǒng)硬件部分
1)采用了Atmel 公司生產的AT89S52 單片機作為處理核心,該處理器有32 個I/O 口,3 個Timer,最多支持8 個中斷。因為 256B 的片上RAM 資源不夠,所以系統(tǒng)使用了擴展的64KRAM,此外AT89S52 的8K 片上flash 對于該系統(tǒng)來說已經足夠。該處理器可以支持不同的功耗模式,適用于對于成本和功耗敏感的場合。
CPU 外接型號為AT24C01 的 EEPROM 作為數據存儲器,用來存放車主電話號碼等信息。AT24C 系列串行E2PROM 具有I2C 總線接口功能,功耗小,寬電源電壓(根據不同型號2.5V~6.0V),工作電流約為3mA,靜態(tài)電流隨電源電壓不同為30μA~110μA。系統(tǒng)中使用了P2 口模擬I2C 總線與E2PROM 連接,這樣的方式相比硬件實現I2C 協(xié)議可以簡化電路,降低成本。
AT89S52 芯片中提供了內置看門狗,在一定的時間周期內,我們必須對看門狗的寄存器進行設置,如果沒能及時設置,看門狗將使系統(tǒng)復位。
2)每臺終端在使用前需要進行初始化設置。該設置是通過串口來完成的,通過復用與GPS 連接的串口來實現終端設備的初始化。需要定義好其通信協(xié)議和需要配置的具體內容。
3)該終端安裝在汽車比較隱蔽的地方,采用汽車電源供電的方式。該終端的主要功能是負責 GPS 信號的接收處理、告警數據的上報、中心控制命令的接收、處理及命令的執(zhí)行等工作。
4)GPRS 模塊采用法國 WAVECOM 公司Q2406B ,上傳速率可達 2618 kbit s/s ,下載速率可達5316 kbit s/s。GPS 模塊有以下兩種選擇:
a)直接選擇串口連接方式的 GPRS MODEM。
b)選擇內置的GPRS 模塊外加天線的設計方法。
采用第一種方法可以降低開發(fā)和維護的難度,而且安裝方便,但是成本比較高。第二種方法需要在硬件上設計相關的電路,開發(fā)難度較大,不過可以降低成本。
5)車輪速度傳感器也叫輪速傳感器或轉速傳感器,它可以測出車輪與驅動軸共同旋轉的齒圈數,然后產生與車輪轉速成正比的交流信號。車輪速度傳感器信號通過ADC 電路轉換為數字信號傳送給CPU 進行判讀。
3.4 任務的設計
通過對圖2以及系統(tǒng)功能的分析我們將系統(tǒng)軟件劃分為多個任務,任務的名稱,任務周期以及執(zhí)行時間等信息如表1所列。
在表列出的各項任務中,Task1 每1ms 對buffer 進行查詢,如果有需要收發(fā)的信息,馬上通過串口收發(fā)。串口收到的string 流存放到緩沖區(qū)中,交給Task2 進行處理。Task2 周期為1s,負責PUD 短信的編解碼,對命令的識別和控制信號的發(fā)送,它是系統(tǒng)中最耗費資源的任務。Task3 每隔10s 執(zhí)行一次,它對車速傳感器采集的信號進行判別,如果需要告警,則將消息發(fā)送給Task2 進行處理。Task4 每48ms 檢測一次消息,完成對汽車控制信號的發(fā)送。Task5 在小于16383 個CPU 機器周期內(這里以12ms 為周期),對看門狗進行置位,保證系統(tǒng)的正常運行。
根據合作式調度器的原理與各任務的周期,設置定時器每1 ms 產生一個周期中斷信號。因為有多個任務的執(zhí)行時間超過1 ms ,Task1 無法按規(guī)定的頻率執(zhí)行。因此采用直接將Task1 包含進定時器中斷服務子程序的方法,從而使所有任務的周期及執(zhí)行時間均能滿足系統(tǒng)任務可調度的要求。
在工程中采用事件觸發(fā)模式很大程度上會增加系統(tǒng)的復雜性,導致龐大的代碼結構。這樣的代碼長度及復雜性不適合普通開發(fā)人員構建,而商業(yè)實時操作系統(tǒng)往往價格昂貴,并且需要很大的操作系統(tǒng)開銷。采用基于時間觸發(fā)模式開發(fā)系統(tǒng)可以滿足實時、簡單、可預測性等工程要求。在應用實例中也可以看到,對于任務周期與執(zhí)行時間相差懸殊的任務,為滿足可調度性的要求,將需頻繁執(zhí)行的短任務加入定時器中斷服務子程序的方法延長了中斷處理的時間,同時削弱了系統(tǒng)實時響應能力及可預測能力。此外,也可以通過將執(zhí)行時間長的任務分解成幾個執(zhí)行時間短的任務來滿足任務可調度性。相對于事件觸發(fā)模式,時間觸發(fā)模式對工程技術人員的要求更高。
4.結語
通過軟硬件的設計,汽車防盜系統(tǒng)實現了對汽車的實時監(jiān)控和報警,并能實現硬件硬件防盜功能。汽車電子中嵌入式系統(tǒng)得到了大量運用,如何整合汽車的原有資源,設計出強大而且實用的應用,將是未來汽車嵌入式開發(fā)的目標。