ATmega16A低成本的GPS接收系统设计
引言
GPS(全球定位系统)是为海上、陆地和空中各种运输工具和移动设备的导航和定位而开发的,具有高精度、全天候、全球性和点间无需通视等优点,使测量技术发生了质的飞跃。在GPS的行业应用中,数据接收系统是较基本的设备。目前,数据接收系统具有智能化和可扩展性不断增强的发展趋势,表现为内嵌的MCU性能越来越高,外围接口越来越丰富,但软硬件成本不断上升,减缓了GPS接收系统平民化的趋势。综上所述,本文设计了一种基于单片机ATmega16A的低成本、可存储、无线传输GPS接收系统。实验证明,该系统稳定度高,可以满足各种工程测量以及勘察测量等民用要求。
1 GPS接收系统结构及工作原理
GPS接收系统实现本地GPS信号读取、系统控制、数据接收、数据存储、数据读取和无线收发等功能。其系统结构框图如图1所示。
GPS接收系统工作过程为:ATmega16A利用GPS模块获取其所在位置的经纬度等信息,并将该测试点处的数据通过USB接口传输到PC机中,通过上位机软件完成对数据的转化。此外,ATmega16A带有片上Flash,也可实现对接收数据的存储功能,以便进行离线处理。ATmega16A通过控制无线收发模块,实现了对数据发送的功能。
2 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 m。高接收灵敏度和定位精度可以有效保证该系统的适用范围。其原理图如图3所示。
2.3 GPS天线模块
GPS天线形式是多种多样的,可以是螺旋线圈天线、偶极子天线或是微带天线。通常会在天线的前端加入一个低噪声放大器,使得接收机内维持一个低的噪声系数,这时需要由接收机前端通过RF同轴电缆对放大器供电。需要注意的是,当使用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 RF模块。9XTend在5 V电压下,电流消耗只有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,它是Samsung公司生产的采用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发出1个写操作指令10H,通知其将页寄存器中的数据写入存储单元,随后就应该对状态引脚进行查询。如果该引脚为低,表明此次写操作结束。较后的步骤是数据校验,如果采用了ECC校验模式,则此步骤可以省略。
使用ATmega16A控制器完成Flash驱动函数主要包括:读ID;块擦除;写入一页数据;坏块检测;读取一页数据。
另外,注意事项有:在以K9F1208U0M为数据存储介质的系统设计中,需要注意无效块的问题。无效块即包含一个和多个无效数据位的块。由于结构方面的原因,一块(32页)中有一个无效位也会导致整个块无效。因此,系统必须在写入数据时避开无效块。出厂时,每片K9F12 08U0M的无效块信息均保存在一个无效块信息表中,可以根据该表中的原始无效块信息识别无效块的位置。在K9F1208U0M的使用过程中,应随时对无效块情况进行检查和更新,以保证无效块表内容的准确性。
3 微控器软件程序设计
该ATmega16A软件程序流程如图8所示。
4 实验结果
为检验该GPS接收系统的系统性能,选择一空旷地域组织了若干次实验,实验内容是固定地点接收卫星信号。图9是GPS接收系统实物图和Flash数据读取图。
图9中左边是GPS接收系统的实物图,右边是通过该GPS接收系统采集回来的数据,然后经过Flash读取而得到的信息。GPS卫星接收系统采集到的坐标是世界大地坐标系(WGS-84)坐标。输出的数据格式为:“时间+维度+经度+星数+高度”,接收回来的数据充分显示系统稳定度很高。
结语
本文设计了一种基于ATmega16A的GPS接收系统。该系统具有数据存储、无线传输、定位精度高等特点。实验数据显示系统稳定度很高,易于推广普及,可用于普通民用地理定位领域,具有较高的实用价值。
相关阅读:
- ...2011/12/02 16:57·ATmega16A低成本的GPS接收系统设计[图]
- ...2010/03/09 14:57·Atmel微控制器如何让设计变得更简单
- ...· Efinix® 全力驱动AI边缘计算,成功推出Trion™ T20 FPGA样品, 同时将产品扩展到二十万逻辑单元的T200 FPGA
- ...· 英飞凌亮相进博会,引领智慧新生活
- ...· 三电产品开发及测试研讨会北汽新能源专场成功举行
- ...· Manz亚智科技跨入半导体领域 为面板级扇出型封装提供化学湿制程、涂布及激光应用等生产设备解决方案
- ...· 中电瑞华BITRODE动力电池测试系统顺利交付北汽新能源
- ...· 中电瑞华FTF系列电池测试系统中标北京新能源汽车股份有限公司
- ...· 中电瑞华大功率高压能源反馈式负载系统成功交付中电熊猫
- ...· 中电瑞华国际在电动汽车及关键部件测评研讨会上演绎先进测评技术