基于gps的精确电子日历设计(编辑修改稿)内容摘要:
他对应接上电源和地。 在键盘模块中添加上拉电阻,上拉电阻可以保证在没有按键输入时,进入单片机四个 I/O 口的按键状态均为高电平,防止干扰产生;当有按键按下时,相应的端口线状态转为低电平,总体框架如下图 所示。 图 高精度 GPS 时钟系统的框架简图 基于 GPS 的高精度时钟设计 8 硬件电路设计 系统的整体硬件电路图如下图 所示: 图 系统的整体硬件电路图 GPS 接受模块和单片机的连接 单片机上的 和 IO口外,还有另外的用途。 (RXD)、(TXD)是 Receive Data , Transmit Data 的意思 ,即 RXD 为接收数据的引脚, TXD 为发送数据的引脚。 将 GPS 接收模块的 2条信号线分别对应接上 RXD、 TXD 端口进行数据的通讯,用来接收时间信号并对时间信号进行截取输出,如下图 所示连接。 图 GPS接收端和 AT89C52的连接 AT89C52 GPS 接收模块 VCC GROUND 浙江理工大学本科毕业设计(论文) 9 LCD1602 和单片机的连接 1602 中数据总线 DB07 对应单片机中的 P1 口, 3 条控制线分别接另外 3个单片机端口,其他对应接上电源和地 (下图 )。 图 LCD1602和单片机 AT89C52的连接 LCD1602 中 VDD 为电源正极, VSS 为电源接地端, VEE 为 液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高。 LCD1602 有四种基本的操作时序:读状态、写指令、读数据和写数 据。 读状态:输入: RS=L, RW=H, E=H 输出: D0D7 = 状态字 写指令:输入: RS=L, RW=L, D0D7 = 指令码, E=高脉冲 输出:无 读数据:输入: RS=H, RW=H, E=H 输出: D0D7 = 数据 写数据:输入: RS =H, RW=L, D0D7 = 数据, E=高脉冲 输出:无 LCD1602 VSS VDD VEE D0D7 RS R/W E AT89C52 P1 口 GROUND VCC GROUND 基于 GPS 的高精度时钟设计 10 按键模块和单片机的连接 键盘模块设置了四个按键: KEY KEY KEY KEY4。 其中 KEY1 为设置时间值, KEY2 为设定值上升键,用 KEY3 为设定值减小键, KEY4 是设定闹钟值。 电路连接如下图 28所示, 4 个上拉电阻可以保证在没有按键输入时,进入单片机四个 I/O 口的按键状态均为高电平,防止干扰产生;当有按键按下时,相应的端口线状态转为低电平。 R5R6R7R8+ 5 VK E Y 1K E Y 2K E Y 3K E Y 4P 0 . 0P 0 . 1P 0 . 2P 0 . 3 图 按键模块和单片机的连接 时钟芯片 DS1302 和单片机的连接 DS1302 与 CPU的连接需要三条线,即 SCLK、 I/O、 RST,分别连接单片机的 3个端口 、 、 (下图 ),用来对 DS1302 的命令字 的读写和数据的读写。 X1 和 X2是振荡源,外接 晶振。 RST 是复位 /片选线 ,通过把 RST 输入驱动置高电平来启动所有的 数据传送。 图 DS1302和 52单片机的连接 浙江理工大学本科毕业设计(论文) 11 第三章 GPS 高精度时钟的软件分析设计 GPS 授时系统的同步利用方式 脉冲同步方式 脉冲同步方式 ,即同步时钟每隔一定的时间间隔输出一个精确的同步脉冲。 监控装置在接收到同步脉冲后进行对时,消除装置内部时钟的走时误差。 同步脉冲的周期、频率、电平、脉宽、脉冲的正负、上升和下降时间、同步的时刻等均可能有所变化。 根据脉冲输出接口的不同,同步脉冲分为有源 TTL 电平输出、无源空接点输出、固态继电器输出等。 有源 TTL 电平输出,即每隔一定的时间间隔产生一个 TTL 电平脉冲,或正脉冲或负脉冲,脉冲的宽度和占空比可以不同。 这种输出,用户可以直接引出同步信号,不必外加电源。 无源空接点输出,即将同步脉冲作为一开关量输出,一般是 使用一个光电三极管,从集电极输出。 可根据应用要求,在同步时钟到来时,三极管由导通变截止,或由截止变导通。 1PPS(秒脉冲,即: pulse per second 脉冲 /秒 )输出,是一个电平信号,一般以方波形式输出,高电平 (也有较少数为低电平的 )表示有秒脉冲输出,其持续时间很短,一般在毫秒量级上,其电平信号为 +5V,持续时间为毫秒级,低电平 (也有较少数为高电平的 )表示没有信号输出。 高电平上升沿为 1PPS 输出的精确时刻。 在 GPS OEM 板取得有效导航解析的时候,秒脉冲上升沿的时刻与 GPS 时刻相差在50ns 以内 ,与串行口输出的 UTC 标准时间相差在 1us 以内。 OEM 板先为用户提供秒脉冲,再提供与该秒脉冲相对应的 UTC标准时间。 有时在没有收到卫星信号或导航解无效的情况下 (即没有收到 UTC的校正数据 ), OEM板通过开发工具板也能向外发送秒脉冲,但此时秒脉冲为 GPS OEM 内部未改正钟差、钟漂的原始时钟的时间,其上升沿的时刻不准确、不稳定,误差较大,无实用价值。 仅在取得正确导航解时才可以用 UTC时间对 GPS OEM 内部时间进行校正 ,输出精确时间。 串行同步方式 串行同步方式是时钟以串行数据流的方式输出 时间信息 ,各种自动装置接收每秒一次的串行时间信息获得时间同步。 串行通信的标准和格式多种多样 ,按信息码的格式不基于 GPS 的高精度时钟设计 12 同,分别有 ASCII 码、 IRIGB码等。 按串行通信接口标准的不同, ASCII 码有 RS232C、RS422/485 等方式, IRIGB 码有 TTL 直流电平码输出、 1kHZ 正弦波调制码输出、MANCHESTER 调制码输出等方式。 ( 1) RS232/422/485 串行接口输出 同步时钟通过 RS232/422/485 串行口在整秒、整分或整时,输出一次时间信息。 时间信息格式一般是由帧头、时、分、秒、日、月、年 及结束符组成。 自动装置在接收到对时信号后,通过软件校正内部时钟。 使用串行口方式对时,比脉冲对时方式复杂。 受接收过程中信息处理时间的影响,对时精度差。 如果要提高对时精度,还需要再给出对时脉冲信号。 ( 2) IRIGB 码串行输出 IRIGB是美国最先采用的一种国际时间码标准。 目前电力系统中的许多进口装置均使用 IRIGB时间码获取时间信息,因此 IRIGB 码制串行输出也应作为 GPS同步时钟输出的一种可选形式。 IRIGB信号有 TTL 直流电平码和 1kHZ 正弦波调制码两种形式。 每一码脉冲的宽度是 10ms,通过改变直流电平占空比或变化 1kHZ 调制信号的幅值来表示逻辑“ 1”与“ 0”及标识符 (帧起始符,相邻秒、分、小时、日期、数据的分隔符 )。 起始位的上升沿即为同步时刻。 IRIGB TTL 直流电平码的分辨率为 10ms,不加调制解调,使用方便,但只适于近距离传输。 1kHZ 正弦波调制码的分辨率为 1ms,适合远距离传输,这种正弦波调制码一般通过音频传输线路来传输数据。 所以本文认为,在装置硬件资源丰富的前提下可以考虑两种方案同时结合使用,即是将脉冲校时和串口校时结合起来的综合校时方案。 GPS 授时模块的 形式及流程图 OEM板输出的数据是以数据流的形式输出,采集的起始时刻未必是一帧数据 的开始时刻,所以在数据采集时,必须先判断字头块,在接收到字头块后,开始采集数据。 OEM板每隔 1s自动输出观测数据帧和位置数据帧一次,但输出的格式 是多种多样的,因此必须先给 OEM板发送指令来控制其输出数据格式。 接收数据需要设定单片机的波特率,使其与 GPS OEM板的传输波特率一致。 给 OEM板发送一条指令,使其发送的 0183数据格式为“ $GPGGA” ,该指令预先存在数据存储器里,用循环方式顺次从程序存储器里取出数据就可循环发 送。 然后 0EM板将输出相应格式的数据,单片机对接收的信息进行判浙江理工大学本科毕业设计(论文) 13 断,如果是“ $GPGGA” ,则接收下面的 6个 ASCII码并存储在单片机的 RAM里;如果不是“ $GPGGA”,则继续判断,直到是“ $GPGGA”。 也可采用循环方式接收时间信息。 由于接收到的时间是世界标准时 (UTC),因此在此时间上加上 8h才是准确的北京时,在超出 24h时应作减 24h处理,然后进行显示处理。 显示采用动态显示原理,每个时间状态显示停留一段时间,显示完后程序跳转到主函数以便接受下一秒的数据并将其显示。 下图 为授时程序流程图。 初始化 发送字节 发送完否 接受字符 循环判断是否为 $GPGGA 字符 循环 6次接收数据并存取 是否 24 指向储存单元 左边开始取数据 送出一 位显示 延时 指向下一个单元 读完 6 位 位控信号右移一位 N 图 授时程序流程图 N N Y Y 基于 GPS 的高精度时钟设计 14 LCD1602 的显示操作 LCD 有四种基本操作,具体如表。 表 LCD与单片机之间 的 四种基本操作 状态 RS R/W 操作 状态 1 0 0 写命令操作 (初始化,光标定位等 ) 状态 2 0 1 读状态操作 (读忙标志位 ) 状态 3 1 0 写数据操作 (要显示内容 ) 状态 4 1 1 读数据操作 (可以把显示存储区中的数据反 读出来 ) 读状态操作 执行读状态字操作,如表 所示须满足 RS=0、 R/W=1。 根据管脚功能,当为有效电平时,状态命令字可从 LCD 模块传输到数据总线。 同时可以保持一段时间,从而实现读状态字的功能。 如下图。 图 读入状态字流程图 写命令操作 由表 可知当 RS=0, R/W=0 时,才可以通过单片机或用户指令把数据 即命令,写到 LCD 模块,此时就对 LCD 进行调制。 可采用查询方式:先读入状态字,再判断忙标志,最后写命令字。 LCD 初始化 从通电开始通过延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设置行、位或阵列)再经过延时后清屏后再可以设置输入方式,具体如图 所示。 RS 清 0 等待 RW 置 1等待 E 置 1 等待 读入状态字等待 E 清 0 等待 RW 清 0 等待 结束 浙江理工大学本科毕业设计(论文) 15 图 LCD初始化流程图 GPS 高精度时钟主要程序、流程图及注释 主程序流程图 本系统主程序流程图如下图 所示。 主程序流程图 上电 延时 20ms 功能设置 延时 37us 显示状态设置 清屏 延时 输入方式设置 返回 开始 初始化 有 GPS信号。 截取 GPS 时间数据 LCD1602 显示 设置闹钟时间 是否到闹铃时间。 从 DS1302 读数据 Y Y N N 闹铃操作 单片机处理 基于 GPS 的高精度时钟设计 16 在开始的初始化中,需要对各芯片进行初始化,初始化完成后要判断 GPS 接收端有没有数据输出(有没有 GPS 信号),即单片机有没有数据读入。 如果没有 GPS 信息,为了防止时间停滞,采用 DS1302 计时。 因为 GPS 接收端的数据传输是类似于网络中带有包头的数据包传输,所以要。基于gps的精确电子日历设计(编辑修改稿)
相关推荐
考文献 ........................................................................................................................ 19 附录 程序框图 ...............................................................
33 附录 1 LabVIEW 设计平台界面和平台的编程 34 附录 2 电路原理图和电路 PCB 图 36 附 录 3 单片机端程序 38 1 第 1 章 绪论 课题背景 随着计算机网络的迅速普及,奠定了控制网络化的基础,现代控制系统必然成为信息化家居的一个重要组成部分。 近年来随着大规模集成电路技术、自动控制技术、智能技术的发展,诞生了一种被称为“智能控制网络”的新型网络
据转换模块、滤波及数据处理模块和存 储模块组成。 电刺激控制模块由参数控制模块、波形预览下载模块、时间控制报警模块和电刺激波形显示调节模块。 设计模块层次图如图 1 所示。 7 图 1 模块层次图 计算机接收到数据后,首先进行原始数据的预处理,把数据进行转化和数字滤波处理,经过处理的数据由 LabVIEW 的实时趋势图控件显示出信号曲线。 此外,还要对信号要进行进一步的分析处理
节有详细介绍。 5 bit 格雷码计数器模块的 VHDL 设计程序 见附录。 程序编译成功后生成的格雷码计数器模块如图 31 所示,利用 Quartus II 软件 的波形编译器 对该模块进行 时序 仿真,其仿真波形如图 32 所示。 图 31 格雷码计数器模块 图 32 5 bit 格雷码计数器仿真波形 同步模块 为了降低亚稳态发生的概率,本课题使用前章所介绍 D
设计 的 速度。 Quartus II 支持 的 器件类型 非常 丰富 ,其 图形界面 也易于操作。 Altera 在 Quartus II 中包 第 7 页 含了许多诸如 SignalTap II、 Chip Editor 和 RTL Viewer 的设计辅助工具,集成了 SOPC和 HardCopy 的 设计流程,并且继承了 Maxplus II 友好的图形界面及简便的使用方法。
录下了,循环进行此步骤,就可以将 8 到数据依次记 录在记忆模块中了。 选择输出模块子程序 ( 1)选择输出模块的 VHDL 程序及它的子程序 SLECT8_1 和 CNT8 见附录 2.选择输出模块的程序流程图如下图: JYMK CLR=1 D0~ D7=0 ,i=0 JISHU 键是否按下 i=i+1 记忆模块程序流程图 D0~ D7 保持不变 Qi=Di Y N N Y