本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
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开发板上实现了追踪和定位的功能,为了检测系统的的功能并找出其中的不足,我们制定了详细的测试方案,并对不同环境下系统的性能以及系统的容错性进行了测试,根据测试的数据对系统的性能做出了客观的评价,突出展现了系统的优点也找出了系统的不足。 |