CN114415780A - 基于irig-b码的对时方法及装置 - Google Patents

基于irig-b码的对时方法及装置 Download PDF

Info

Publication number
CN114415780A
CN114415780A CN202111681132.1A CN202111681132A CN114415780A CN 114415780 A CN114415780 A CN 114415780A CN 202111681132 A CN202111681132 A CN 202111681132A CN 114415780 A CN114415780 A CN 114415780A
Authority
CN
China
Prior art keywords
code
time
module
sent
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111681132.1A
Other languages
English (en)
Inventor
罗俊杰
刘恩锋
付师福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yanxiang Smart Iot Technology Co ltd
Original Assignee
Yanxiang Smart Iot Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yanxiang Smart Iot Technology Co ltd filed Critical Yanxiang Smart Iot Technology Co ltd
Priority to CN202111681132.1A priority Critical patent/CN114415780A/zh
Publication of CN114415780A publication Critical patent/CN114415780A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

本发明提供一种基于IRIG‑B码的对时方法,包括:接收时钟服务器发送的时间码,并持续对所述时间码进行采样;判断所述时间码的码元类型,当接收到连续的两个P码时,在第二个P码的上升沿开始对所述时间码进行解码并打包为待发送信息;在下一次接收到连续的两个P码时,在第二个P码的上升沿将所述待发送信息向外发送并开始对下一次接收到连续的两个P码之后的时间码进行解码并打包为待发送信息。本发明提供的基于IRIG‑B码的对时方法及装置,能够在下一秒的起始波形将上一秒打包的时间信息向外发送,从而,能够提供充足的解码和打包时间,在补偿1秒的时间后,能够实现高精度的时间校对。

Description

