时间同步技术是由于通信、导弹、航天实验等的需要而发展起来的一门新兴学科,但是随着分散控制系统的发展与应用范围的扩大,越来越多的领域如智能电网、通信网络体系、水利测绘、公共安全、导航定位、工业自动化、无线传感器网络、测试测量等都对高精度时间同步技术提出了更高的需求,也足可见时间同步技术在众多领域的广泛应用。
时间同步的目的是保障全局物理时钟或逻辑时钟的一致性,使得在系统中的信息和事件的时间解释是统一的。对于一些特殊行业,如电力、金融、通信、交通、国防等领域,对时间同步的精度要求非常高,而且出于安全考虑,处于特殊行业的这些设备也不可以随意接入网络。
一、时间差异的后果系统中的各个参数均与时间相关,导致整个电网停电甚至系统崩溃的其实可能是不到1秒的时间误差;金融系统中(如银行和股票交易所)交易业务的正常进行都依靠准确的时间信息,汇率、股市价格在1秒前后的波动直接导致收益结果的相差千里。
在速度很高的系统中(如火箭、船舶等),精确的时间信息更加重,测时的过程也是测距的过程,火箭速度为8公里每秒,即便误差百分之一秒,距离也会相差80m,造成的后果无法估量。在国防安全领域,只有具备准确时间的情报信息才能与其它信息相关、融合、链接起来,成为有效信息。
总之,时间精确及时间同步在应用中的重要性体现得越来越广泛,如果不能保证高精度的时间同步,系统就难以进行协调、管理和控制,建立精确的时间系统,意义不问可知。
目前市场上的计算机的时间都由主板上的晶振和时钟芯片来确定,晶振可以产生一定频率的交变电流信号,会将直流电能转换为具有一定频率的交流电能,电路设计时需要设计晶振外部时钟电路,一般为放大反馈电路,于是就有了时钟振荡器。
晶振的振荡频率的准确度决定时钟的准确度。而温度、老化等因素都会对晶振的频率产生影响,从而影响计时精度,造成时钟误差,尤其是温度,对频率准确度影响最大。
频率的偏差率从10-4量级到10-9量级不等,日时间误差从8.64秒到8.64*10-5秒不等,长期累计会造成较大的时间误差,所以利用计算机本身的时钟来实现精确的时钟是不可能的,需要通过授时设备来实现计算机之间的时间同步。
网络时间协议NTP(Network Time Protocol)的目的是同步计算机时间与时钟源时间,对比其他时间同步协议,它是实现计算机时间同步最简便的方法。它采用分层的方法来定义时钟的准确性,可以迅速同步网络中各台设备的时间,同时采用Client/Server结构使其具有相当高的灵活性,满足互联网上时间同步的复杂性、严格性的要求,可以适应不同互联网环境。
NTP产生的网络开销比其他时间同步方式的开销都要少,使用的识别机制可以防止对时间服务器的恶意破坏,是保证网络安全的重要应对措施。NTP协议的这些优点使其成为公认的最优的互联网时间同步工具。目前,国人提到授时导航系统时,心中仍然将其等同于GPS。
二、独立自主刻不容缓由于GPS由美国研制,受美国军方所管控,在军事、科研和救援等领域,产品和技术依赖于进口不免受人制约,所以研制独立自主的卫星导航系统可以说时不我待。随着北斗导航定位系统的发展已日趋完善,近年来国家一直在大力促进北斗自主研发产业的发展,但在北斗接收机设计这一方面还是稍显薄弱。
国外的NTP时间服务器自NTP协议发明之始就开始兴起,在很多领域都得到了广泛的应用,大多数同步设备制造商都提供此类设备,比较有名的生产厂家有GlobalTime和Symmetricom等,从大型的、接口完备NTP时间服务器到方便安装移动的NTP时间服务模组,产品线非常齐全,不过它们的价格相当高,且很少在国内销售。
目前国内ntp服务厂家并不多,市场龙蛇混杂,厂家技术参差不齐,只有西安同步电子科技,青岛广研所,成都可为上海锐呈等一些新生厂家,有些是集成商,有些是电力设备厂商或者传统时钟厂商转型过来,技术积累和技术含量不足,不管从规格或者价格上都比较混乱,没有形成统一的标准。
并且,虽说为国产服务器,大部分厂家使用的CPU却为Intel芯片,不能完全适配国产电脑与国产操作系统,做不到完全自主可控。授时模块需要接收北斗时间信号与B码信号,并对信号进行处理。
按照功能可靠、小型化、价格低廉的原则,卫星接收模块选用铱沃智能科技有限公司研发的卫星接收模块,仅需配置简单外围电路,就可以实现接收北斗卫星信号、IRIG-B码并输出IRIG-B码脉冲、1PPS脉冲信号与当前时间信息。
e Time-40微型授时模块是一款高集成度的北斗接收模块,该模块集成了并行GNSS定时模块,采用高速FPGA集成电路作为主处理芯片,内部处理时钟频率达到320MHz,和高速AD、DA芯片和基于锁相环的高精度时频控制算法,接收到北斗发播的报文信息后,处理后生成精确稳定的时间和频率信号(1PPS、串口报文)。
频率输出日平均准确度10-12,实时准确度可以达到2*10-10,守时精度优于1us/小时。为系统提供高精度的时间和频率参考信号。授时模块使用直流5V或12V电源供电,工作温度在-40~70℃,最高可支持85℃。
对比同类模块,该模块结构紧凑,性能优越,可以在各种复杂环境中提供高完整性、高精确度的授时功能。模块内部对射频信号进行放大、滤波,并增加了抗干扰处理,提高了天线信号的性能,可以保证模块在比较较恶劣的情况下不受干扰而提供高质量的信号。
系统上电开机后,首先PMON进行硬件与环境变量初始化,如果硬件检测不通过,程序会控制继电器报警,需要关机然后进行检查。硬件环境正常的情况下,系统通过一组全功能串口获取授时模块传输的北斗报文,报文中字段6为卫星质量,表明该时间源是否有效。
三、北斗卫星的机制时间源有效则提取并处理报文中时间信息,获取的时间信息一方面通过系统内核配置实现NTP功能;另一方面时间信息被发送到输出模块,通过TTL板、RS232板等扩展板输出不同电平的时间信息。
若北斗卫星信号质量差,判断该时间源无效,获取B码信号,判断B码信号是否有效,若B码信号有效,提取并处理B码信息中时间,同样可以获取标准的时间信息。
若判断B码信号无效,则输出时间源无效的报警信息,并再次检测北斗信息,直至有时间源正常,可以获取到正确时间。在上述过程中,授时模块、显示模块以及其他输出模块之间的数据传输离不开核心板控制。
同时核心板不间断运行的程序会及时将时间与告警等信息经由背板预留接口持续发送给LED运行指示灯与显示屏。为使用户直观的了解当前时间以及设备的运行状态,本设计配置显示屏以及多个LED运行指示灯。
显示屏可以显示当前北京时间、当前卫星质量、当前双电源工作状态以及当前正在使用的时间基准源,LED运行指示灯包括电源工作指示灯以及异常告警指示灯。设备采用7英寸显示屏,分辨率不低于800x480,可满足关键信息显示需求。
显示图像与时间信息均由核心板的UART串口接出,显示图像通过程序烧录到显示屏的固件中,可以根据需要进行修改,重启生效;当前时间、卫星质量、工作状态等由显示屏的图像转换模块将获取的实时串口信息转换成对应的显示信息。
LED运行指示灯指示设备工作状态以及时间同步信号输出功能。设备不断输出PPS秒脉冲;当设备时间基准源无效时,LED指示故障;设备其中一路电源异常时,LED指示异常。
本设计中授时模块输出的串口报文需要发送给MCU,MCU首先对本地的时间进行初始化,然后使用中断的方式读取北斗接收机输出的数据帧,再从数据帧中提取准确的时间信息,中断方式可以设置接收中断和发送中断,本次设计中设置MCU串口中断模式为接收中断模式,当北斗数据帧到来时,在中断处理函数中对数据进行处理,得到有效数据之后即可关闭串口接收中断。
小结采用这种中断方式的缺点是当中断次数较多时,CPU需要较多的时间去处理中断,但是本方案中需要获取一次准确有效的北斗时间作为基准时间才能保证授时的准确性,可以在获取有效时间之后关闭串口接收中断,如此一来,这种中断的方式并不会过多的占用CPU时间。综上,本次设计的授时系统获取具有中国自主知识产权的北斗卫星授时信号,采用国产MCU作为系统的核心数据处理器,在授时系统最主要的卫星系统与芯片技术两方面保障100%国产化,不受制于人,达到了设计的预期目标。
这是水淼·帝国CMS站群文章更新器的试用版本更新的文章,故有此标记(2024-04-09 08:58:51)