一种带秒准时沿的串口时间发送系统及方法技术方案

技术编号:28383221 阅读:21 留言:0更新日期:2021-05-08 00:11
本发明专利技术公开了一种带秒准时沿的串口时间发送系统及方法,涉及时间同步技术领域,其包括:处理器和可编程的逻辑模块,处理器设有时间处理引擎,时间处理引擎完成参考时间源的串口时间报文解析输出,可编程的逻辑模块测量得到秒脉冲以及参考时间源之间的秒脉冲差值和秒脉冲的时钟周期计数值,秒脉冲由可编程的逻辑模块完成伺服,参考时间源由处理器完成伺服,伺服后的秒脉冲的上升沿作为秒准时沿,处理器内建立有用于发送串口时间报文的状态机,建立状态机的组合逻辑,根据组合逻辑与状态机将秒准时沿作为串口时间报文发送的帧头起始位下降沿,以1PPS的准时沿是串口时间报文帧头起始位的下降沿,减少电缆的铺设,降低成本,减少了人工。

【技术实现步骤摘要】
一种带秒准时沿的串口时间发送系统及方法
本专利技术涉及时间同步
,具体涉及一种带秒准时沿的串口时间发送系统及方法。
技术介绍
时间同步装置通过串口进行时间传递的方式在工业自动化系统中广泛应用,在应用中通常会约束串口时间报文与秒脉冲之间的关系,在电力行业的时间同步技术规范DL/T1100.1对串口时间报文的发送有明确的约束“报文发送时刻,每秒输出1帧。帧头为#,与秒脉冲(PPS)的前沿对齐,偏差小于5ms”。在通信行业中,近期发布的对串口时间报文发送的规范,即在1PPS+TOD规范中获取时间信号的秒准时沿以及该秒所对应的时间信息,串口时间报文的发送和秒信号相分离,因此在工程实施时除了铺设串口通信所需要的线缆外,还需要铺设传输PPS的线缆,不仅增加施工的复杂度、工作量和施工维护成本,也增加了系统故障点。现有技术中通常采用如下技术来解决上述问题:1)软件方案,采用釆用CPU或MCU(以下CPU指代描述)程序完成串口时间报文组织与驱动发送,但该方案由于CPU的运行速度,多任务和中断影响等原因,存在只能满足同步精度要求不高的需求,且需要一直监测秒是否发生变化,效率较低的问题。2)软件硬件结合方案1,釆用PPS中断CPU驱动发送本秒的串口时间报文,报文的组织和发送均有CPU完成。这种方式采用CPU提供的外部硬件中断接口,响应优先级高,发送报文及时,在这种情况下,带操作系统的串口发送接近0延迟,但仍然受CPU指令访问时间,操作系统调度时间的约束,发送延迟在微秒或毫秒量级。3)软件硬件结合方案2,釆用PPS中断CPU驱动发送下一秒的串口时间报文到FPGA的缓冲中,当下一秒PPS到来时触发FPGA将缓冲中待发送的串口时间报文的发送出去;不受CPU的影响,而仅仅跟FPGA识别PPS准时沿的时钟有关,发送延迟可以做到几十纳秒量级。申请号:201320831978.3提出了“基于零延时的串行报文授时系统”其在授时信号1PPS到来之前先向缓冲区写入下一秒要发送的时间数据,并在授时信号1PPS到来之时触发发送。这样输出的串行时间报文信息就同时携带了较高精度的秒同步信息。因此,仅需要串口线,即可时间信息报文和秒同步信息的发送。减少了占用的信号线,简化了软件协议和硬件实现。有鉴于此,本申请对上述技术中的串口时间报文的同步精度进一步优化。
技术实现思路
本专利技术目的在于提供一种带秒准时沿的串口时间发送系统及方法,本申请实现了,1PPS准时沿是串口时间数据报文发送信号里的组成部分,即1PPS的准时沿是串口时间报文帧头起始位的下降沿。并非1PPS到来之时触发发送,而是将秒信号的准时沿携带到串口时间报文的发送信号中,基于该技术,在没有增加任何附加硬件资源的情况下,串口时间报文的同步精度优于1μs,可以达到IRIG_B方式输出的同步精度。而在工业应用场景中,很多工控机,服务器基本都配置有串口,可以直接接收串口的时间报文,其帧头的起始位下降沿完全可以作为本秒的秒准时沿用。特别是对于需要1PPS+TOD的应用场景,这种方式可以减少电缆的铺设,降低成本,减少了人工。本专利技术通过下述技术方案实现:一种带秒准时沿的串口时间发送系统包括,处理器,其用于接受应用指令并实现数据处理与调度;可编程的逻辑模块,其用于测量与产生高精度时间信号,其中,所述处理器与可编程的逻辑模块之间采用串行外设接口进行片间通信。所述处理器设有时间处理引擎,所述时间处理引擎完成参考时间源的串口时间报文解析输出,所述可编程的逻辑模块获取参考时间源和秒脉冲,所述可编程的逻辑模块根据所述参考时间源得到的秒脉冲差值和秒脉冲的时钟周期计数值;其中,所述秒脉冲由可编程的逻辑模块完成伺服,所述参考时间源由处理器完成伺服,伺服后的所述秒脉冲的上升沿作为秒准时沿;所述处理器内建立有用于发送串口时间报文的状态机,建立状态机的组合逻辑,根据组合逻辑与状态机将所述秒准时沿作为所述串口时间报文发送的帧头起始位下降沿。在本方案中,CPU+FPGA,片间通信采用SPI;CPU组织串口时间报文,PPS信号触发CPU通过SPI将串口时间报文下载到FPGA的缓冲中,等待发送。FPGA通过状态机和组合逻辑实现PPS准时沿作为串口时间报文发送的帧头起始位下降沿,串口时间报文的同步精度优于1μs,可以达到IRIG_B方式输出的同步精度,对于需要1PPS+TOD的应用场景,可以减少电缆的铺设,降低成本,减少了人工。进一步地,所述处理器通过串行外设接口发送所述串口时间报文至所述第一缓冲区或第二缓冲区,将接受数据的所述第一缓冲区设置为接受状态,待数据接受完毕,所述第一缓冲区设置发送状态,并将所述串口时间报文发送至串口收发器后,所述第一缓冲区回复为接受状态;其中,所述第二缓冲区与所述第一缓冲区功能相同,所述第一缓冲区和第二缓冲区循环使用。在本方案中,可编程的逻辑模块FPGA具有硬件并发处理能力,可并发处理CPU组织串口时间报文下载到FPGA的缓冲中和FPGA从缓冲中读取时间报文发送串口收发器中。为防止CPU与FPGA同时操作同一个时间报文缓冲,产生竞争冲突,本方案在可编程的逻辑模块FPGA侧采用双缓冲方式,一个缓冲用于接收CPU通过串行外设接口发送过来的数据,一个缓冲用于FPGA发送到串口收发器,因为CPU发送串口报文在秒信号触发以后,从PPS触发到下发报文具有微秒级的延迟时间,而在FPGA侧,PPS触发后立即将接收缓冲的数据赋值到发送缓冲,只需要10M时钟的一个周期即100ns内完成,避免了访问竞争。优选地,所述串口时间报文的发送采用异步串口通信,所述异步串口通信数据发送的帧格式包括起始位、数据位、校验位和停止位,所述串口时间报文的帧头起始位对齐所述秒准时沿的硬件编码发送。进一步地,在发送一组所述串口时间报文数据产生的所述秒脉冲的时钟周期计数值由秒准时沿触发,所述秒脉冲与秒准时沿对齐时,所述秒脉冲反向。在本方案中,由于串口协议中规定,其发送信号在空闲时候为高电平,字节发送时,以起始位开始,起始位是持续波特率时钟周期的连低电平信号,为配合这一特点,本方案将PPS信号在FPGA内反向。此外本专利技术一种带秒准时沿的串口时间发送方法,包括以下步骤:S1:建立串口时间报文发送的状态机,并将串口时间报文数据发送至处理器;S2:通过所述时间处理引擎完成参考时间源的串口时间报文数据解析输出,并将数据解析通过所述串行外设接口传输于所述可编程的逻辑模块;S3:根据所述可编程的逻辑模块测量得到秒脉冲和参考时间源之间的秒脉冲差值和秒脉冲的时钟周期计数值;S4:使用所述可编程的逻辑模块伺服秒脉冲输入,使用处理器伺服参考时间源输入,并将伺服后的所述秒脉冲的上升沿为秒准时沿;其中,在步骤S4中,还包括步骤:S41:在所述可编程的逻辑模块侧设置所述第一缓冲区和第二缓冲区;S42:将所述第一缓冲区和第二缓冲区初始状态设置为接受状态;S43:当所述处理器发送所述串口时间报文至所述可编程的逻辑模块时,所述处理器本文档来自技高网
...

