基于FPGA的防盜定位追蹤系統(tǒng)(08-100)
2.2 各模塊實現原理
本文引用地址:http://m.ptau.cn/article/91769.htm2.2.1 UART模塊實現原理
本系統(tǒng)的UART模塊是在EDK 10.1環(huán)境中開發(fā)完成,利用了開發(fā)環(huán)境所提供的uartns550_v1_00_b驅動程序,該驅動提供了發(fā)送函數void XuartNs550 SendByte (Xuint32 BaseAddress, Xuint8 Data)和接收函數unsigned int XuartNs550 RecvByte(Xuint32 BaseAddress)。從而使程序可以通過Uart每次發(fā)送接收一個字節(jié)的數據。
2.2.4 經緯度提取模塊原理
如果設備和衛(wèi)星的通訊正常,可以接收到如下格式的字符數據: $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”之后,表示收到一條完整的信息。系統(tǒng)在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)兩個函數實現的。這兩個函數對數據的接受與發(fā)送都是阻塞的,該阻塞機制確保了發(fā)送與接受的數據不會丟失。綜上所述,通過使用這兩個基本的串口通信函數,實現了FPGA對GSM模塊的控制,從而實現了對短信息的接收與發(fā)送。AT命令是被廣泛采用的調制解調器命令語言,它提供了計算機或終端對調制解調器的控制接口。在GSM模塊的應用中,AT命令實現了對GSM大多數的操作控制,本系統(tǒng)即使用了AT指令集對GSM進行控制。
2.2.4 加密解密模塊實現原理
本系統(tǒng)采用DES加密算法。DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位。首先,DES把輸入的64位數據塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位,并進行前后置換(輸入的第58位換到第一位,第50位換到第2位,依此類推,最后一位是原來的第7位),最終由L0輸出左32位,R0輸出右32位,根據這個法則經過16次迭代運算后,得到L16、R16,將此作為輸入,進行與初始置換相反的逆置換,即得到密文輸出。本系統(tǒng)對加密模塊以函數調用的方式加以實現。
2.4 軟件流程
圖2.3 防盜目標終端軟件流程圖
圖2.4 尋找指引終端軟件流程圖
3 系統(tǒng)測試
本系統(tǒng)基于GPS和GSM技術在FPGA開發(fā)板上實現了追蹤和定位的功能,為了檢測系統(tǒng)的的功能并找出其中的不足,我們制定了詳細的測試方案,并對不同環(huán)境下系統(tǒng)的性能以及系統(tǒng)的容錯性進行了測試,根據測試的數據對系統(tǒng)的性能做出了客觀的評價,突出展現了系統(tǒng)的優(yōu)點也找出了系統(tǒng)的不足。
3.1 系統(tǒng)自測試方案(部分)
考慮到兩個終端的距離可能會影響到結果精確度(因為距離較短時,GPS發(fā)送的兩終端的經緯度相差會很小,進而會造成較大誤差),所以我們使兩終端的距離在20~7800m范圍內變化,測量不同距離下的距離誤差和方位角度誤差。另外,我們還考慮到終端所在的環(huán)境(如地理環(huán)境、天氣狀況等)可能會對GPS以及GSM的工作產生影響,所以我們也在不同的地理環(huán)境以及天氣狀況下對系統(tǒng)性能進行了測試。
3.2 系統(tǒng)測試結果(部分)
表3.1 測試數據(部分)
評論