基于FPGA的防盜定位追蹤系統
1 系統方案
本文引用地址:http://www.j9360.com/article/191834.htmGSM(Global System for Mobile Communications)為全球移動通訊系統,是一種起源于歐洲的移動通信技術標準,其開發目的是讓全球各地可以共同使用一個移動電話網絡標準,讓用戶使用一部手機就能行遍全球。GSM通信系統為傳輸需要的各種信令,設置了多種專門的控制信道。GSM通信收取一定費用,但通信距離長,死角少,可以實現全球通信,無論兩終端相距多遠都可以通過GSM進行通信。
所以為了實現長距離的對物品的跟蹤,我們采用了GSM模塊進行通信。
1.2 功能與指標
1) 防盜功能:這是設計本系統的最終目的。將防盜目標終端放到防止被盜的物品上,當物品丟失后,按下尋找指引終端上的按鍵后,可以在LCD液晶屏上看到防盜目標終端相對于尋找指引終端的位置和方位,從而達到防盜的目的。
2) 定位功能:這是本系統的最基礎功能,它是實現防盜功能的一個步驟,當用戶按下尋找指引終端上的按鍵后可以在液晶屏上顯示自身經緯度,從而實現對自身的的定位。
3) 追蹤功能 :這是本系統的擴展功能。防盜目標終端除了作為防盜器以外還可用作定位器,將防盜目標終端放到需要追蹤的目標上,通過尋找指引終端可以準確的知道追蹤目標的位置從而對追蹤目標進行實時追蹤。
指標:本系統所產生的誤差主要是由GPS信號接收器導致,因為系統所使用的GPS信號接收器屬于較低端的信號接收器,信息誤差大約在5米左右, 所以本系統要求實現尋找指引終端對防盜目標終端的定位,相對距離誤差不超過10米,尋找指引終端對自身經緯度進行定位誤差不超過0.0001’。
2 實現原理
系統原理
當按下尋找指引終端上的按鍵時,尋找指引終端通過GSM模塊向防盜目標終端發出請求信息,防盜目標終端接收到該信息后,通過GPS信號接收器接收衛星信號,FPGA通過DTE接口接受該信息并在GPS模塊中提取出經緯度信息,該信息在加密模塊中進行加密然后又通過開發板上的DCE接口傳送給GSM模塊,GSM模塊將該信息發送給尋找指引終端,尋找指引終端通過GSM模 塊接收該信息,并在解密模塊中對信息進行解密,同時用與防盜目標終端相同方式確定自身位置,防盜目標終端傳來的位置信息和尋找指引終端自身接受的位置信息 一并傳入相對位置計算模塊。在相對位置計算中尋找指引終端計算出兩終端的相對位置以及防盜目標終端相對于尋找指引終端的方位。系統原理示意圖如圖2所示。
圖2.1 系統原理示意圖
2.2 各模塊實現原理
2.2.1 UART模塊實現原理
本系統的UART模塊是在EDK 10.1環境中開發完成,利用了開發環境所提供的uartns550_v1_00_b驅動程序,該驅動提供了發送函數void XuartNs550 SendByte (Xuint32 BaseAddress, Xuint8 Data)和接收函數unsigned int XuartNs550 RecvByte(Xuint32 BaseAddress)。從而使程序可以通過Uart每次發送接收一個字節的數據。
2.2.4 經緯度提取模塊原理
如果設備和衛星的通訊正常,可以接收到如下格式的字符數據: $GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6En。
數據說明如下:
$GPRMC 代表GPS推薦的最短數據,3403.868 代表緯度值,N表示北緯,S表示南緯;11709.432代表經度值,W表示西經,E表示東經。
在接收進程receive 中收到“n”之后,表示收到一條完整的信息。系統在void GPS_parse(GPS_INF度 *GPS) 方法中進行數據的解析,若信號有效則提取GPS信號中的經緯度信息。GPS信號的經度緯度是字符串類型,需要轉化為double類型。
2.2.3 GSM模塊實現原理
GSM控 制程序最基本的實現原理是通過Xuint8 XUartNs550_RecvByte(Xuint32 BaseAddress),void XuartNs550_SendByte uint32 BaseAddress,Xuint8 Data)兩個函數實現的。這兩個函數對數據的接受與發送都是阻塞的,該阻塞機制確保了發送與接受的數據不會丟失。綜上所述,通過使用這兩個基本的串口通 信函數,實現了FPGA對GSM模塊的控制,從而實現了對短信息的接收與發送。AT命令是被廣泛采用的調制解調器命令語言,它提供了計算機或終端對調制解調器的控制接口。在GSM模塊的應用中,AT命令實現了對GSM大多數的操作控制,本系統即使用了AT指令集對GSM進行控制。
評論