1 系統(tǒng)方案
GSM(Global System for Mobile Communications)為全球移動通訊系統(tǒng),是一種起源于歐洲的移動通信技術(shù)標(biāo)準(zhǔn),其開發(fā)目的是讓全球各地可以共同使用一個移動電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。GSM通信系統(tǒng)為傳輸需要的各種信令,設(shè)置了多種專門的控制信道。GSM通信收取一定費(fèi)用,但通信距離長,死角少,可以實現(xiàn)全球通信,無論兩終端相距多遠(yuǎn)都可以通過GSM進(jìn)行通信。
所以為了實現(xiàn)長距離的對物品的跟蹤,我們采用了GSM模塊進(jìn)行通信。
1.2 功能與指標(biāo)
1) 防盜功能:這是設(shè)計本系統(tǒng)的最終目的。將防盜目標(biāo)終端放到防止被盜的物品上,當(dāng)物品丟失后,按下尋找指引終端上的按鍵后,可以在LCD液晶屏上看到防盜目標(biāo)終端相對于尋找指引終端的位置和方位,從而達(dá)到防盜的目的。
2) 定位功能:這是本系統(tǒng)的最基礎(chǔ)功能,它是實現(xiàn)防盜功能的一個步驟,當(dāng)用戶按下尋找指引終端上的按鍵后可以在液晶屏上顯示自身經(jīng)緯度,從而實現(xiàn)對自身的的定位。
3) 追蹤功能 :這是本系統(tǒng)的擴(kuò)展功能。防盜目標(biāo)終端除了作為防盜器以外還可用作定位器,將防盜目標(biāo)終端放到需要追蹤的目標(biāo)上,通過尋找指引終端可以準(zhǔn)確的知道追蹤目標(biāo)的位置從而對追蹤目標(biāo)進(jìn)行實時追蹤。
指標(biāo):本系統(tǒng)所產(chǎn)生的誤差主要是由GPS信號接收器導(dǎo)致,因為系統(tǒng)所使用的GPS信號接收器屬于較低端的信號接收器,信息誤差大約在5米左右,所以本系統(tǒng)要求實現(xiàn)尋找指引終端對防盜目標(biāo)終端的定位,相對距離誤差不超過10米,尋找指引終端對自身經(jīng)緯度進(jìn)行定位誤差不超過0.0001’。
2 實現(xiàn)原理
系統(tǒng)原理
當(dāng)按下尋找指引終端上的按鍵時,尋找指引終端通過GSM模塊向防盜目標(biāo)終端發(fā)出請求信息,防盜目標(biāo)終端接收到該信息后,通過GPS信號接收器接收衛(wèi)星信號,FPGA通過DTE接口接受該信息并在GPS模塊中提取出經(jīng)緯度信息,該信息在加密模塊中進(jìn)行加密然后又通過開發(fā)板上的DCE接口傳送給GSM模塊,GSM模塊將該信息發(fā)送給尋找指引終端,尋找指引終端通過GSM模塊接收該信息,并在解密模塊中對信息進(jìn)行解密,同時用與防盜目標(biāo)終端相同方式確定自身位置,防盜目標(biāo)終端傳來的位置信息和尋找指引終端自身接受的位置信息一并傳入相對位置計算模塊。在相對位置計算中尋找指引終端計算出兩終端的相對位置以及防盜目標(biāo)終端相對于尋找指引終端的方位。系統(tǒng)原理示意圖如圖2所示。
圖2.1 系統(tǒng)原理示意圖
2.2 各模塊實現(xiàn)原理
2.2.1 UART模塊實現(xiàn)原理
本系統(tǒng)的UART模塊是在EDK 10.1環(huán)境中開發(fā)完成,利用了開發(fā)環(huán)境所提供的uartns550_v1_00_b驅(qū)動程序,該驅(qū)動提供了發(fā)送函數(shù)void XuartNs550 SendByte (Xuint32 BaseAddress, Xuint8 Data)和接收函數(shù)unsigned int XuartNs550 RecvByte(Xuint32 BaseAddress)。從而使程序可以通過Uart每次發(fā)送接收一個字節(jié)的數(shù)據(jù)。
2.2.4 經(jīng)緯度提取模塊原理
如果設(shè)備和衛(wèi)星的通訊正常,可以接收到如下格式的字符數(shù)據(jù): $GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6En。
數(shù)據(jù)說明如下:
$GPRMC 代表GPS推薦的最短數(shù)據(jù),3403.868 代表緯度值,N表示北緯,S表示南緯;11709.432代表經(jīng)度值,W表示西經(jīng),E表示東經(jīng)。
在接收進(jìn)程receive 中收到“n”之后,表示收到一條完整的信息。系統(tǒng)在void GPS_parse(GPS_INF度 *GPS) 方法中進(jìn)行數(shù)據(jù)的解析,若信號有效則提取GPS信號中的經(jīng)緯度信息。GPS信號的經(jīng)度緯度是字符串類型,需要轉(zhuǎn)化為double類型。
2.2.3 GSM模塊實現(xiàn)原理
GSM控制程序最基本的實現(xiàn)原理是通過Xuint8 XUartNs550_RecvByte(Xuint32 BaseAddress),void XuartNs550_SendByte uint32 BaseAddress,Xuint8 Data)兩個函數(shù)實現(xiàn)的。這兩個函數(shù)對數(shù)據(jù)的接受與發(fā)送都是阻塞的,該阻塞機(jī)制確保了發(fā)送與接受的數(shù)據(jù)不會丟失。綜上所述,通過使用這兩個基本的串口通信函數(shù),實現(xiàn)了FPGA對GSM模塊的控制,從而實現(xiàn)了對短信息的接收與發(fā)送。AT命令是被廣泛采用的調(diào)制解調(diào)器命令語言,它提供了計算機(jī)或終端對調(diào)制解調(diào)器的控制接口。在GSM模塊的應(yīng)用中,AT命令實現(xiàn)了對GSM大多數(shù)的操作控制,本系統(tǒng)即使用了AT指令集對GSM進(jìn)行控制。
2.2.4 加密解密模塊實現(xiàn)原理
本系統(tǒng)采用DES加密算法。DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位。首先,DES把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位,并進(jìn)行前后置換(輸入的第58位換到第一位,第50位換到第2位,依此類推,最后一位是原來的第7位),最終由L0輸出左32位,R0輸出右32位,根據(jù)這個法則經(jīng)過16次迭代運(yùn)算后,得到L16、R16,將此作為輸入,進(jìn)行與初始置換相反的逆置換,即得到密文輸出。本系統(tǒng)對加密模塊以函數(shù)調(diào)用的方式加以實現(xiàn)。
3 系統(tǒng)測試
本系統(tǒng)基于GPS和GSM技術(shù)在FPGA開發(fā)板上實現(xiàn)了追蹤和定位的功能,為了檢測系統(tǒng)的的功能并找出其中的不足,我們制定了詳細(xì)的測試方案,并對不同環(huán)境下系統(tǒng)的性能以及系統(tǒng)的容錯性進(jìn)行了測試,根據(jù)測試的數(shù)據(jù)對系統(tǒng)的性能做出了客觀的評價,突出展現(xiàn)了系統(tǒng)的優(yōu)點也找出了系統(tǒng)的不足。