引 言
随着单片机技术在工控领域及社会生活的各个方面得到广泛应用,对单片机开发成本及速度的要求也越来越高。按照传统的模式,在整个项目开发过程中,先根据控制系统要求设计原理图,制作硬件电路;然后进行软件编程,通过仿真器对系统硬件和软件调试;最后将调试成功的程序固化到单片机中。这一过程的主要问题是应用程序需要在硬件完成的情况下才能进行调试。虽然有的软件可以进行模拟调试,但是对于一些复杂的程序(如人机交互程序),在没有硬件时,界面没有真实感,给调试带来很大困难。在软硬件的配合中如果需要修改硬件,就必须重新制板。纵观整个过程,无论是从硬件成本上,还是从调试周期上,传统开发模式的效率都有待提高。能否只使用一种开发工具,兼顾仿真、调试、制板以及最大限度的软件模拟来作为单片机的开发平台,从而取代编程器、仿真器、成品前的硬件测试等。
英国Labcenter Electronics公司推出的Proteus 6ISIS是专用于开发单片机的集成软件,用户可以在该软件上简捷、高效地设计出各种模拟电路、数字系统、专用IC及各种芯片。在仿真过程中Proteus 6 ISIS给我们以最大程度上的视觉感受,为电子产品的开发和电子系统工程提供了一种全新的手段和便捷的途径。本文用上述软件对定位系统进行了仿真和设计。
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,但可以通过键盘
2.2 定位系统PCB
Proteus软件本身有PCB设计功能,可以生成多种格式的文件,供相应的专业PCB设计工具调用,从而很方便地进行后续PCB的设计。当仿真调试成功后,可利用Proteus 6 Professional中的ARES 6 Professional进行PCB设计与制作。ISIS和ARES高度集成,PCB封装可以直接从ARES库中提取,引脚信息可以通过虚拟封装工具直接输入。
用Proteus制作PCB通常包括以下步骤:
①加载网络表及元件封装;
②规划电路板并设置相关参数;
③元件布局及调整;
④布线并调整;
⑤输出及制作PCB。
虽然库中没有GARMINGPS25LP的引脚封装,但可以通过自建库或选择相近封装。
结 语
本文介绍了一种基于Proteus软件的单片机系统设计与仿真的实现方法。单片机定位系统的实际开发过程充分说明,采用该方法可以大大简化硬件电路测试和系统调试过程中,电路板制作、元器件安装、焊接等过程。使用该方法进行系统虚拟开发、成功之后再进行实际制作,无疑要以提高开发效率,降低开发成本,提升开发速度,对单片机系统开发具有实用意义。