1、I学士学位毕业设计(论文)基于单片机的 GPS 高精度授时时钟设计学生姓名:指导教师:所在学院:专 业:农业电气化II摘要本文设计了一种基于 P89LPC952 高速单片机的 GPS 卫星授时时钟。它由接收机、中央处理单元、LCM 显示、键盘、输出接口组成。利用接收机提供的标准时间信号,通过中央处理单元对数据的处理,从而可同步输出时间数据,保证高精度授时。这不仅解决了时间获取问题,而且能真正实现全球范围内的时间校准。更创新性地集成了全世界 212 个城市的实时时间显示。与传统方法相比,这种全新的时钟同步方法具有实现手段简单、精度高、范围大、不需通道联系、不受地理和气候条件限制等众多优点,是时钟
2、同步的理想方法。本文介绍了基于P89LPC952 的 GPS 授时时钟装置的硬件;根据装置要实现的功能,给出了主程序和中断程序的流程图和程序介绍。关键词:授时时钟 P89LPC952 GPS 中央处理单元ABSTRACTIIIABSTRACTA kind of GPS satellite timing clock based on the P89LPC952 High-speed MCU is recommended in the following thesis. It is composed of receptors、central proceeding sections, LCM, ke
3、yboard and output connectors. The central proceeding section could deal with the data to make the output time data by use of the standard time signals supplied by receptors, thus, keeping highly precision timing. By this way, not only solve the problem of the time obtained, but also the time in the
4、worldwide is really completely unified. Even more, creatively integrates 212 cities of the world wides real-time display. Compared with conventional method, this new synchronous clock plan has many advantages, such as simple, high precision, wide extension, no channels needed, no confine of geograph
5、y and weather environment and so on. It is the ideal way to synchronize the clock. In the following paper, represent the hardware of the GPS timing clock based on the P89LPC952 High-speed MCU. According to the function of the device, list the flow chart of the main program and the interrupt program
6、and the introduction of those programs.Keywords: Timing clock P89LPC952 GPS Central proceeding section目录IV目录摘要 .IABSTRACT .II前言 .IV1.绪论 .11.1 设计提出的意义.11.2 课题主要内容.12.系统设计基础 .22.1 设计思想.22.2 方案选择.22.3 本章小结.33.系统组成原理及硬件设计 .43.1 系统的组成和原理.43.2 硬件电路的设计.43.3 本章小结.104.软件设计 .114.1 软件系统结构.114.2 主要算法设计.124.3 本章
7、小结.155.PCB 设计、组装及调试 .165.1 PCB 的设计 .165.2 PCB 焊接组装 .175.3 电路的调试.175.4 本章小结.18结论 .19参考文献 .20致谢 .21附录 1 系统原理图 .22附录 2 主要源代码 .23前言IV前言20 世纪 70 年代的计算机革命产生了一群新的时间用户,他们需要精确的计算机时间。但是,众所周知,计算机时钟的守时性能并不出色。通常,简单的时钟如腕表和家里的挂钟的性能要好于计算机时钟。这种计算机时钟的性能会导致很多问题,因为有很多计算机应用需要时间精度保持在接近 1s 或更好。例如,出于安全原因,用于金融系统的计算机必须能够精确记录
8、每次转账、交易的精确时间。同样,用于电信计费的计算机,它不仅要求单机能够准确记录通信的时间,还要求另外城市的计算机能够保持时间同步, 才能保证网间结算不会出问题。用于精确物理测量获得科学数据的计算机系统需要知道测量的精确时刻,全自动化工业系统也需要计算机在正确的时刻发出控制指令。对同步通信系统,如无线电台、电视基站,需要计算机在正确的时间建立链路连接。授时系统就是使仪器或计算机与国际标准时间达到精确同步。通常,可以用原子钟来保证仪器的时间与国标时间达到精确同步,但是原子钟价格昂贵。这里介绍一种简单、相对廉价的时间同步方法。利用全球定位系统提供的时间信号和秒脉冲,通过软件可以使计算机的时钟与 U
9、TC(Universal Time Coordinated 协调世界时) 达到精确的同步。11.绪论1.1 设计提出的意义面对着现代社会的快节奏生活,人们对时间的要求就会越来越高。而且现在有很多机构对时间的同步性要求也越来也高,而原子钟的成本又太高,所以,基于单片机的 GPS 高精度授时时钟将完全能够胜任这些高要求的时间机构。1.2 课题主要内容本课题主要设计一个可以接收 GPS 报文,并能提取报文中的时间信息,在一定时间周期内为系统内的时钟校时,使系统始终运行在秒级精度上。并且可以将GPS 的有关时间的报文,通过另一个串口向 PC 端发送。并且存储 212 个城市的中英文名称和市区数据,而且
10、可以用液晶无延迟显示这些城市的名称和当前时间,并能通过键盘实时切换的各个城市的高精度时钟。时钟在没有接收到准确的 GPS 报文的情况下还可以通过键盘对时钟进行手动调整。并且系统内带有一个闹钟,可以通过键盘对其进行调整以及控制其起停。并且系统还有实时显示本地经纬度功能。在硬件设计上,采用先进的 SMT 工艺,使整个系统迷你化。22.系统设计基础2.1 设计思想本系统在设计之初时,首先要求要有两个串口,一个用来接收 GPS 报文,另一个用来向 PC 发送时间数据。 GPS 模块的 1PPS 引脚接到单片机的中断管脚上,以提高授时的精度。要让单片机能够存储、检索 212 个国家的中英文名称和其时区数
11、据。并通过一块液晶屏幕将整合后的时间信息显示。系统内要自带一个实时运行的时钟。接收到的 GPS 时间信息是要为本系统校时,而不是直接为系统提供时间。这样系统内就始终有一个时钟在运行。系统内还要有一个键盘,可以实现系统的时间调整、闹铃调整以及其他功能。利用系统内已有的时钟,设计一个闹铃。2.2 方案选择用一片 P89LPC952 作为中央处理单元,由于 P89LPC952 只有 8K 的存储空间,所以加一片 32K 铁电存储器FM25CL256 作为数据存储器。系统框图如图 1。图 1 系统框图P89LPC952 有两个独立的串口,可配置各自独立的波特率。铁电存储采用串MCU键盘LCM发送数据G
12、PS时钟芯片时钟芯片3行 SPI 总线进行高达 3Mb/s 的速率读写。完全可以应付屏幕显示的速度。2.3 本章小结本章主要讨论基于单片机的 GPS 高精度授时时钟的设计思想,并详细介绍了方案选择的过程。其中 P89LPC936 有足够的存储空间,但外部的管脚资源太少,单 GM8125 就占用了八个管脚,扩展性能太差。P89LPC952 有足够的 44 个管脚,但存储空间只有 8K。但 SPI 总线的高速率弥补了空间的不足。43.系统组成原理及硬件设计3.1 系统的组成和原理整个系统由单片机中央控制和运算模块、GPS 模块、铁电数据存储模块、机内时钟和闹铃模块以及键盘和显示模块组成。单片机中央
13、控制与运算模块负责接收 GPS 报文,读写 I2C 时钟,将 GPS 报文中的时间信息提取出来,经过与默认城市的市区数据运算后,在 1PPS 中断到来的时刻,将时间数据写入 I2C 时钟芯片,同时将时间数据以及从存储器中读出的城市中英文名称整合后送屏幕显示。GPS 模块通过天线接收多颗卫星传来的定位及时间数据,通过串口以 TTL-232 电平将数据送出,并产生 1PPS 秒脉冲。在铁电存储模块中,创新性地存储了全世界 212 个城市的中英文名称和时区数据,这就使整个系统不仅仅是一台高精度授时时钟,更是一台高精度的世界时钟。可以查询这 212 个城市的实时时间。而且只用存储其中 2bytes 的
14、存储空间,实现了可将任意城市的时间设为在系统主界面显示的城市名称和当前时间,这就为长途旅行带来更多的方便。机内时钟和闹铃模块自身一直在有一个时钟运行,单片机通过 I2C 总线读取其中的时间数据,而且芯片内还有一个报警中断引脚,用来做闹铃的开关。总的来说,就是单片机将所有接收到的时间数据于读取的城市数据运算整合,送屏幕显示,并和机内时钟的报警中断共同控制系统闹铃。键盘则用以进入菜单,实现时钟调整等各种功能。3.2 硬件电路的设计3.2.1 P89LPC952 单片机系统设计P89LPC952 是飞利浦最新的一款单片机,含有多种低成本的封装形式。它采用了高性能的处理器结构,指令执行时间只需 2 到
15、 4 个时钟周期。6 倍于标准80C51 器件。 8KB 可擦除 Flash 程序存储器,单字节擦除特性使得任何字节都可用于非易失性数据存储。两个增强型 UART,具有波特率发生器、间隔检测、帧错误检测和自动地址检测功能。400kHz 字节宽度的 I2C 通信端口和 SPI 通信端口。片内高精度的 RC 振荡器选项带有时钟倍频器,无需外接振荡器件。VDD 操作电压范围为 2.43.6V。I/O 口可承受 5V 电压。端口“输入模式匹配”检测。当 P0口管脚的值与一个可编程的模式匹配或者不匹配时,可产生一个中断键盘中断。5在本系统中主要应用了单片机的内部晶振、两个增强型 UART、I2C 通信端
16、口、P0 口键盘中断和一个外部中断。SPI 总线采用 I/O 口软件模拟的方式。并用I/O 口软件模拟的方式驱动液晶显示模块。在单片机电路设计中,按照飞利浦给出的接口定义,接出了 ICP 在电路编程接口,并预留了 JTAG10 针在线调试接口2。ICP 在电路编程接口定义如图2。JTAG 接口的定义图如图 3。图 2 ICP 在电路编程接口定义图 3 JTAG 在线调试接口定义 ICP 是一种串行编程方式,其通过一根时钟线与一根数据线串行传输编程指令及数据。在开发过程中,不需将芯片从系统板上取下,即可实现重新编程。不占用程序存储空间,不受串口的影响 3。3.2.2 电源电路的设计由于系统中需要
17、两种电压,例如单片机、串行电平转换芯片、时钟芯片铁电存储芯片为 3.3V 供电,而 GPS 模块、蜂鸣器和液晶屏幕则用 5V 供电。所以系统中要设计出两种电压的输出。由直流输入到 5V 输出使用 SPX3819,而 3.3V 输出采用 LM1117-33。SPX3819 持续输出电流可达 500mA,压降为 340mV。由于仅提供固定输出电压,无需外部电压设定电阻,因而减少了所需的板空间。而且 SPX3819 还具有反向电池保护、反馈电流限制和负载掉电保护等功能 4。LM1117-33 输出电流可达 800mA,但压差偏高。当输入输出的压差达到 1.2V时芯片才能正常工作。在本系统中由于是将
18、SPX3819 输出的 5V 接入其输入管脚,所以芯片完全可以正常工作 5。由于电压中含有许多高频干扰源,这些高频成分很容易经过电源进入通信系统中。另外系统自身的发送频率也会经过电源感应反馈到通信系统造成干扰。因而可在电源电路中并入多个不同容值的电容所构成的滤波电路来抑制各种高频信VDD1JTRIG2GND3JSDAT4NC5 RST 6NC 7JSCLK 8NC 9NC 10JTAGMJ11JTAGVCC_PINJTRIGGND_PINJSDATRST_PINJSCLKGN GNRST GNPDA PCLVCMJ10 ICP_PORTVCC_PINPDA_PINGND_PINGND_PIN GND_PINRST_PINPCL_PIN