基于IRIG-B码的对时方法及装置
技术领域
本发明涉及时间校对技术领域,尤其涉及一种基于IRIG-B码的对时方法及装置。
背景技术
伴随当今电子技术的快速发展,时间同步技术也日益得到重视与应用。时间码IRIG-B作为一种重要的时间同步传输的方式,以其实际突出的优越性能,成为时间统一设备首选的标准码型,广泛应用于电信、电力、军事等重要行业部门。国家电网早在2005年就已经在《关于加强电力二次系统时钟管理的通知》中明确要求采用IRIG-B标准码逐步实现GPS装置和相关系统或设备对时。时至今日,已然成为变电站电力网关机、自动化装置、高精度对时装置等设备的必备硬件对时条件。从IRIG-B码的产生、解码到对时应用,涌现过基于各种平台、框架的信号源、解码模块以及对时设备。但是,在现有的技术方案中,往往需要依靠设备性能的提高才能够保证高精度对时,尚不存在利用对时方法的设计来提高对时进度的方案。
发明内容
本发明提供的基于IRIG-B码的对时方法及装置,能够在下一秒的起始波形将上一秒打包的时间信息向外发送,从而,能够提供充足的解码和打包时间,在补偿1秒的时间后,能够实现高精度的时间校对。
第一方面,本发明提供一种基于IRIG-B码的对时方法,包括:
接收时钟服务器发送的时间码,并持续对所述时间码进行采样;
判断所述时间码的码元类型,
当接收到连续的两个P码时,在第二个P码的上升沿开始对所述时间码进行解码并打包为待发送信息;
在下一次接收到连续的两个P码时,在第二个P码的上升沿将所述待发送信息向外发送并开始对下一次接收到连续的两个P码之后的时间码进行解码并打包为待发送信息。
可选地,在下一次接收到连续的两个P码时,在第二个P码的上升沿将所述待发送信息向外发送包括:
在第一个P码的下降沿,由通用输出接口GPO向外输出高电平,以使能开关器件依据时间码向外输出对时脉冲信号,并在第二个P码的上升沿由串行接口向外输出待发送信息;在第二个P码的下降沿,由通用输出接口GPO向外输出低电平。
可选地,判断所述时间码的当前码元类型包括:
周期性的采集通用输入接口GPI的电平状态,并记录前一周期电平状态和当前周期电平状态;
判断当前周期电平相对于前一周期电平的状态变化;
当前周期电平大于前一周期电平时,脉冲计数器开始依据采样周期逐次递增;
当前周期电平低于前一周期电平时,脉冲计数器停止计数,并依据脉冲计数器的计数,判断当前的码元类型,并将脉冲计数器清零。
可选地,对所述时间码进行解码包括:
当前码元类型为0码或者1码时,单元解码子函数查询帧位置变量和码位置变量;
依据帧位置变量和码位置变量,将解码后的数据存储到对应的串行时间报文发送缓存地址中。
可选地,对所述时间码进行解码包括:
当对一位时间码解码完成时,将所述码位置变量加一;
当对一帧时间码解码完成时,将所述帧位置变量加一。
第二方面,本发明提供一种基于IRIG-B码的对时装置,包括:
隔离模块,所述隔离模块的输入接口用于接收时钟服务器发送的时间码,所述隔离模块用于将所述输入信号和输出信号进行隔离;
微处理器,所述微处理器的输入接口与所述隔离模块的输出接口通讯连接;所述微处理器具有输出解码后的时间信息的串行接口和输出开关使能信号的使能输出接口;所述微处理器用于依据上述任意一项所述的基于IRIG-B码的对时方法对所述运功格式信号进行解码并打包形成待发送信息和生成使能信号;
开关模块,所述开关模块的输入接口与所述隔离模块的输出接口通讯连接,所述开关模块的使能输入接口与所述微处理器的使能输出接口通讯连接,所述开关模块用于依据预定格式信号和使能信号输出对时脉冲信号。
可选地,所述微处理器包括:
第一缓存模块,与通用输入接口GPI通讯连接,所述第一缓存模块用于周期性的读取所述通用输入接口GPI的电平,并缓存前一周期电平状态和当前周期电平状态;
运算模块,与所述缓存模块和通用输出接口GPO通讯连接,所述运算模块用于从所述缓存芯片周期性的读取所述前一周期电平状态和当前周期电平状态,依据所述前一周期电平状态和当前周期状态对所述时间码进行解码并打包形成待发送信息,以及生成使能开关使能信号;
第二缓存模块,与所述运算模块通讯连接,所述第二缓存模块用于接收并存储所述待发送信息;
直接访问存储器,与所述第二缓存模块通和串行接口讯连接,所述直接访问存储器用于从所述第二缓存模块接收所述待发送信息,并依据所述运算模块发出的输出指令驱动串行接口向外输出待发送信息。
可选地,所述微处理器还包括滴答计时器,所述滴答计时器与所述运算模块通讯连接,所述滴答计时器用于用于初始化运算模块中配置寄存器的延时。
可选地,所述微处理器还包括看门狗模块,所述看门狗模块与所述运算模块通讯连接;
所述看门狗模块用于判断在预定周期内是否收到喂狗数据;
当看门狗模块在预定的周期内未收到喂狗数据时,看门狗模块向所述运算模块发送复位信号。
可选地,所述微处理器具有应用程序接口API,所述应用程序接口API响应目标模块的调用指令将待发送信息中的时间增加1秒后发送至目标模块。
在本发明提供的技术方案中,在接收到连续的P码时,表明当前时间码到来,此时,开始进行解码并打包待发送信息,待发送信息为解码出的时间信息。在下一次接收到连续的P码时,下一秒的时间码到来,此时,在第二个P码的上升沿开始向外发送,由于为解码和打包的工作预留了时间,能够确保微处理器具有充足的时间进行解码。同时,由于当前时间码的到来时间和发送时间之间刚好为1秒的时间差,因此,在对时过程中,打包的数据中的时间信息进行1 秒时间差的补偿即可实现精确对时。
附图说明
图1为本发明一实施例基于IRIG-B码的对时方法的流程图;
图2为本发明另一实施例基于IRIG-B码的对时方法中的码元波形示意图;
图3为本发明另一实施例基于IRIG-B码的对时方法中,时间码、对时脉冲信号以及GPO输出信号的时序图;
图4为本发明另一实施例基于IRIG-B码的对时方法中,时间码、对时脉冲信号以及时间报文的输出信号的时序图;
图5为本发明一实施例基于IRIG-B码的对时方法的解码流程图;
图6为本发明一实施例基于IRIG-B码的对时装置的示意图;
图7为本发明一实施例基于IRIG-B码的对时装置的微处理器示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于IRIG-B码的对时方法,如图1所示,包括:
接收时钟服务器发送的时间码,并持续对所述时间码进行采样;在一些实施例中,IRIG-B码传输的一段时间信息,规定周期为1S,共10帧数据,每帧数据有10个码元,每个码元周期为10mS,因此一段时间信息共100个码元;如图2所示,B码仅有3种码元:P码、1码、0码,在10mS周期内分别规定脉冲宽度为8mS、5mS、2mS。
判断所述时间码的码元类型,在一些实施例中,由于不同的码元中的脉冲宽度不同,因此,可以通过采样获取码元的脉冲宽度,依据码元宽度来判断码元的类型。
当接收到连续的两个P码时,在第二个P码的上升沿开始对所述时间码进行解码并打包为待发送信息;在一些实施例中,在每一秒时间码的发送起始,会发送连续两个P码作为标识,其中,第一个P码为P0码,第二个P码为Pr 码。在解码过程中,每当程序接收到0码或者1码,就要进入单元解码子函数。单元解码子函数主要是根据,依据当前码位置变量byte_p、帧位置变量bit_p位置确定解码信息后,将解码信息对应的年月日时分秒的个位、十位数字存储到对应的串行时间报文发送缓存位置中,从而实现边解码边打包数据。
在下一次接收到连续的两个P码时,在第二个P码的上升沿将所述待发送信息向外发送并开始对下一次接收到连续的两个P码之后的时间码进行解码并打包为待发送信息。在一些实施例中,在下一次接收到连续的两个P码时,表明下一秒的时间到来,此时,开始向外发送待发送信息,待发送信息为串行时间报文,由于在下一次接收到连续的两个P码时,发送的为前一秒的串行时间报文,因此,可以在前一秒的串行时间报文的基础上补偿1秒的时间,即可得到精确的时间。
在本发明实施例提供的技术方案中,在接收到连续的P码时,表明当前时间码到来,此时,开始进行解码并打包待发送信息,待发送信息为解码出的时间信息。在下一次接收到连续的P码时,下一秒的时间码到来,此时,在第二个P码的上升沿开始向外发送,由于为解码和打包的工作预留了时间,能够确保微处理器具有充足的时间进行解码。同时,由于当前时间码的到来时间和发送时间之间刚好为1秒的时间差,因此,在对时过程中,打包的数据中的时间信息进行1秒时间差的补偿即可实现精确对时。
作为一种可选的实施方式,在下一次接收到连续的两个P码时,在第二个P 码的上升沿所述待发送信息向外发送包括:在第一个P码的下降沿,由通用输出接口GPO向外输出高电平,以使能开关器件依据时间码向外输出对时脉冲信号并在第二个P码的上升沿由串行接口向外输出待发送信息;在第二个P码的下降沿,由通用输出接口GPO向外输出低电平。在一些实施例中,GPO向外输出对时脉冲信号1PPS。在一些实施例中,仅依靠MCU本身程序判断,精度只能做到微秒级别,因此,本实施方式中以MCU的一个GPO作为一个开关器件的使能端,控制开关器件的通断(高电平将开关器件接通,低电平将开关器件断开)。如图3所示,当IRIG-B的对时基准——Pr码来临前,伴随P0码,利用这个编码特点,让MCU在P0码的下降沿将GPO拉高,使能开关器件接通,因此在GPO使能期间,开关器件的输出端1PPS信号就会随TTL电平的IRIG-B 信号的变化而变化,因此产生1Hz的对时脉冲;接着让MCU在Pr码的下降沿将GPO拉低,相当于截取了时间码的一段Pr码作为1PPS输出。这样做的好处是使1PPS信号的精度不再取决于MCU的软件工作频率,而是取决于外部的硬件——开关器件的开关速度,而外部开关器件可选用的范围就很广,价格低廉、简单的高速二极管、MOS管等分立器件或一个高速单门电路即可,精度均可达到纳秒级别。由于P0下降沿到Pr上升沿之间存在2mS的时间差,这对于MCU 操作GPO输出高电平,时间是完全足够的。如图4所示,在时间码的第一个开始对时Pr码的上升沿来临时,MCU开始边接收信息边解码,第1秒的时间信息在1秒的时间码大概占700mS,还剩下约300mS的信息是无用信息,也就是说接收完解码时间信息,MCU还有300mS——相当充裕的时间内时间信息进行汇总处理。等数据准备好后,MCU等待第2秒的开始对时标志Pr码来临的时刻,将上1秒的时间报文通过串口发出去,所以模块开始发串行时间报文时,与真实的时间是相差1秒的,再通过对时间报文信息进行补偿即可得到真实的时间。
在一些实施例中,如图5所示,判断所述时间码的当前码元类型包括:
周期性的采集通用输入接口GPI的电平状态,并记录前一周期电平状态和当前周期电平状态;在一些实施例中,MCU内核初始化阶段设置两个变量来判断GPI的电平状态变化——前一周期电平last_status、当前周期电平current_status 作为读取缓存。初始化阶段初始了一个GPI口做为IRIG-B(DC)信号的串行输入接口,然后不停地循环读取GPI处于高或低电平状态(程序中读取到高为1,低为0),读取最新状态更新到当前状态current_status,并与上一次读取状态 last_status进行比较判断是否GPI状态发生了变化,以此判断是否接收到了波形。判断后current_status更新给last_status。
判断当前周期电平相对于前一周期电平的状态变化;在一些实施例中,MCU 还设置了一个脉冲计数变量pulse_cnt作为判断接收到的一个10mS周期时间码的码元类型的依据。根据上述描述可知,B码总共有P码、1码、0码三种码元,它们的脉冲宽度分别是8mS、5mS、2mS,所以主程序中除了不停地循环读取 GPI平状态,还在不停地通过当前周期电平current_status、前一周期电平 last_status判断接收到的信号发生的变化类型——上升沿还是下降沿。
当前周期电平大于前一周期电平时,脉冲计数器开始依据采样周期逐次递增;在一些实施例中,如果是上升沿,脉冲计数pulse_cnt开始逐次递增1;
当前周期电平低于前一周期电平时,脉冲计数器停止计数,依据脉冲计数器的计数,判断当前的码元类型,并将脉冲计数器清零。在一些实施例中,如果是下降沿,就根据脉冲计数pulse_cnt判断当前接收到码元的类型,同时 pulse_cnt清零,进行新的一轮计数。
由于不同的码元脉冲宽度不同,因此,对不同的码元来说,脉冲计数 pulse_cnt也就不同,具有规律性。所以在程序开始前先不停地采集P码、1码、 0码,获取这3种码元的特征脉冲计数值,例如,P码特征脉冲计数值为 4000~3500,1码为2500~2000,0码为1500~1000。从而,可以快捷的判断码元类型。
作为一种可选的实施方式,对所述时间码进行解码包括:
当前码元类型为0码或者1码时,单元解码子函数查询帧位置变量和码位置变量;在一些实施例中,在捕捉到第1秒的“Pr”码时,将开始解码标志变量 started置为1,表示开始解码。同时还设置了P码位置变量byte_p、一帧10位数据位的指示变量bit_p,来标志当前解码的位置,以便MCU能够分清当前解码的信息是时分秒年月日中的哪一个。在不停的循环中,一位数据解码完后bit_p 自加1,一帧数据解码完后byte_p自加1,两者都是在加到9后,自动清零。
依据帧位置变量和码位置变量,将解码后的数据存储到对应的串行时间报文发送缓存地址中。在一些实施例中,每当程序接收到0码或者1码,就要进入单元解码子函数。单元解码子函数主要是根据,当前byte_p、bit_p位置确定解码信息后,将解码信息对应的年月日时分秒的个位、十位数字存储到对应的串行时间报文发送缓存位置中,从而实现边解码边打包数据。例如,若当前 byte_p=P1,bit_p=B1,即代表当前解码位置到了分个位的第1位。时间码编码按照二进制BCD码编码,而且发送顺序从低到高,所以解码是按照移位、取余运算,得出解码时间个位或十位的二进制数值,算式为:time|=1<<(bit_p%5)。
作为一种可选的实施方式,对所述时间码进行解码包括:
当对一位时间码解码完成时,将所述码位置变量加一;在一些实施例中,每次波形出现下降沿时,即可确认完成了一个码元的解码,可以对码位置变量加一。
当对一帧时间码解码完成时,将所述帧位置变量加一。在一些实施例中,由于每一帧数据的起始阶段都具有一个P码,因此,可以通过识别P码来实现帧位置变量加一。
在本实施方式中,通过对码元和帧位置的记录,避免了解码的错误,有利于对时间码的准确解码。
本发明实施例还提供一种基于IRIG-B码的对时装置,如图6所示,包括:
隔离模块,所述隔离模块的输入接口用于接收时钟服务器发送的时间码,所述隔离模块用于将所述输入信号和输出信号进行隔离;在一些实施例中,隔离模块接收GPS时钟服务器产生的IRIG-B(DC)信号,并以RS422、RS485或 TTL串口输出。若GPS时钟服务器以RS422或RS485输出,模块上的 RS422/RS485接口接收信号并进行电平转换,将接收的IRIG-B码变成TTL电平规范信号;若GPS时钟服务器以TTL接口输出,则不需要电平转换。电平转换芯片的型号可以为TP8485,例如采用国产品牌3PEAK。已转换成TTL电平的 IRIG-B码信号,经过隔离模块进行信号隔离,保证输入端与输出端互不干扰,隔离模块可以为数字隔离芯片,例如,数字隔离芯片使用的型号为Nsi8140,品牌为纳芯微。
微处理器,所述微处理器的输入接口与所述隔离模块的输出接口通讯连接;所述微处理器具有输出解码后的时间信息的串行接口和输出开关使能信号的使能输出接口;所述微处理器用于依据上述任意一项所述的基于IRIG-B码的对时方法对所述运功格式信号进行解码并打包形成待发送信息和生成使能信号;在一些实施例中,MCU在P0码的下降沿将GPO拉高,使能开关器件接通,因此在GPO使能期间,开关器件的输出端1PPS信号就会随TTL电平的IRIG-B信号的变化而变化,因此产生1Hz的对时脉冲;接着让MCU在Pr码的下降沿将GPO拉低,相当于截取了时间码信号的一段Pr码作为1PPS输出。这样做的好处是使1PPS信号的精度不再取决于MCU的软件工作频率,而是取决于外部的硬件——开关器件的开关速度,而外部开关器件可选用的范围就很广,价格低廉、简单的高速二极管、MOS管等分立器件或一个高速单门电路即可,精度均可达到纳秒级别。P0下降沿到Pr上升沿存在2mS,这对于MCU操作GPO输出高电平,时间是完全足够的。在解码策略上,在B码的第一个开始对时Pr码的上升沿来临时,MCU开始边接收信息边解码,第1秒的时间信息在1秒的时间码概占700mS,还剩下约300mS的信息是无用信息,也就是说接收完解码时间信息,MCU还有300mS——相当充裕的时间内时间信息进行汇总处理。等数据准备好后,MCU等待第2秒的开始对时标志来临的时刻,将上1秒的时间报文通过串口发出去,所以模块开始发串行时间报文时,与真实的时间是相差1 秒的,这时就要利用上层的API函数对时间报文进行加1秒的补偿,即可得到真实的时间。
开关模块,所述开关模块的输入接口与所述隔离模块的输出接口通讯连接,所述开关模块的使能输入接口与所述微处理器的使能输出接口通讯连接,所述开关模块用于依据预定格式信号和使能信号输出对时脉冲信号。在一些实施例中,MCU在P0码的下降沿将GPO拉高,使能开关器件接通,因此在GPO使能期间,开关器件的输出端1PPS信号就会随TTL电平的IRIG-B信号的变化而变化,因此产生1Hz的对时脉冲;接着让MCU在Pr码的下降沿将GPO拉低,相当于截取了时间码信号的一段Pr码作为1PPS输出。从而,使目标模块能够精准的进行对时。
在本发明实施例提供的技术方案中,在接收到连续的P码时,表明当前时间码到来,此时,开始进行解码并打包待发送信息,待发送信息为解码出的时间信息。在下一次接收到连续的P码时,下一秒的时间码到来,此时,在第二个P码的上升沿开始向外发送,由于为解码和打包的工作预留了时间,能够确保微处理器具有充足的时间进行解码。同时,由于当前时间码的到来时间和发送时间之间刚好为1秒的时间差,因此,在对时过程中,打包的数据中的时间信息进行1秒时间差的补偿即可实现精确对时。
作为一种可选的实施方式,如图7所示,所述微处理器包括:
第一缓存模块,与通用输入接口GPI通讯连接,所述第一缓存模块用于周期性的读取所述通用输入接口GPI的电平,并缓存前一周期电平状态和当前周期电平状态;在一些实施例中,第一缓存模块用于对GPI进行采样,并缓存前一周期的电平状态和当前周期的电平状态,以便于运算模块读取并进行比较。
运算模块,与所述缓存模块和通用输出接口GPO通讯连接,所述运算模块用于从所述缓存芯片周期性的读取所述前一周期电平状态和当前周期电平状态,依据所述前一周期电平状态和当前周期状态对所述时间码进行解码并打包形成待发送信息,以及生成使能开关使能信号;
第二缓存模块,与所述运算模块通讯连接,所述第二缓存模块用于接收并存储所述待发送信息;在一些实施例中,第二缓存模块用于对解码出的待发送信息,待发送信息为串行时间报文。
直接访问存储器,与所述第二缓存模块通和串行接口讯连接,所述直接访问存储器用于从所述第二缓存模块接收所述待发送信息,并依据所述运算模块发出的输出指令驱动串行接口向外输出待发送信息。在一些实施例中,直接访问存储器DMA与串行接口UART1配合,DMA配置好后,是可以脱离MCU,独立驱动串口发送信息。在预定的周期发送信号给DMA,串口UART1就可以在DMA的驱动下发送信息,不用MCU直接驱动串口。因此串口发送信息的动作就不占用MCU运行资源,保证MCU读取B码状态的实时性。
作为一种可选的实施方式,所述微处理器还包括滴答计时器,所述滴答计时器与所述运算模块通讯连接,所述滴答计时器用于用于初始化运算模块中配置寄存器的延时。
作为一种可选的实施方式,所述微处理器还包括看门狗模块,所述看门狗模块与所述运算模块通讯连接;
所述看门狗模块用于判断在预定周期内是否收到喂狗数据;
当看门狗模块在预定的周期内未收到喂狗数据时,看门狗模块向所述运算模块发送复位信号。
在本实施方式中个,开启看门狗,提高程序运行的可靠性。看门狗的特性就是若一定时间内程序没有做“喂狗”的操作,看门狗就会强制MCU复位,程序重新来过,万一程序跑飞,MCU可以靠看门狗自动恢复程序运行。
作为一种可选的实施方式,所述微处理器具有应用程序接口API,所述应用程序接口API响应目标模块的调用指令将待发送信息中的时间增加1秒后发送至目标模块。API接口函数是MCU底层与上层软件通信的桥梁,通常上层用户都是通过调用API函数,完成上层软件的开发,故在API函数根据MCU发过来的串行时间报文,对报文进行“+1”秒的补偿,还原真实时间。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于IRIG-B码的对时方法,其特征在于,包括:
接收时钟服务器发送的时间码,并持续对所述时间码进行采样;
判断所述时间码的码元类型,
当接收到连续的两个P码时,在第二个P码的上升沿开始对所述时间码进行解码并打包为待发送信息;
在下一次接收到连续的两个P码时,在第二个P码的上升沿将所述待发送信息向外发送并开始对下一次接收到连续的两个P码之后的时间码进行解码并打包为待发送信息。
2.根据权利要求1所述的方法,其特征在于,在下一次接收到连续的两个P码时,在第二个P码的上升沿将所述待发送信息向外发送包括:
在第一个P码的下降沿,由通用输出接口GPO向外输出高电平,以使能开关器件依据时间码向外输出对时脉冲信号并在第二个P码的上升沿由串行接口向外输出待发送信息;在第二个P码的下降沿,由通用输出接口GPO向外输出低电平。
3.根据权利要求1所述的方法,其特征在于,判断所述时间码的当前码元类型包括:
周期性的采集通用输入接口GPI的电平状态,并记录前一周期电平状态和当前周期电平状态;
判断当前周期电平相对于前一周期电平的状态变化;
当前周期电平大于前一周期电平时,脉冲计数器开始依据采样周期逐次递增;
当前周期电平低于前一周期电平时,脉冲计数器停止计数,依据脉冲计数器的计数,判断当前的码元类型,并将脉冲计数器清零。
4.根据权利要求1所述的方法,其特征在于,对所述时间码进行解码包括:
当前码元类型为0码或者1码时,单元解码子函数查询帧位置变量和码位置变量;
依据帧位置变量和码位置变量,将解码后的数据存储到对应的串行时间报文发送缓存地址中。
5.根据权利要求1所述的方法,其特征在于,对所述时间码进行解码包括:
当对一位时间码解码完成时,将所述码位置变量加一;
当对一帧时间码解码完成时,将所述帧位置变量加一。
6.一种基于IRIG-B码的对时装置,其特征在于,包括:
隔离模块,所述隔离模块的输入接口用于接收时钟服务器发送的时间码,所述隔离模块用于将所述输入信号和输出信号进行隔离;
微处理器,所述微处理器的输入接口与所述隔离模块的输出接口通讯连接;所述微处理器具有输出解码后的时间信息的串行接口和输出开关使能信号的使能输出接口;所述微处理器用于依据上述任意一项所述的基于IRIG-B码的对时方法对所述运功格式信号进行解码并打包形成待发送信息和生成使能信号;
开关模块,所述开关模块的输入接口与所述隔离模块的输出接口通讯连接,所述开关模块的使能输入接口与所述微处理器的使能输出接口通讯连接,所述开关模块用于依据预定格式信号和使能信号输出对时脉冲信号。
7.根据权利要求6所述的装置,其特征在于,所述微处理器包括:
第一缓存模块,与通用输入接口GPI通讯连接,所述第一缓存模块用于周期性的读取所述通用输入接口GPI的电平,并缓存前一周期电平状态和当前周期电平状态;
运算模块,与所述缓存模块和通用输出接口GPO通讯连接,所述运算模块用于从所述缓存芯片周期性的读取所述前一周期电平状态和当前周期电平状态,依据所述前一周期电平状态和当前周期状态对所述时间码进行解码并打包形成待发送信息,以及生成使能开关使能信号;
第二缓存模块,与所述运算模块通讯连接,所述第二缓存模块用于接收并存储所述待发送信息;
直接访问存储器,与所述第二缓存模块通和串行接口讯连接,所述直接访问存储器用于从所述第二缓存模块接收所述待发送信息,并依据所述运算模块发出的输出指令驱动串行接口向外输出待发送信息。
8.根据权利要求7所述的装置,其特征在于,所述微处理器还包括滴答计时器,所述滴答计时器与所述运算模块通讯连接,所述滴答计时器用于用于初始化运算模块中配置寄存器的延时。
9.根据权利要求7所述的装置,其特征在于,所述微处理器还包括看门狗模块,所述看门狗模块与所述运算模块通讯连接;
所述看门狗模块用于判断在预定周期内是否收到喂狗数据;
当看门狗模块在预定的周期内未收到喂狗数据时,看门狗模块向所述运算模块发送复位信号。
10.根据权利要求7所述的装置,其特征在于,所述微处理器具有应用程序接口API,所述应用程序接口API响应目标模块的调用指令将待发送信息中的时间增加1秒后发送至目标模块。
CN202111681132.1A 2021-12-30 2021-12-30 基于irig-b码的对时方法及装置 Pending CN114415780A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111681132.1A CN114415780A (zh) 2021-12-30 2021-12-30 基于irig-b码的对时方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111681132.1A CN114415780A (zh) 2021-12-30 2021-12-30 基于irig-b码的对时方法及装置

