时钟与UTCUniversal Time Coordinated 协调世界时达到精确的同步。
1.绪论1.1 设计提出的意义 面对着现代社会的快节奏生活,人们对时间的要求就会越来越高。
而且现在有很多机构对时间的同步性要求也越来也高,而原子钟的成本又太高,所以,基于单片机的 GPS 高精度授时时钟将完全能够胜任这些高要求的时间机构。
1.2 课题主要内容 本课题主要设计一个可以接收 GPS 报文,并能提取报文中的时间信息,在一定时间周期内为系统内的时钟校时,使系统始终运行在秒级精度上。
并且可以将 GPS 的有关时间的报文,通过另一个串口向 PC 端发送。
并且存储 212个城市的中英文名称和市区数据,而且可以用液晶无延迟显示这些城市的名称和当前时间,并能通过键盘实时切换的各个城市的高精度时钟。
时钟在没有接收到准确的 GPS 报文的情况下还可以通过键盘对时钟进行手动调整。
并且系统内带有一个闹钟,可以通过键盘对其进行调整以及控制其起停。
并且系统还有实时显示本地经纬度功能。
在硬件设计上,采用先进的SMT 工艺,使整个系统迷你化。
2.系统设计基础2.1 设计思想 本系统在设计之初时,首先要求要有两个串口,一个用来接收 GPS 报文,另一个用来向 PC 发送时间数据。
GPS 模块的 1PPS 引脚接到单片机的中断管脚上,以提高授时的精度。
要让单片机能够存储、检索 212 个国家的中英文名称和其时区数据。
并通过一块液晶屏幕将整合后的时间信息显示。
系统内要自带一个实时运行的时钟。
接收到的 GPS 时间信息是要为本系统校时,而不是直接为系统提供时间。
这样系统内就始终有一个时钟在运行。
系统内还要有一个键盘,可以实现系统的时间调整、闹铃调整以及其他功能。
利用系统内已有的时钟,设计一个闹铃。
2.2 方案选择 用一片 P89LPC952 作为中央处理单元,由于 P89LPC952 只有 8K 的存储空间,所以加一片 32K 铁电存储器——FM25CL256 作为数据存储器。
系统框图如图 1。
时钟芯片 LCM 发送数据 MCU GPS 键盘 图 1 系统框图 P89LPC952 有两个独立的串口,可配置各自独立的波特率。
铁电存储采用串行 SPI 总线进行高达 3Mb/s 的速率读写。
完全可以应付屏幕显示的速度。
2.3 本章小结 本章主要讨论基于单片机的 GPS 高精度授时时钟的设计思想,并详细介绍了方案选择的过程。
其中 P89LPC936 有足够的存储空间,但外部的管脚资源太少,单 GM8125 就占用了八个管脚,扩展性能太差。
P89LPC952 有足够的 44 个管脚,但存储空间只有 8K。
但 SPI 总线的高速率弥补了空间的不足。
3.系统组成原理及硬件设计3.1 系统的组成和原理 整个系统由单片机中央控制和运算模块、GPS 模块、铁电数据存储模块、机内时钟和闹铃模块以及键盘和显示模块组成。
单片机中央控制与运算模块负责接收 GPS 报文,读写 I2C 时钟,将 GPS报文中的时间信息提取出来,经过与默认城市的市区数据运算后,在 1PPS 中断到来的时刻,将时间数据写入 I2C 时钟芯片,同时将时间数据以及从存储器中读出的城市中英文名称整合后送屏幕显示。
GPS 模 块 通 过 天 线 接 收 多 颗 卫 星 传 来 的 定 位 及 时 间 数 据 , 通 过 串 口 以TTL-232 电平将数据送出,并产生 1PPS 秒脉冲。
在铁电存储模块中, 创新性地存储了全世界 212 个城市的中英文名称和时区数据,这就使整个系统不仅仅是一台高精度授时时钟,更是一台高精度的世界时钟。
可以查询这 212 个城市的实时时间。
而且只用存储其中 2bytes 的存储空间,实现了可将任意城市的时间设为在系统主界面显示的城市名称和当前时间,这就为长途旅行带来更多的方便。
机内时钟和闹铃模块自身一直在有一个时钟运行, 单片机通过 I2C 总线读取其中的时间数据,而且芯片内还有一个报警中断引脚,用来做闹铃的开关。
总的来说,就是单片机将所有接收到的时间数据于读取的城市数据运算整合,送屏幕显示,并和机内时钟的报警中断共同控制系统闹铃。
键盘则用以进入菜单,实现时钟调整等各种功能。
3.2 硬件电路的设计3.2.1 P89LPC952 单片机系统设计 P89LPC952 是飞利浦最新的一款单片机,含有多种低成本的封装形式。
它采用了高性能的处理器结构,指令执行时间只需 2 到 4 个时钟周期。
6 倍于标准 80C51 器件。
8KB 可擦除 Flash 程序存储器,单字节擦除特性使得任何字节都可用于非易失性数据存储。
两个增强型 UART,具有波特率发生器、间隔检测、帧错误检测和自动地址检测功能。
400kHz 字节宽度的 I2C 通信端口和 SPI 通信端口。
片内高精度的 RC 振荡器选项带有时钟倍频器,无需外接振荡器件。
VDD 操作电压范围为 2.4~3.6V。
I/O 口可承受 5V 电压。
端口“输入模式匹配” 当 检测。
P0 口管脚的值与一个可编程的模式匹配或者不匹配时,可产生一个中断——键盘中断。
在本系统中主要应用了单片机的内部晶振、两个增强型 UART、I2C 通信端口、P0 口键盘中断和一个外部中断。
SPI 总线采用 I/O 口软件模拟的方式。
并用 I/O 口软件模拟的方式驱动液晶显示模块。
在单片机电路设计中,按照飞利浦给出的接口定义,接出了 ICP 在电路编程接口,并预留了 JTAG10 针在线调试接口2。
ICP 在电路编程接口定义如图2。
JTAG 接口的定义图如图 3。
GND_PIN GND_PIN GN GN RST_PIN GND_PIN RST GN PDA_PIN PCL_PIN PDA PCL VCC_PIN VC 图 2 ICP 在电路编程接口定义 1 VCC_PIN 10 VDD NC JTRIG 2 9 JTRIG NC 3 GND_PIN 8 JSCLK GND JSCLK JSDAT 4 7 JSDAT NC 5 6 RST_PIN NC RST JTAG 图 3 JTAG 在线调试接口定义 ICP 是一种串行编程方式,其通过一根时钟线与一根数据线串行传输编程指令及数据。
在开发过程中,不需将芯片从系统板上取下,即可实现重新编程。
3不占用程序存储空间,不受串口的影响 。
3.2.2 电源电路的设计 由于系统中需要两种电压,例如单片机、串行电平转换芯片、时钟芯片铁电存储芯片为 3.3V 供电,而 GPS 模块、蜂鸣器和液晶屏幕则用 5V 供电。
所以系统中要设计出两种电压的输出。
由直流输入到 5V 输出使用 SPX3819,而3.3V 输出采用 LM1117-33。
SPX3819 持续输出电流可达 500mA,压降为 340mV。
由于仅提供固定输出电压,无需外部电压设定电阻,因而减少了所需的板空间。
而且 SPX3819还具有反向电池保护、反馈电流限制和负载掉电保护等功能 4 。
LM1117-33 输出电流可达 800mA,但压差偏高。
当输入输出的压差达到1.2V 时芯片才能正常工作。
在本系统中由于是将 SPX3819 输出的 5V 接入其输入管脚,所以芯片完全可以正常工作 5 。
由于电压中含有许多高频干扰源,这些高频成分很容易经过电源进入通信系统中。
另外系统自身的发送频率也会经过电源感应反馈到通信系统造成干扰。
因而可在电源电路中并入多个不同容值的电容所构成的滤波电路来抑制各种高频信号。
使系统能够得到稳定可靠且低干扰的电源,保证系统的可靠运行 6 。
电源电路如图 4 所示。
PJ1 BT16V S1 SW_POW ER PIC1 PIC2 LEDA 1 5V 11173.3V VCC 1 VIN 104 5 3 2 2 VOUT Vin Vout 2 2.2uF GND PC2 GND 104 220uF 104 4 BYP PC4 PC6 3 PC3 EN PC5 SPX3819 1 1 GND 2 PJ2 BT16V 图 4 电源电路3.2.3 GPS 模块电路设计 GPS 模块采用台湾 HOLUX 公司的 GR-85 模块。
GR-85 模块采用美国瑟孚SiRF公司所设计的第二代低耗电量卫星定位接收芯片,是一个完整的卫星定位接收器。
其耗电量低,且能同时追踪 12 颗定位卫星的讯号,每 0.1 秒接收一次,每秒更新一次定位,支持 NMEA0183 2.2 版本规格输出。
而且支持1PPS 秒脉
上一篇:
使用PDB调试PYTHON程序
下一篇:
计算机网络信息安全及防护策略研究