在GPS的工业应用中,数据接收系统是最基本的设备。目前,数据接收系统具有日益智能化和可扩展性的发展趋势,表现为嵌入式MCU的性能越来越高,外围接口越来越丰富,但软硬件成本不断上升,减缓了GPS接收系统普及的趋势。综上所述,本文设计了一种基于单片机ATmega16A的低成本、可存储的无线GPS接收系统。实验表明,该系统具有较高的稳定性,能够满足工程测量、勘测等各种民用需求。

1 GPS接收系统结构和工作原理

GPS接收系统实现本地GPS信号读取、系统控制、数据接收、数据存储、数据读取和无线收发功能。系统结构框图如图1所示。

GPS接收系统的工作过程如下:ATmega16A利用GPS模块获取其所在位置的经纬度信息,通过USB接口将测试点的数据传输到PC,通过PC软件完成数据转换。另外,ATmega16A有片上Flash,也可以实现接收数据的存储功能,用于离线处理。ATmega16A通过控制无线收发模块实现数据传输的功能。

GPS接收系统的硬件设计

GPS接收系统主要由电源模块、GPS模块、GPS天线模块、控制模块、无线收发模块和数据存储模块组成。

2.1电源模块

电源模块是GPS接收系统的重要组成部分,实现了系统的供电功能。在GPS接收系统中,主要功耗部分是无线收发模块,该模块工作在1 W接收功率时工作电流可达700 mA,因此需要使用大电流的功率芯片来保证系统的供电需求。LM2576最大供电电流可达3 A,完全满足系统接收大功率时的电流要求。此外,系统中其他模块的工作电压为3.3 V,REG1117(3.3 V)芯片用于为系统提供所需的电压。电源模块设计的原理图如图2所示。

2.2 GPS模块

GPS模块是影响系统测量精度的关键,本系统中的GPS采用SDT11E模块设计。该模块的接收灵敏度为-158dBm,定位精度为2.5米.高接收灵敏度和定位精度能有效保证系统的应用范围。其原理图如图3所示。

2.3全球定位系统天线模块

GPS天线有多种形式,可以是螺旋线圈天线、偶极天线或微带天线。通常,在天线前端添加一个低噪声放大器,以保持接收机的低噪声系数。此时,放大器需要由接收机前端通过射频同轴电缆供电。需要注意的是,使用GPS接收机计算位置时,天线的电子相位中心的位置实际上是估计出来的,电子相位中心和物理相位中心往往是不一样的。对于测量GPS接收机的天线,电子相位中心和物理相位中心会有厘米级的差异。

系统采用SDT11E GPS接收机,其天线单元如图4所示。它有接收卫星发射信号的功能。

2.4控制模块

在这个GPS接收系统中,主要采用Atmel公司的AVR芯片ATmega16A作为系统的控制器。控制器主要实现控制GPS模块、控制无线收发模块、控制USB传输模块、处理接收到的GPS信号、从Flash芯片中读取数据等功能。

由于GPS模块、无线收发模块和USB模块都使用串行接口,而控制器只有一个串口功能,所以使用通用I/O口模拟串行通信来完成对GPS和收发模块的控制。同时设计了具有接收中断功能的串行模块,实现系统控制功能。在该收发模块中,对接收到的GPS信号进行了简化,提取了经纬度、高度、时间等信息,增加了数据存储的有效信息。I/O口模拟串行通信模块的工作流程如图5所示。

2.5无线收发器模块

为了提高系统的定位精度,有效降低系统功耗,系统采用无线收发器实现数据传输,无线收发器模块的设计原理图如图6所示。

无线收发模块主要采用MaxStream公司的9XTend模块,其主要特点是与传统的无线调制方式相比,在相同的发射功率下,可以传输更远的距离。是MaxStream公司目前传输距离最长(视距传输距离40 km)的低功耗OEM射频模块。5 V时,9XTend的电流消耗仅为780 mA,输出功率可达1 W(30 dBm)。收发信机的接收灵敏度达到-110 dBm,可使用户在1.5英里、15英里视距和40英里(通过高增益天线)接收900 MHz信号,数据吞吐量为230 kbps,数据速率为115.2 kbps。通过该模块的使用,有效地实现了GPS信号的接收。

2.6数据存储模块

数据存储模块使用Flash芯片存储系统采集的GPS位置信息,便于后期数据处理。GPS接收系统使用的Flash芯片为K9F1208U0M,是三星公司采用NAND技术生产的大容量、高可靠性的Flash存储器。图7是K9F1208U0M芯片与ATmega16A的外围连接电路。

K9F1208U0M的接口控制方法:应用K9F1208U0M时,必须通过外部ATmega16A控制其内容的读写。K9F1208U0M的数据总线接ATmega16A的数据口PA,ATmega16A的地址高脚PB6作为K9F1208U0M的片选信号(CS);PB5连接到K9F1208U0M的命令数据选择端子(CME)/DATA,而PB4连接到K9F1208U0M的数据锁存允许端子(ALE)。

读写操作流程:写的时候先写命令字80H,通知K9F1208U0M写,然后依次写目的地址和要写的数据。需要注意的是,地址只需要写一次,可以连续写多个字节的数据。地址指针的调整由K9F1208U0M的内部逻辑控制,无需外部干预。写操作以页(1 ~ 528字节)为单位进行,即每次连续写可以超过528字节。这是由K9F1208U0M的工作模式决定的:写入的数据先保存在Flash内部的页寄存器(528字节),然后再写入存储单元。数据写入后,将向K9F1208U0M发送一条写指令10H,通知其将页寄存器中的数据写入存储单元,然后应查询status引脚。如果此引脚为低电平,则写操作结束。最后一步是数据验证,如果采用ECC验证方式可以省略。

利用ATmega16A控制器完成闪存盘功能主要包括:读取ID;块擦除;写一页数据;坏块检测;读取一页数据。

另外注意事项如下:在以K9F1208U0M为数据存储介质的系统设计中,需要注意无效块的问题。无效块是包含一个或多个无效数据位的块。由于结构原因,块(32页)中的一个无效位也会使整个块无效。因此,系统在写入数据时必须避免无效块。出厂时,每片K9F12 08U0M的无效块信息都存储在一个无效块信息表中,根据表中原来的无效块信息可以识别出无效块的位置。K9F1208U0M在使用过程中,要随时检查和更新无效块,保证无效块表的准确性。

3单片机软件程序设计

ATmega16A软件程序流程如图8所示。

4实验结果

为了测试GPS接收系统的系统性能,在一个开放区域组织了几次实验,实验内容是在固定位置接收卫星信号。图9是GPS接收系统的物理图和闪存数据读取图。

在图9中,左边是GPS接收系统的物理图,右边是GPS接收系统采集的数据,然后用Flash读取。GPS卫星接收系统收集的坐标是世界大地坐标系(WGS-84)坐标。输出数据格式为“时间维度经度和星数高度”,接收到的数据充分说明系统高度稳定。

标签

设计了一种基于ATmega16A的GPS接收系统。该系统具有数据存储、无线传输和定位精度高等特点。实验数据表明,该系统稳定性高,易于推广。可用于一般民用地理定位领域,具有较高的实用价值。