基于FPGA的防盗定位追踪系统
扫描二维码
随时随地手机看文章
1 系统方案
GSM(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进行控制。
2.2.4 加密解密模块实现原理
本系统采用DES加密算法。DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。首先,DES把输入的64位数 据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,并进行前后置换(输入的第58位换到第一位,第50位换到第2位,依此类推,最后一 位是原来的第7位),最终由L0输出左32位,R0输出右32位,根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换 相反的逆置换,即得到密文输出。本系统对加密模块以函数调用的方式加以实现。
3 系统测试
本系统基于GPS和GSM技术在FPGA开发板上实现了追踪和定位的功能,为了检测系统的的功能并找出其中的不足,我们制定了详细的测试方案,并对不同环境下系统的性能以及系统的容错性进行了测试,根据测试的数据对系统的性能做出了客观的评价,突出展现了系统的优点也找出了系统的不足。
3.1 系统自测试方案(部分)
考虑到两个终端的距离可能会影响到结果精确度(因为距离较短时,GPS发送的两终端的经纬度相差会很小,进而会造成较大误差),所以我们使两终 端的距离在20~7800m范围内变化,测量不同距离下的距离误差和方位角度误差。另外,我们还考虑到终端所在的环境(如地理环境、天气状况等)可能会对 GPS以及GSM的工作产生影响,所以我们也在不同的地理环境以及天气状况下对系统性能进行了测试。
3.2 系统测试结果(部分)
表3.1 测试数据(部分)
3.3 测试数据分析
本系统采用GPS和GSM受天气等自然因素影响较小,所以无论是在晴天还是下雨天都能够实现寻找指引终端对防盗目标终端的精确定位。因使用的GPS定位系统质量较差,当两终端相距较近时相对误差过大。但此情况下已没有必要通过本系统寻找防盗目标终端,可直接通过肉眼观察找到。
4 特色
信息安全性高,这是本作品的一大特色。当前市场上的防盗定位产品,大多没有对待追踪的物品的经纬度信息进行加密,这样信息如果被第三方截获,物 品的安全很可能受到威胁。而本作品在很大程度上弥补了这一缺陷。第一,对传输的经纬度信息将其加密后传输,防止物品的位置信息被第三方截获并被恶意修改或 利用;第二,GSM通信本身就有很好的防盗能力,在对信息加密的基础上,利用GSM通信的这一特点进一步保证了信息的安全性。
受天气等外在因素的影响小。这是由GPS和GSM的特点决定的。首先GPS信号不会受到浓厚云层、大雾、下雨和下雪等不良天气的影响,GPS信号的波长足以让它穿越空气中的各种障碍物,换句话说,多数恶劣天气完全不会对GPS的正常工作产生影响;再就是GSM通信也几乎不受多数不利天气的影响。
定位追踪的有效距离较远。所谓定位追踪的有效距离,在此处可以理解为两终端均能接收到各自当前位置的有效经纬度信号并能正常地通信时,两终端的相对距离。首先GPS的有效定位范围是全球性的,在绝大多数情况下,GPS都能提供有效而准确的经纬度位置,从而保证了系统所用的位置数据的时效性,进而增大了定位追踪的有效距离。其次,GSM通信也具有全球化的应用,无论通信距离的长短,GSM都能所保证传送的信息具有良好的稳定性与正确性。
成本较低。Spartan-3E系列的器件密度范围为10万到160万系统门,其单位逻辑单元的成本是FPGA行 业中最低的。Spartan-3E器件在业界第一个突破了2美元的10万系统门售价和10美元的100多万系统门售价的极限。所以尽管本系统包含的各模块 都比较复杂,外围器件较多,但由于整个系统基于Spartan-3E且Spartan-3E提供了丰富的外围设备接口,因此系统各部分均得到了很好的实 现,充分利用了Spartan-3E开发板的高性价比特性。
本作品的可扩展性强。虽然本作品完全实现了定位追踪功 能和基本的人机交互功能。但由于开发时间有限,仍有一些功能可以进一步被扩展完善,所以本作品的性能仍具有很大的提升空间。例如在功能扩展方面,利用 Spartan-3E的强大功能,可以进行一对多通信,这样就可以实现对多个物品的同时跟踪,极大地扩展了系统的应用价值;人机交互方面,本系统利用的是 开发板提供的16×2 LCD和少数几个按键,终端与用户的交互功能有限,因此完全可改用VGA显示,键盘输入及语音对人机交互功能进行扩展,这样会极大丰富本作品的功能及应用 场合,扩大其市场前景。