Publications (1)

Publication Number Publication Date
CN114415780A true CN114415780A (zh) 2022-04-29

Family

ID=81270946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111681132.1A Pending CN114415780A (zh) 2021-12-30 2021-12-30 基于irig-b码的对时方法及装置

Country Status (1)

Country Link
CN (1) CN114415780A (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251755A (zh) * 2008-03-18 2008-08-27 四方电气(集团)有限公司 单片机系统接收irig-b码对时信号的实现方法
CN102882626A (zh) * 2012-10-24 2013-01-16 南京澳德思电气有限公司 融合b码解码技术的ieee1588智能电网时间传输方法与装置
CN103427842A (zh) * 2013-08-07 2013-12-04 上海交通大学 高精度时间传递编码与解码方法及其编码与解码装置
CN104639309A (zh) * 2014-12-31 2015-05-20 南京大全自动化科技有限公司 一种基于irig-b延时自动补偿的方法及其系统
CN104991440A (zh) * 2015-07-14 2015-10-21 中北大学 高精度irig-b(ac)码解调方法及装置
CN105553600A (zh) * 2016-01-28 2016-05-04 安徽四创电子股份有限公司 一种irig-b直流码编解码装置及其编解码方法
CN205490576U (zh) * 2016-01-28 2016-08-17 安徽四创电子股份有限公司 一种irig-b直流码编解码装置
CN109687928A (zh) * 2018-11-22 2019-04-26 南京熊猫电子股份有限公司 一种基于fpga的irig-b型码(dc)授时实现系统及方法
CN110224702A (zh) * 2019-05-24 2019-09-10 北斗天汇(北京)科技有限公司 时间码irig-b自适应解码装置及解码方法
CN110445572A (zh) * 2019-08-19 2019-11-12 烟台持久钟表有限公司 一种irig-b码的解码设备及方法
CN112671491A (zh) * 2020-12-10 2021-04-16 成都引众数字设备有限公司 一种直流b码传输延时补偿方法及装置
CN113515184A (zh) * 2021-07-01 2021-10-19 北京华电众信技术股份有限公司 降低成本型b码解码对时方法
CN117200755A (zh) * 2023-07-24 2023-12-08 北京前锋科技有限公司 一种irig-b直流时钟码的解码方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251755A (zh) * 2008-03-18 2008-08-27 四方电气(集团)有限公司 单片机系统接收irig-b码对时信号的实现方法
CN102882626A (zh) * 2012-10-24 2013-01-16 南京澳德思电气有限公司 融合b码解码技术的ieee1588智能电网时间传输方法与装置
CN103427842A (zh) * 2013-08-07 2013-12-04 上海交通大学 高精度时间传递编码与解码方法及其编码与解码装置
CN104639309A (zh) * 2014-12-31 2015-05-20 南京大全自动化科技有限公司 一种基于irig-b延时自动补偿的方法及其系统
CN104991440A (zh) * 2015-07-14 2015-10-21 中北大学 高精度irig-b(ac)码解调方法及装置
CN105553600A (zh) * 2016-01-28 2016-05-04 安徽四创电子股份有限公司 一种irig-b直流码编解码装置及其编解码方法
CN205490576U (zh) * 2016-01-28 2016-08-17 安徽四创电子股份有限公司 一种irig-b直流码编解码装置
CN109687928A (zh) * 2018-11-22 2019-04-26 南京熊猫电子股份有限公司 一种基于fpga的irig-b型码(dc)授时实现系统及方法
CN110224702A (zh) * 2019-05-24 2019-09-10 北斗天汇(北京)科技有限公司 时间码irig-b自适应解码装置及解码方法
CN110445572A (zh) * 2019-08-19 2019-11-12 烟台持久钟表有限公司 一种irig-b码的解码设备及方法
CN112671491A (zh) * 2020-12-10 2021-04-16 成都引众数字设备有限公司 一种直流b码传输延时补偿方法及装置
CN113515184A (zh) * 2021-07-01 2021-10-19 北京华电众信技术股份有限公司 降低成本型b码解码对时方法
CN117200755A (zh) * 2023-07-24 2023-12-08 北京前锋科技有限公司 一种irig-b直流时钟码的解码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王红;: "IRIG-B格式时间码解码装置的设计", 科技传播, no. 04, 23 February 2014 (2014-02-23), pages 201 - 202 *

Similar Documents

Publication Publication Date Title
CN101738931B (zh) 一种irig-b码的对时装置及其对时方法
CN105119907A (zh) 一种基于FPGA的BiSS-C通信协议方法
EP3675398A1 (en) Check code processing method, electronic device, and storage medium
CN102023565B (zh) 一种输出时间信息的装置及方法
US20090103570A1 (en) Time Synchronization in Serial Communications
CN109120067B (zh) 一种事件顺序记录上报方法、装置、设备及可读存储介质
CN109085615A (zh) 一种bpc北斗多模授时方法及系统
CN101951300B (zh) 一种实现以太网精确对时的方法
CN111245567B (zh) 一种对irig-b(dc)码的解码和编码系统及方法
CN109753368B (zh) 一种实时数据发送方法及系统
CN103152136A (zh) 一种使用可编程逻辑器件实时接收多路iec61850-9-2采样值的方法
CN114415780A (zh) 基于irig-b码的对时方法及装置
CN112099339B (zh) Utc数据接收器及计时器
CN113960413A (zh) 故障指示器中汇集单元和采集单元的时间同步方法
CN210776231U (zh) 一种多时标源时统电路板
CN117277584A (zh) 融合电气量与时钟信息的多端电气量保护同步方法与系统
CN201674483U (zh) 一种irig_b码解码接口电路
CN111193514A (zh) 一种高同步精度irig-b编码器
CN114928425A (zh) 终端设备对时同步系统、方法、设备及存储介质
KR20220011720A (ko) 차분 수정 데이터 패킷의 송신과 수신 방법, 시스템 및 장치
WO2021249283A1 (zh) 时间同步方法、电子设备、服务器及存储介质
CN111142359B (zh) 一种通过通讯实现电力二次设备对时的方法
CN203180892U (zh) 一种基于卫星同步时钟信号的dcf77码发生装置
CN115225192A (zh) 一种irig-b型码解码系统
CN109839816B (zh) 一种本地时间的校时方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination