1 定位系统原理及构成
1.1 定位系统原理
定位系统的基本原理是:每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机测量每颗卫星信号到接收机的时间延迟,根据信号传输速度就可以计算出接收机与不同卫星之间的距离。
GPS模块接收卫星的定位信号运算出自身的位置(经度、纬度、高度),时间和运动状态(速度、航向),每秒1次送给单片机并存储,以便随时提供定位信息。由单片机控制定位系统的协调工作。
1.2 定位系统硬件构成
定位系统是基于AT89C52和GARMINGPS25LP的定位测量系统。其基本功能可分为单片机对GPS器件的控制以及显示采集的信息两部分。
系统由3个功能模块构成:
①单片机系统:采用AT89C52单片机控制GPS的数据读取和数据传输过程,并将数据发送到LCD进行显示。
②外围电路:一部分是GPS和辅助电路;另一部分是LCD显示电路。
③C51程序:编写C51程序,实现单片机控制GPS器件完成方位数据的采集,并输出LCD显示。
本系统采用的GPS器件为美国GARMIN公司的GARMINGPS25LP,采用全密封方式,位置精度<15 m,速度精度<0.1 m/s,外形尺寸为46.5 mm×69.5 mm×11.4 mm。GARMINGPS25LP是同类型的GPS OEM板中最常用的一款,在飞机领域使用很多。GARM-
INGPS25LP有其独特的输出/输入语句格式。在调试GPS时,通过串口和GPS板进行数据交换,由于GPS输出的也是RS232信号,因此可以直接与计算机进行通信。通过串口通信程序进行读/写控制,对GPS进行设置和调试。
1.3定位系统程序设计
该程序主要功能有两方面:一方面是使用单片机与GPS模块进行通信,获得当前的方位数据;另一方面是单片机将所得的数据处理成数值,并发送到液晶显示模块进行显示。
此系统的函数分为4类:主程序、GPS的数据通信程 序、液晶驱动程序以及液晶显示程序。
void show(void)。
单片机对GPS模块的串行数据接收、整理,以及向RAM中写入数据的基本流程如图1所示。
2 定位系统仿真及设计
2.1 定位系统程序调试
Proteus是目前最好的模拟单片机外围器件的工具,它可以仿真51系列、AVR、PIC等常用的单片机,及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、ADPDA、部分SPI器件和I2C器件等)。其自身只带汇编器,不支持C语言,但可以将它与:Keil C51集成开发环境连接。用汇编语言和C语言编写的程序编译好之后,可以立即进行软、硬件结合的系统仿真,像使用仿真器一样来调试程序。结合Keil C51和Proteus进行单片机系统的软件设计和硬件仿真调试,既可大大缩短单片机系统的开发周期,又可降低开发调试成本。
Proteus中没有GARMINGPS25LP,但可以通过键盘模拟GARMINGPS25LP输出的数据格式向单片机发出数据。在单片机AT89C52内部通过程序截取有效信息,然后在LCD(采用HIT公司的LM041L)上循环显示虚拟终端模拟GARMINGPS25LP输出的数据,如位置(经度、纬度、高度),时间和运动状态(速度、航向等)。本系统中截取了经度(Longitude)=27.34,纬度(Lati-tude)=34.45,速度(Velocity)=120km/h, 航 向(Course)=10.24时的仿真电路原理图,如图2所示。
2.2 定位系统PCB
Proteus软件本身有PCB设计功能,可以生成多种格式的文件,供相应的专业PCB设计工具调用,从而很方便地进行后续PCB的设计。当仿真调试成功后,可利用Proteus 6 Professional中的ARES 6 Professional进行PCB设计与制作。ISIS和ARES高度集成,PCB封装可以直接从ARES库中提取,引脚信息可以通过虚拟封装工具直接输入。
用Proteus制作PCB通常包括以下步骤:
①加载网络表及元件封装;
②规划电路板并设置相关参数;
③元件布局及调整;
④布线并调整;
⑤输出及制作PCB。
虽然库中没有GARMINGPS25LP的引脚封装,但可以通过自建库或选择相近封装。
结 语
本文介绍了一种基于Proteus软件的单片机系统设计与仿真的实现方法。单片机定位系统的实际开发过程充分说明,采用该方法可以大大简化硬件电路测试和系统调试过程中,电路板制作、元器件安装、焊接等过程。使用该方法进行系统虚拟开发、成功之后再进行实际制作,无疑要以提高开发效率,降低开发成本,提升开发速度,对单片机系统开发具有实用意义。