【技术保护点】
1.一种带秒准时沿的串口时间发送系统,其特征在于,包括:/n处理器,其用于接受应用指令并实现数据处理与调度;/n可编程的逻辑模块,其用于测量与产生高精度时间信号;/n其中,所述处理器与可编程的逻辑模块之间采用串行外设接口进行片间通信;/n所述处理器设有时间处理引擎,所述时间处理引擎完成参考时间源的串口时间报文解析输出,所述可编程的逻辑模块获取参考时间源和秒脉冲,所述可编程的逻辑模块根据所述参考时间源得到的秒脉冲差值和秒脉冲的时钟周期计数值;/n其中,所述秒脉冲由可编程的逻辑模块完成伺服,所述参考时间源由处理器完成伺服,伺服后的所述秒脉冲的上升沿作为秒准时沿;/n所述处理器内建立有用于发送串口时间报文的状态机,建立状态机的组合逻辑,根据组合逻辑与状态机将所述秒准时沿作为所述串口时间报文发送的帧头起始位下降沿。/n

【技术特征摘要】
1.一种带秒准时沿的串口时间发送系统,其特征在于,包括:
处理器,其用于接受应用指令并实现数据处理与调度;
可编程的逻辑模块,其用于测量与产生高精度时间信号;
其中,所述处理器与可编程的逻辑模块之间采用串行外设接口进行片间通信;
所述处理器设有时间处理引擎,所述时间处理引擎完成参考时间源的串口时间报文解析输出,所述可编程的逻辑模块获取参考时间源和秒脉冲,所述可编程的逻辑模块根据所述参考时间源得到的秒脉冲差值和秒脉冲的时钟周期计数值;
其中,所述秒脉冲由可编程的逻辑模块完成伺服,所述参考时间源由处理器完成伺服,伺服后的所述秒脉冲的上升沿作为秒准时沿;
所述处理器内建立有用于发送串口时间报文的状态机,建立状态机的组合逻辑,根据组合逻辑与状态机将所述秒准时沿作为所述串口时间报文发送的帧头起始位下降沿。


