
技术摘要:
本发明涉及一种高精度以太网时间同步装置。其技术方案是:设备接收北斗/GPS卫星导航信号,解算出标准时间信号,并在FPGA中本地时钟与卫星时钟的钟差,将得到的差值进行PID算法计算得到数字调整量调整分频器初值,完成1PPS信号的相位与频率校准。另一方面,设备通过以太 全部
背景技术:
随着信息技术的不断发展,各行业的互联设备与计算机对系统时间稳定性的要求 越来越高,尤其是电力系统、轨道交通、医疗这种与国计民生息息相关的行业,维持一个统 一的时间作为参考和同步尤为重要。在各种授时技术中,卫星授时技术由于全天候、高精 度、大范围的优势,被广泛应用。但传统的卫星授时装置一方面依赖于美国的GPS卫星系统, 另一方面无法克服卫星授时带来的时间信号抖动误差,第三在卫星信号突然丢失的情况下 会发生时间跳变,而造成全系统故障。
技术实现要素:
本发明的目的就是针对现有技术存在的上述缺陷,提供一种高精度以太网时间同 步装置,具自走时精度高、守时性能好、输出时间精确稳定等优点。 其技术方案是:设备接收北斗/GPS卫星导航信号,解算出标准时间信号,校准本地 恒温晶振输出,产生精确的本地时钟,通过以太网接口向网内的设备传送基于NTP协议的时 间同步报文,统一校准网内设备的时钟;通过RS485 串口输出标准时间信息,控制LED子钟 显示实时的时间。当接收卫星信号出现故障时,设备利用自身的恒温晶振产生的时间信号, 仍可保持输出高精度时间信息。故障排除后,设备能自动切换重新接受卫星时钟信号。 设备还具备自检功能,能定时自动检测整个系统的工作状况,并能通过告警模块 将故障报警信号送至与其相连的控制中心监控管理计算机并显示出来,方便系统维护人员 维护和修理。 以上是设备作为一个整体在通信网络系统中的功能概述,在设备内部,以上功能 被解构为五个子系统,每个子系统对应着一个功能模块,即:主控制模块、卫星信号接收模 块、本地守时模块、输出接口模块、电源模块。 (1)主控制模块:主控制模块是整个设备的核心,用于实现对设备内部各模块的控 制、对网内设备的授时、各种输出信号的编码、以及对相关的数据处理和存储等功能。主控 制模块主要由一块基于ARM架构的微处理器及其外围电路构成,承担着各子系统模块的控 制与协调工作。 (2)卫星信号接收模块:卫星信号接收模块主要用于接收北斗/GPS导航卫星信号, 设备提供高精度的时间信息与秒脉冲(1PPS)信号,以实现时钟系统的无累积误差运行。模 块包括一块北斗/GPS信号接收芯片及其外围电路,通过串行接口输出导航信息,同时通过 1PPS管脚输出向本地守时模块高精度秒脉冲。 (3)本地守时模块:本地守时模块主要完成守时功能,当卫星信号同步正常的情况 下,通过卫星高精度秒脉冲驯服本地恒温晶振,使其与卫星信号同步;在卫星信号出现故 障,卫星信号失步时,设备将切换高稳晶振信号作为标准时间源,仍能继续输出高精度的时 3 CN 111585680 A 说 明 书 2/3 页 间信息。本地守时模块是基于锁相环(PLL)技术来进行相位校准与频率锁定的。 (4)输出接口模块:信号输出模块布置在装置的背面,主要分为基于NTP 协议的以 太网接口,以及RS485串行通信接口。在实际工程中,为了满足项目的不同需求,设备往往还 需要增加和扩展接口箱,来向更多的外系统或者子钟提供标准时间信息。 (5)电源模块:电源模块负责为设备供电,可连接220V交流电为设备供电。 高精度的守时电路设计是本发明的核心内容,整个守时电路工作流程如下:首先 北斗信号接收模块接收卫星授时信号,处理并生成时间频率秒脉冲 1PPS,并送入时间间隔 测量模块;在模块中与本地恒温晶振经过分频产生的1PPS秒脉冲经时间间隔测量模块测得 时间差值;差值通过有限福滤波去掉噪声干扰,然后经过PID算法计算出数字调整量;FPGA 内部分频器根据数字调整量调整计数初值,达到调节1PPS脉冲信号相位与频率的目的。当 卫星信号丢失或质量不佳时,则根据历史调整数据设置并锁定FPGA内部分频器初值,得到 稳定的1PPS秒脉冲作为标准时钟频率,保证时钟系统的正常运行。 守时电路的FPGA设计依托于CycloneIV系列的EP4CE10F17C8型FPGA芯片,利用 Verilog HDL语言来描述数字电路以及数字逻辑设计。整个电路采用层次化设计,将守时电 路划分为时间间隔测量模块、32位数据发送器、UART 串口发送模块、32位数据接收器、UART 串口接收模块、分频模块这六个子模块。划分后的每个模块分别采用编写编写设计,系统的 整体功能则由顶层文件描述,顶层文件中再把各个功能模块文件作为元件例化调用。 FPGA系统的时序逻辑严谨,其并行结构在处理小逻辑上非常迅速。同样的,由于其 功能主要依靠硬件实现,描述算法能力有限,在编译、执行复杂程序上的效率不如MCU,所以 守时电路的数据处理部分就由主控制模块进行,主要包括对时间偏差值的有限幅滤波,以 及调用PID算法计算分频控制量。 由于外界电磁信号的干扰或者连线上的故障,接收机输出的1PPS信号也还是有可 能夹杂干扰,产生信号毛刺甚至是伪脉冲。伪脉冲干扰主要会造成两种影响:一是伪脉冲的 出现会造成系统错误动作,形成错误的校时信息;二是使正确的脉冲信号变形,无法触发系 统动作,造成漏校时。为了消除伪脉冲干扰,设备采用“有限幅滤波”将其从正常偏差中筛 除。 由于守时电路是基于锁相环原理设计的,本就是一种反馈系统,其输入信号即为 卫星秒脉冲这样一种1Hz的信号,被控对象就是本地晶振分频得到的秒脉冲,时间间隔测量 单元通过检测两个信号的上升沿相位差来得出时差值,算作一种鉴相器。在这一反馈系统 中,设备引入PID控制算法,计算守时电路分频控制量,以此达到将本地时钟锁定在卫星时 钟上,消除由卫星信号抖动带来的走时影响。 本文使用STM32F407型号的芯片作为系统主控制器,移植UCOSII操作系统与LwIP 协议栈,进行了NTP网络时间同步功能的开发,主控制器通过 MII/RMII接口控制以太网PHY 芯片LAN8720,以此完成设备的入网功能。设备自身以北斗卫星信号为时钟源,北斗卫星信 号由两个部分组成,一个是代表相对时间的PPS秒脉冲;另一个是包含绝对时间的导航电 文。设备使用的北斗ATGM332D授时定位芯片使用的是NMEA-0183协议,这也是卫星信号接收 机使用最广泛的协议,考虑到设备仅需求时间信息,所以采用$GNRMC语句作为ATGM332D授 时定位模块的输出语句,主控制器以9600的波特率读取。 在时间同步网络应用层,设备服务器功能的实现都是围绕Socket套接字来进行 4 CN 111585680 A 说 明 书 3/3 页 的。Socket是一种的网络编程接口,其本质是在接收方与发送方之间建立一条通信链路,应 用程序可以对其像对文件一样进行打开、读取、写入和关闭操作。通过这样一个接口,设备 只需要将需要发送的报文写入Socket 中,就能通过网络接口将信息传递给网内设备,大大 简化了以太网报文的发送过程,增强了程序的可靠性。NTP应答报文是一个48字节的数据, 其中前 16个字节为报文头部,标识了本条NTP报文的有关信息;之后为三条时间戳 (原始 时间戳、接收时间戳、传输时间戳),时间接收设备便是根据这三条时间戳计算自身的走时 误差并进行时钟调整。为了使时间戳的时间刻度尽可能精确,设备编写NTP报文的需按一定 的时序来完成。 设备运行在UCOSII实时操作系统下,通过Socket套接字来监听端口,等待网内设 备发来的NTP请求;在此期间,若产生北斗信号串口中断,接收北斗数据报文,接收完成后执 行北斗时间提取转换程序,更新系统时间;若产生守时电路串口中断,则接收时间偏差值, 接收完成后计算守时电路时间调整值;若卫星信号出现异常,则执行时钟源切换程序;若产 生外部PPS中断,则执行外部中断程序,清零计数器,更新亚秒级时间。这些任务中,北斗卫 星信号PPS中断的优先级最高;守时电路PPS中断的优先级次高;北斗模块串口接收中断优 先级第三;执行时钟源切换程序优先级第四,但其由北斗模块串口接收中断接收到天线异 常状态后触发;守时电路时间调整值计算程序优先级第五;NTP时间同步程序优先级最低。 本发明与现有技术相比具有的有益效果如下: 采用北斗/GPS双模授时,提高了授时精度与可靠性; 利用FPGA技术设计数字锁相环,校准并维持本地高精度时钟; 在卫星信号丢失的情况下,借助校准好的本地时钟维持时间稳定; 输出多种格式的时间信息,适用于各种工程场合。 附图说明: 附图1为设备的后面板图; 附图2为设备的前面板图; 图1中,开关1.1、RS485接口1.2、以太网接口1.3、卫星天线接口1.4、电源插头1.5、 PC串行接口1.6。 图2中,LED时间显示屏2.1、指示灯2.2。 5 CN 111585680 A 说 明 书 附 图 1/1 页 图1 图2 6