基于ARM7網(wǎng)絡(luò)型汽車防盜系統(tǒng)的研制
摘要:對(duì)流行的各類常規(guī)防盜裝置的不足進(jìn)行了分析,研究并成功試制了一種新型嵌入式汽車防盜系統(tǒng)。系統(tǒng)基于ARM的S3C44B0X微處理器進(jìn)行開(kāi)發(fā),提高了系統(tǒng)的穩(wěn)定性和可擴(kuò)展性,利用GPRS的網(wǎng)絡(luò)優(yōu)勢(shì)達(dá)到遠(yuǎn)程控制的目的,且具備汽車報(bào)警系統(tǒng)現(xiàn)有的其他功能,可靠地實(shí)現(xiàn)防盜控制功能。
關(guān)鍵詞:汽車防盜;嵌入式系統(tǒng);S3C44B0X;GPRS;FLASH
引言
隨著人們生活水平的提高,汽車已逐步進(jìn)入家庭, 但日益猖獗的汽車盜竊案件也呈上升趨勢(shì),如何有效防止汽車被盜是車主們最關(guān)心的問(wèn)題。近年來(lái),科學(xué)技術(shù)飛速發(fā)展,結(jié)合各種新技術(shù)的新型汽車防盜裝備相繼出現(xiàn)。隨著通信技術(shù)的發(fā)展, 無(wú)線遠(yuǎn)程通信技術(shù)也被應(yīng)用于汽車領(lǐng)域中。基于S3C44B0X網(wǎng)絡(luò)型汽車防盜控制系統(tǒng)是采用ARM 7微處理器構(gòu)造的嵌入式系統(tǒng),結(jié)合了傳統(tǒng)防盜技術(shù)和新型的GPRS無(wú)線通信技術(shù),實(shí)現(xiàn)已有防盜器現(xiàn)有各種功能的基礎(chǔ)上,開(kāi)發(fā)了遠(yuǎn)程控制功能,提高了防盜系統(tǒng)的安全性、靈活性和可靠性。
1 系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)特點(diǎn)和功能
在對(duì)各類汽車防盜系統(tǒng)的特點(diǎn)進(jìn)行分析后,設(shè)計(jì)了基于S3C44B0X網(wǎng)絡(luò)型汽車防盜控制系統(tǒng),它充分利用基于GSM網(wǎng)絡(luò)的GPRS無(wú)線通信技術(shù)的優(yōu)勢(shì):無(wú)處不在、接入迅速、永遠(yuǎn)在線、流量計(jì)費(fèi)等特點(diǎn)。同時(shí)也利用了ARM7微處理器的優(yōu)點(diǎn):32位核、高性能、低成本、功耗低的RISC微處理器,有眾多的合作開(kāi)發(fā)伙伴。由于防盜系統(tǒng)的功能越來(lái)越復(fù)雜,為了便于系統(tǒng)程序的有效開(kāi)發(fā)和系統(tǒng)功能的擴(kuò)展,在此采用嵌入式系統(tǒng)進(jìn)行開(kāi)發(fā),提高了系統(tǒng)的靈活性、安全性和可靠性。系統(tǒng)主要實(shí)現(xiàn)的功能有如下幾個(gè)方面:
(1)基于GSM全球聯(lián)網(wǎng)功能 利用GPRS通訊網(wǎng)絡(luò)實(shí)現(xiàn)全國(guó)范圍內(nèi)防盜報(bào)警功能。
(2)智能遙控或采用手機(jī)實(shí)現(xiàn)上鎖、解鎖功能,方便、快捷的進(jìn)入防盜狀態(tài)和解除防盜狀態(tài)。
(3)一旦警情發(fā)生均可在很短時(shí)間內(nèi)發(fā)送信息到您的手機(jī),實(shí)現(xiàn)無(wú)聲自動(dòng)報(bào)警,達(dá)到“我知賊不知”的獨(dú)特效果。
(4)車輛被搶或被盜時(shí),用手機(jī)向汽車防盜器發(fā)送控制短信息,實(shí)現(xiàn)斷電或斷油,強(qiáng)制汽車停車。
(5)防盜設(shè)定后,不經(jīng)車主允許,強(qiáng)行打開(kāi)車門(mén)、后備廂、引擎蓋,或車輛被振動(dòng),均在可報(bào)警和發(fā)送短信息到車主的手機(jī)上。
(6)微電腦斷電斷油功能,進(jìn)入防盜狀態(tài),通過(guò)微電腦控制自動(dòng)斷電斷油,車輛無(wú)法啟動(dòng)。
(7)進(jìn)入防盜狀態(tài)后,即使盜賊切斷電源,可照常報(bào)警,并且每間隔1分鐘報(bào)警一次,即發(fā)送信息到手機(jī)上。
1.2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件主要由兩個(gè)部分組成:一是采用S3C44B0X微處理器構(gòu)建一個(gè)嵌入式系統(tǒng)平臺(tái),外帶GPRS模塊,用作汽車防盜的主控板;另一部分是汽車電路信號(hào)接口板,主要用于獲取汽車的狀態(tài)信號(hào)和向汽車發(fā)送控制信號(hào)。圖1是系統(tǒng)的硬件框圖。
CPU采用SAMSUNG公司的ARM7系列芯片S3C44B0X。S3C44B0X有出色的內(nèi)核性能,豐富的外部接口和低功耗。系統(tǒng)時(shí)鐘66MHz,支持LCD,具有8個(gè)內(nèi)存BANK,最大內(nèi)存能擴(kuò)展到256M,并方便連接各種類型的內(nèi)存;能運(yùn)行不帶MMU管理的操作系統(tǒng),能高效、方便的實(shí)現(xiàn)比較復(fù)雜的控制;在系統(tǒng)中我們用到2種內(nèi)存,一種SDRAM,一種FLASH;
圖1 系統(tǒng)硬件原理框圖
SDRAM動(dòng)態(tài)存儲(chǔ)器,運(yùn)行速度快,但掉電后不能保存數(shù)據(jù),在系統(tǒng)主要是用來(lái)運(yùn)行操作系統(tǒng)、應(yīng)用程序和各類數(shù)據(jù)的緩存,SDAM類型很多,有各種廠家的產(chǎn)品,性能差別不是太大,主要考慮內(nèi)存的容量,我們選用一種較通用芯片,hynix公司的HY57V641620HC,它是1Ml6bit4bank的同步DRAM。
FLASH內(nèi)存較SDRAM運(yùn)行速度慢,但掉電后能保存數(shù)據(jù)。FLASH有NAND和NOR兩種類型,NOR的特點(diǎn)是芯片內(nèi)執(zhí)行,這樣應(yīng)用程序可以直接在flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但是較慢的寫(xiě)入和擦除速度大大影響了它的性能。NAND結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫(xiě)入和擦除的速度也很快。應(yīng)用NAND的困難在于flash的管理和需要特殊的系統(tǒng)接口。在系統(tǒng)中也選用一種通用的FALSH(SST39LV160),容量為2MB, 主要用于固化啟動(dòng)代碼和控制應(yīng)用程序,并保存一些系統(tǒng)數(shù)據(jù)和車主手機(jī)號(hào)碼。
與手機(jī)的通信,使用SIMCOM 有限公司提供的SIM100 GSM/GPRS 模塊,該模塊具有標(biāo)準(zhǔn)AT 命令接口,可以提供GSM 語(yǔ)音、短信和GPRS 上網(wǎng)等業(yè)務(wù)。在系統(tǒng)中采用短信的方式實(shí)現(xiàn)遠(yuǎn)程無(wú)線防盜控制。
在系統(tǒng)中還增加了LCD和鍵盤(pán),LCD采用1602,可以顯示2行字符,每行16個(gè)字母,主要用于顯示一些提示和狀態(tài)信息,鍵盤(pán)用于設(shè)置車主手機(jī)號(hào)碼。
主控板上增加了與汽車控制檢測(cè)板的接口,通過(guò)檢測(cè)接口,主控板能獲取汽車的當(dāng)前狀態(tài),如車門(mén)的開(kāi)、關(guān)狀態(tài),腳剎和手剎狀態(tài),汽車是否啟動(dòng)等,根據(jù)這些狀態(tài),便于控制器對(duì)汽車實(shí)施相應(yīng)的控制。主控板通過(guò)控制接口對(duì)汽車實(shí)施相應(yīng)的控制,主要是汽車雙蹦燈、報(bào)警喇叭和斷火的控制。
1.3 系統(tǒng)軟件設(shè)計(jì)
汽車防盜的軟件系統(tǒng)可分為兩個(gè)部分:一部分是設(shè)防狀態(tài)的處理;另一部分是沒(méi)有設(shè)防狀態(tài)的處理。
在設(shè)防狀態(tài)下,汽車被偷或被破壞時(shí),報(bào)警器會(huì)聲光報(bào)警,并向車主手機(jī)發(fā)送報(bào)警短信,車主根據(jù)信息進(jìn)行真假判斷:若是真警,可報(bào)警,并可同時(shí)控制汽車斷火;若是假警,則可通過(guò)手機(jī)撤消報(bào)警,并使汽車再次處于防盜監(jiān)控狀態(tài)。設(shè)防狀態(tài)又分為有聲防盜和無(wú)聲防盜,在有聲防盜下,若被盜,則聲光同時(shí)報(bào)警;在無(wú)聲防盜下,若被盜,則只有燈光報(bào)警,沒(méi)有聲音報(bào)警,在兩種情況下,均會(huì)向車主手機(jī)發(fā)送被盜短信息。
在不設(shè)防狀態(tài)下,不會(huì)報(bào)警,僅僅在一些違規(guī)操作時(shí),通過(guò)聲光對(duì)車主進(jìn)行危險(xiǎn)提示,如汽車啟動(dòng)時(shí),車門(mén)沒(méi)關(guān)好等。系統(tǒng)軟件的整體流程如圖2。
圖2 系統(tǒng)軟件的整體流程
3 系統(tǒng)關(guān)鍵技術(shù)
系統(tǒng)采用的關(guān)鍵的技術(shù)主要有兩個(gè),一個(gè)是GPRS遠(yuǎn)程無(wú)線數(shù)據(jù)傳輸,另一個(gè)是FLASH存儲(chǔ)器的讀寫(xiě)。
3.1 GPRS數(shù)據(jù)傳輸流程
GPRS遠(yuǎn)程無(wú)線數(shù)據(jù)傳輸主要是通過(guò)串口完成對(duì)SIM100 GSM/GPRS進(jìn)行短信的收發(fā)操作。當(dāng)有短信到來(lái)時(shí),SIM100 GSM/GPRS將發(fā)送“+CMTI: "SM", N”給ARM的串口,其中N為短信編號(hào)。如第五條,則N為5,串口收到短信后,處理函數(shù)先根據(jù)“+CMTI: "SM", 5”的內(nèi)容解析出收到的短信的ID為5,打包成“AT+CMGR=5”的命令發(fā)給GPRS模塊,約1~2秒之后該模塊會(huì)返回一個(gè)確認(rèn)數(shù)據(jù)“AT+CMGR=5”,再過(guò)一段時(shí)間,該模塊才返回ID號(hào)為5的短信,其內(nèi)容為:“+CMGR:"RECREAD","+8613978319414","04/07/22,10:54:23+00" #13#10dX# 13#10#13#10 OK”。為了確??刂频暮戏ㄐ裕绦蛳葘?duì)發(fā)送過(guò)來(lái)的短信號(hào)碼進(jìn)行合法性檢查,只有與設(shè)定的手機(jī)號(hào)碼相符合的短信的內(nèi)容才作為控制命令處理,而對(duì)于其他的短信,都給予屏蔽掉,阻止錯(cuò)誤操作。
若通過(guò)GPRS模塊發(fā)送短信,ARM系統(tǒng)先向GPRS模塊發(fā)送控制命令“AT+CMGS=XXXX” ,GPRS模塊收到命令后返回“AT+CMGS=XXXX#13#10>”信息,等待輸入要發(fā)送的短信內(nèi)容。如若發(fā)送內(nèi)容為“Your Car Has Stolen!”,系統(tǒng)程序先將此內(nèi)容通過(guò)串口發(fā)給GPRS模塊,之后再發(fā)確認(rèn)命令“ctl+z”,表示數(shù)據(jù)發(fā)送完畢。GPRS模塊收到短信數(shù)據(jù)和確認(rèn)命令后,馬上向ARM系統(tǒng)返回“AT+CMGS=XXXX#13#10>#13#10 Your Car Has Stolen!#13#10”信息,表示系統(tǒng)發(fā)送的數(shù)據(jù)和命令已經(jīng)被GPRS模塊接收到。然后GPRS模塊將短信數(shù)據(jù)發(fā)送給車主手機(jī),大約5秒之后 GPRS模塊給系統(tǒng)返回是否發(fā)送成功的回饋信息,如果返回“#13#10+CMGS:19#13#10#13#10 OK#13#10”表示成功發(fā)送,結(jié)束。如果返回“ERROR”表示發(fā)送失敗,則在下次輪循中系統(tǒng)會(huì)繼續(xù)發(fā)送同樣內(nèi)容的短信,直到發(fā)送成功為止。
3.2 FLASH的讀寫(xiě)技術(shù)
由于不同廠商的FLASH存儲(chǔ)器在結(jié)構(gòu)和讀寫(xiě)操作是有區(qū)別的,所以FLASH存儲(chǔ)器的燒寫(xiě)、擦除程序一般不具有通用性。系統(tǒng)所用的FLASH是SST39LV160,可以對(duì)任一扇區(qū)進(jìn)行讀、寫(xiě)或擦除操作,而不影響其他部分的數(shù)據(jù)。對(duì)FLASH的編程指令只能使二進(jìn)制位由‘1’變?yōu)椤?’,而擦除命令可使‘0’變?yōu)椤?’,因此正確的操作順序必須是先擦除,后編程,否則就會(huì)導(dǎo)致FLASH存儲(chǔ)器復(fù)位,致使操作命令無(wú)法完成。當(dāng)FLASH存儲(chǔ)器被擦除后,讀出的內(nèi)容全是0XFF。
對(duì)SST39LV160進(jìn)行燒寫(xiě)操作需要遵循幾個(gè)固定的步驟。每個(gè)步驟是首先向FLASH 存儲(chǔ)器的特定寄存器寫(xiě)入地址和數(shù)據(jù)命令,然后由其內(nèi)部的編程或擦除算法自動(dòng)完成編程或擦除操作。如擦除操作,第一步程序向地址1(0X5555)寫(xiě)數(shù)據(jù)1(0XAAAA),第二步向地址2(0X2AAA)寫(xiě)數(shù)據(jù)2(0X5555),第三步再向地址1(0X5555)寫(xiě)數(shù)據(jù)3(0X8080),這樣完成了擦除扇區(qū)的第一階段,接著的第二階段與第一階段幾乎一樣,只不過(guò)最后一次是向地址0X10000寫(xiě)數(shù)據(jù)0X3030,然后程序再用一個(gè)循環(huán),來(lái)檢測(cè)該扇區(qū)的內(nèi)容是否變成了0XFF。如果該扇區(qū)的內(nèi)容變成了0XFF,那么說(shuō)明擦除扇區(qū)的操作已經(jīng)完成,可以進(jìn)行下一步的操作,寫(xiě)數(shù)據(jù)到FLASH的指定地址了。寫(xiě)操作和擦除類似,也是遵循幾個(gè)固定的步驟,其具體步驟應(yīng)參考對(duì)應(yīng)FLASH芯片的技術(shù)資料。寫(xiě)操作執(zhí)行后應(yīng)對(duì)數(shù)據(jù)進(jìn)行檢查,如果成功寫(xiě)入則進(jìn)行下一字節(jié)的寫(xiě)入,否則繼續(xù)等待,如果超時(shí),則退出。由于無(wú)論是編程或擦除都需要一定的時(shí)間,程序應(yīng)根據(jù)其內(nèi)部的操作檢測(cè)機(jī)制,判斷操作是否完成或操作是否正確,以確定是否執(zhí)行下一步操作。
在我們的系統(tǒng)中,系統(tǒng)程序利用FLASH第17號(hào)扇區(qū)來(lái)存放車主的手機(jī)號(hào)碼,從首地址開(kāi)始存放。通常對(duì)該扇區(qū)的操作程序是:先把該扇區(qū)的所有內(nèi)容讀到SDRAM中(共4K),之后將要寫(xiě)的電話號(hào)碼寫(xiě)入到17扇區(qū)的首地址后的11個(gè)單元中,因?yàn)榈?7號(hào)扇區(qū)我們并沒(méi)有全部用到,所以可以省去將4K內(nèi)容讀到SDRAM的步驟,只需要直接向17號(hào)扇區(qū)的首地址0x10000開(kāi)始,寫(xiě)入車主手機(jī)號(hào)碼就可以了。
4結(jié)論
系統(tǒng)采用嵌入式開(kāi)發(fā)技術(shù),利用S3C44B0X和GPRS通訊模塊開(kāi)發(fā)了基于手機(jī)的汽車防盜系統(tǒng),該系統(tǒng)能通過(guò)車主手機(jī)實(shí)現(xiàn)對(duì)汽車的遠(yuǎn)程無(wú)線監(jiān)控功能。它充分利用了GPRS網(wǎng)絡(luò)優(yōu)勢(shì),可全天24小時(shí)監(jiān)控,成本低,實(shí)現(xiàn)完全自我服務(wù)。不論身在何地,通過(guò)手機(jī)查詢,可具體了解車輛的具體狀況;更能對(duì)車輛進(jìn)行遠(yuǎn)程控制,從開(kāi)關(guān)門(mén)鎖、遠(yuǎn)程啟動(dòng)到命令停車。經(jīng)實(shí)驗(yàn)證明,這是一種性能穩(wěn)定, 安全性和性價(jià)比較高的產(chǎn)品。系統(tǒng)進(jìn)一步將實(shí)現(xiàn)與全球衛(wèi)星定位系統(tǒng)(GPS)和交通地理信息系統(tǒng)(GIS)相結(jié)合,實(shí)現(xiàn)一個(gè)功能更強(qiáng)的汽車防盜監(jiān)控網(wǎng)絡(luò)。
本文作者的創(chuàng)新點(diǎn):采用嵌入式開(kāi)發(fā)技術(shù),利用S3C44B0X和GPRS通訊模塊開(kāi)發(fā)了基于手機(jī)的汽車防盜系統(tǒng),該系統(tǒng)能通過(guò)車主手機(jī)實(shí)現(xiàn)對(duì)汽車的遠(yuǎn)程無(wú)線監(jiān)控。
參考文獻(xiàn)
[1] SIEMENS Mobile.MC35 AT Command Set[EB/OL].2002-07
[2] S3C44B0X RISC MICROCONTROLLER SAMSUN Corporation[EB/OL].2002
[3] 傅中君.嵌入式GPRS無(wú)線通信模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用.2004,14:162-165
[4] 閆志寬,劉勝利編著.汽車遙控防盜報(bào)警系統(tǒng)的技術(shù)特點(diǎn)檢修[M].北京:機(jī)械工業(yè)出版社,2004-03
[5] 杜春雷編著.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003
[6] 宋麗,李令奇. ETC中具有車型識(shí)別功能的車輛檢測(cè)器設(shè)計(jì)[J]. 微計(jì)算機(jī)信息. 2005,8
評(píng)論