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