2.根据权利要求1所述的一种带秒准时沿的串口时间发送系统,其特征在于,所述可编程的逻辑模块建立有缓冲区和串口收发器,所述缓冲区包括第一缓冲区和第二缓冲区;
所述处理器通过串行外设接口发送所述串口时间报文至所述第一缓冲区或第二缓冲区,将接受数据的所述第一缓冲区设置为接受状态,待数据接受完毕,所述第一缓冲区设置发送状态,并将所述串口时间报文发送至串口收发器后,所述第一缓冲区回复为接受状态;
其中,所述第二缓冲区与所述第一缓冲区功能相同,所述第一缓冲区和第二缓冲区循环使用。


3.根据权利要求1所述的一种带秒准时沿的串口时间发送系统,其特征在于,所述串口时间报文的发送采用异步串口通信,所述异步串口通信数据发送的帧格式包括起始位、数据位、校验位和停止位,所述串口时间报文的帧头起始位对齐所述秒准时沿的硬件编码发送。


4.根据权利要求1所述的一种带秒准时沿的串口时间发送系统,其特征在于,在发送一组所述串口时间报文数据产生的所述秒脉冲的时钟周期计数值由秒准时沿触发,所述秒脉冲与秒准时沿对齐时,所述秒脉冲反向。

【专利技术属性】
技术研发人员:肖涛张鑫彭波
申请(专利权)人:上海宽域工业网络设备有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1