著录项信息
专利名称 | 精确时间协议时钟转换为IRIG-B码的方法和装置 |
申请号 | CN201110184312.9 | 申请日期 | 2011-06-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-11-23 | 公开/公告号 | CN102255682A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;J;3;/;0;6查看分类表>
|
申请人 | 北京东土科技股份有限公司 | 申请人地址 | 北京市石景山区实兴东街18号崇新创意大厦2层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京东土科技股份有限公司 | 当前权利人 | 北京东土科技股份有限公司 |
发明人 | 黄剑超 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
精确时间协议时钟转换为IRIG-B码的方法和装置,包括IEEE1588同步模块、时间接口模块、基础时钟模块、IRIG-B编码模块和波形产生模块;在保持IEEE155协议报文与主时钟同步后,IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息并输给所述的时间接口模块;IEEE1588同步模块产生的1PPS信号上升沿触发IRIG-B编码模块,转换由IRIG-B码元组成的串行码;然后IEEE1588同步模块接收一个中断信号,更新所述的BCD格式的年月日时分秒时间信息;波形生成模块接收由IRIG-B码元组成的串行码,转换成相应的波形输出。
1.精确时间协议时钟转换为IRIG-B码的方法,其特征在于:
A、在保持IEEE1588协议报文与主时钟同步后,IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息,输给时间接口模块;
B、在所述的换算为BCD格式的年月日时分秒信息过程中的秒时间信息生成时所述的IEEE1588同步模块产生1PPS信号,所述的1PPS信号的上升沿触发IRIG-B编码模块,所述IRIG-B编码模块实现将BCD码格式保存的年月日时分秒时间信息转换成由IRIG-B码元组成的串行码;
C、所述的时间接口模块产生一个中断信号发送给所述IEEE1588同步模块,所述IEEE1588同步模块更新所述的BCD格式的年月日时分秒时间信息;
D、波形生成模块接收所述的由IRIG-B码元组成的串行码后,转换成相应的波形输出;
所述的换算为BCD格式的年月日时分秒时间信息的过程包括以1970年1月1日0时
0分0秒为起点,计算出所述由二进制格式的秒信息组成的UTC时间对应的年月日时分秒时间信息,并以BCD码的格式通过8位异步并行总线写入所述的时间接口模块进行存储,所述的年月日时分秒时间信息包括秒时间信息(sec)、分时间信息(min)、时时间信息(hour)、天时间信息(day)和年时间信息(year);
所述IRIG-B编码模块实现将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码的过程包括:
所述的IRIG-B编码模块以10MHz的工作时钟不断地检测所述的1PPS信号;
当检测到所述的1PPS信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在所述时间接口模块中的BCD格式的年月日时分秒时间信息,然后启动计数器计数;
所述的计数器从0开始计数,最大计数值到99,计数值每次加1;
所述的计数器每次加1以后,判断与计数值对应的B码位输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出;如果是位置信息位,则输出P码元。
2.根据权利要求1所述的方法,其特征在于:所述的BCD格式的年月日时分秒时间信息是由0和1组成的BCD码格式的数据,所述的0对应为0码元,所述的1对应为1码元。
3.根据权利要求1所述的方法,其特征在于:所述的波形生成模块以1KHz的工作时钟输出将IRIG-B码元转换成相应的波形。
4.利用上述任一权利要求所述的方法实现精确时间协议时钟转换为IRIG-B码的装置,其特征在于:所述装置包括IEEE1588同步模块、时间接口模块、基础时钟模块、IRIG-B编码模块和波形产生模块;在保持IEEE155协议报文与主时钟同步后,所述的IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息,输给所述的时间接口模块;在秒时间信息生成时所述的IEEE1588同步模块产生
1PPS信号,所述的1PPS信号的上升沿触发IRIG-B编码模块,所述IRIG-B编码模块实现将BCD码格式保存的年月日时分秒时间信息转换成由IRIG-B码元组成的串行码;然后所述的时间接口模块产生一个中断信号发送给所述IEEE1588同步模块,所述IEEE1588同步模块更新所述的BCD格式的年月日时分秒时间信息;波形生成模块接收所述的由IRIG-B码元组成的串行码后,转换成相应的波形输出;基础时钟模块用于提供所述装置内部逻辑所需要的工作时钟10MHz、1KHz和100Hz;
在换算为BCD格式的年月日时分秒时间信息时,所述的IEEE1588同步模块以1970年
1月1日0时0分0秒为起点,计算出所述由二进制格式的秒信息组成的UTC时间对应的年月日时分秒时间信息,并以BCD码的格式通过8位异步并行总线写入所述的时间接口模块进行存储,所述的年月日时分秒时间信息包括秒时间信息(sec)、分时间信息(min)、时时间信息(hour)、天时间信息(day)和年时间信息(year);
在所述IRIG-B编码模块实现将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码时,所述的IRIG-B编码模块以10MHz的工作时钟不断地检测所述的1PPS信号;
当检测到所述的1PPS信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在所述时间接口模块中的BCD格式的年月日时分秒时间信息,然后启动计数器计数;
所述的计数器从0开始计数,最大计数值到99,计数值每次加1;
所述的计数器每次加1以后,判断与计数值对应的B码位输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出;如果是位置信息位,则输出P码元。
5.根据权利要求4所述的装置,其特征在于:所述的BCD格式的年月日时分秒时间信息是由0和1组成的BCD码格式的数据,其中0对应为0码元,1对应为1码元。
6.根据权利要求4所述的装置,其特征在于:所述的波形生成模块以1KHz的工作时钟输出将B码码元转换成相应的波形。
精确时间协议时钟转换为IRIG-B码的方法和装置\n技术领域\n[0001] 本发明涉及一种精确时间协议时钟转换为IRIG-B码的方法和装置。\n[0002] 背景技术\n[0003] 在工业控制领域,时间同步技术起着非常重要的作用,尤其是在运动控制、保护和故障记录等领域,时间和同步的精度直接影响着控制、保护的效果和最后的分析。IRIG-B码作为一种国际通用的时间同步技术,广泛地应用于工业控制领域,尤其是电力系统的时间传送和同步系统中。\n[0004] IRIG-B码有交流(AC)码和直流(DC)码两种,AC码是利用DC码对正弦波进行调制,以达到较远距离传送的目的。IRIG-B码是一种串行脉宽编码,每秒发送一帧,一帧包含\n100个码元,每个码元宽度为10ms。码元有三种形式,以不同的占空比区分:P码元,作为位置标识,宽度为8ms;逻辑“1”码元,宽度为5ms;逻辑“0”码元,宽度为2ms。如图1.[0005] IRIG-B码输出的格式如图2所示\n[0006] 在原有系统中IRIG-B码作为时间同步系统,其主时钟源来自于GPS信号,但随着以太网逐步进入工业控制领域后,IEEE1588也即精密时间协议,作为一种可以在以太网上同步传送的时间同步技术也引入到工业控制领域。由于其同步高精度,不需要增加额外的硬件设备,避免了象GPS天线一样的安装和防护问题,极大地节约成本,在工业控制领域中IEEE1588正在成为时钟同步技术发展的趋势。在原有系统和一些仍需要使用IRIG-B同步的系统中,也正在逐步地替代GPS时钟作为时钟源使用,因此,就需要一种方法将IEEE1588时钟转换为IRIG-B码格式的时钟,以满足工业控制领域的时间同步需求。\n[0007] 发明内容\n[0008] 为了解决上述技术问题,现提出一种将精确时间协议时钟转换成IRIG-B码格式时钟的方法和装置。\n[0009] 一种精确时间协议时钟转换为IRIG-B码的方法,包括:\n[0010] A、在通过IEEE1588协议报文与主时钟同步后,IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息,输给时间接口模块;\n[0011] B、在所述的换算为BCD格式的年月日时分秒信息过程中的秒时间信息生成时所述的IEEE1588同步模块产生1PPS信号,所述的1PPS信号的上升沿触发IRIG-B编码模块,所述IRIG-B编码模块将BCD码格式保存的年月日时分秒时间信息转换成由IRIG-B码元组成的串行码;\n[0012] C、所述的时间接口模块产生一个中断信号发送给所述IEEE1588同步模块,所述IEEE1588同步模块更新所述的BCD格式的年月日时分秒时间信息;\n[0013] D、波形生成模块接收所述的由IRIG-B码元组成的串行码后,转换成相应的波形输出。\n[0014] 所述的换算为BCD格式的年月日时分秒时间信息的过程包括以1970年1月1日\n0时0分0秒为起点,计算出所述由二进制格式的秒信息组成的UTC时间对应的年月日时分秒时间信息,并以BCD码的格式通过8位异步并行总线写入所述的时间接口模块进行存储,所述的年月日时分秒时间信息包括秒时间信息(sec)、分时间信息(min)、时时间信息(hour)、天时间信息(day)和年时间信息(year)。\n[0015] 所述IRIG-B编码模块将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码的过程包括:\n[0016] 所述的IRIG-B编码模块以10MHz的工作时钟不断地检测所述的1PPS信号;\n[0017] 当检测到所述的1PPS信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在所述时间接口模块中的BCD格式的年月日时分秒时间信息,然后启动计数器计数;\n[0018] 所述的计数器从0开始计数,最大计数值到99,计数值每次加1;\n[0019] 所述的计数器每次加1以后,判断与计数值对应的B码位输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出;如果是位置信息位,则输出P码元。\n[0020] 所述的BCD格式的年月日时分秒时间信息是由0和1组成的BCD码格式的数据,其中0对应为逻辑0码元,1对应为逻辑1码元。\n[0021] 所述的波形生成模块以1KHz的工作时钟将IRIG-B码元转换成相应的波形。\n[0022] 精确时间协议时钟转换为IRIG-B码的装置包括IEEE1588同步模块、时间接口模块、基础时钟模块、IRIG-B编码模块和波形产生模块;在保持IEEE155协议报文与主时钟同步后,所述的IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息,输给所述的时间接口模块;在秒时间信息生成时所述的IEEE1588同步模块产生1PPS信号,所述的1PPS信号的上升沿触发IRIG-B编码模块,所述IRIG-B编码模块将BCD码格式保存的年月日时分秒时间信息转换成由IRIG-B码元组成的串行码;然后所述的时间接口模块产生一个中断信号发送给所述IEEE1588同步模块,所述IEEE1588同步 模块更新所述的BCD格式的年月日时分秒时间信息;波形生成模块接收所述的由IRIG-B码元组成的串行码后,转换成相应的波形输出;基础时钟模块用于提供所述装置内部逻辑所需要的工作时钟10MHz、1KHz和100Hz。如图3。\n[0023] 在换算为BCD格式的年月日时分秒时间信息时,所述的IEEE1588同步模块以1970年1月1日0时0分0秒为起点,计算出所述由二进制格式的秒信息组成的UTC时间对应的年月日时分秒时间信息,并以BCD码的格式通过8位异步并行总线写入所述的时间接口模块进行存储,所述的年月日时分秒时间信息包括秒时间信息(sec)、分时间信息(min)、时时间信息(hour)、天时间信息(day)和年时间信息(year)。\n[0024] 在所述IRIG-B编码模块将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码时,所述的IRIG-B编码模块以10MHz的工作时钟不断地检测所述的1PPS信号;\n[0025] 当检测到所述的1PPS信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在所述时间接口模块中的BCD格式的年月日时分秒时间信息,然后启动计数器计数;\n[0026] 所述的计数器从0开始计数,最大计数值到99,计数值每次加1;\n[0027] 所述的计数器每次加1以后,判断与计数值对应的B码位输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出;如果是位置信息位,则输出P码元。\n[0028] 所述的BCD格式的年月日时分秒时间信息是由0和1组成的BCD码格式的数据,其中0对应为逻辑0码元,1对应为逻辑1码元。\n[0029] 所述的波形生成模块以1KHz的工作时钟将B码码元转换成相应的波形。\n[0030] 本方法的实现包括IEEE1588同步模块、基础时钟模块、时间接口模块、B码编码模块,波形产生模块。如图3\n[0031] IEEE1588同步模块用于根据IEEE1588协议报文保持和主时钟同步,同时提供整个时钟转换功能所需要的时钟信息和秒同步信号。其原理是通过和主时钟的报文交互,获得收发报文精确的发送和接收时间,然后根据这些时间算出本地时钟的偏差和线路延迟,从而保持和主时钟的同步。\n[0032] 在系统通过IEEE1588协议和主时钟同步以后,会得到UTC(Coordinated Universal Time)时间,也即时间调整时间,为二进制格式的秒信息,需要换算为BCD格式的年月日时分秒时间信息,换算的方法是以1970年1月1日0时0分0秒为起点,计算出当前得到的秒信息所对应的年月日时分秒信息,并以BCD码的格式通过8位异步并行总线写入时间接口模块进行存储,包括秒时间信息sec,分时间信息min,时时间信息hour,天时间信息day,年时间信 息year。\n[0033] 同时,在秒时刻会产生一个秒同步信号,即1PPS信号。这是一个脉冲信号,其上升沿为同步时刻。\n[0034] 秒同步信号的上升沿将触发IRIG-B编码模块的功能。IRIG-B编码模块以10MHz的工作时钟不断的检测秒同步信号,当检测到秒同步信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在时间接口模块中的时间信息,然后启动计数器计数。计数器从0开始计数,最大计数值到99,计数值每次加1。计数器每次加1以后,判断与计数值对应的B码位应该输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出。时间信息是由0和1组成的BCD码格式的数据,其中0对应为逻辑0码元,1对应为逻辑1码元,如果是位置信息位,则输出P码元,从而实现将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码。在时间接口模块取出时间信息后,产生一个中断信号通知IEEE1588同步模块更新时间信息。\n[0035] 其流程如图4。\n[0036] 波形生成模块接收到由IRIG-B码元组成的串行码后,转换成相应的波形输出。波形生成模块以1KHz的工作时钟进行输出,1个时钟周期为1ms。IRIG-B码一个码元周期为固定的10ms,具体转换方式如下表1:\n[0037] 表1转换方式表\n[0038] \n IRIG-B码元 输出波形\n P码元 8个时钟周期的高电平,2个时钟周期的低电平\n 逻辑1码元 5个时钟周期的高电平,5个时钟周期的低电平\n 逻辑0码元 2个时钟周期的高电平,8个时钟周期的低电平\n[0039] 基础时钟模块则用于提供内部逻辑所需要的工作时钟10MHz、1KHz和100Hz,这些时钟信号从外部提供的25MHz时钟分频产生。\n[0040] 本发明涉及将精确时间协议时钟转换为IRIG-B码的方法和装置,所述装置包括IEEE1588同步模块、时间接口模块、基础时钟模块、IRIG-B编码模块和波形产生模块;所述方法在通过IEEE155协议报文与主时钟同步后,实现将精确时间协议时钟转换为IRIG-B码并输出相应的波形输出。由于在工业控制领域的原有系统仍需要使用IRIG-B格式时钟,本发明提供的IEEE1588时钟转换为IRIG-B码格式的时钟的方法和装置解决了在逐步替代GPS时钟作为时钟源使用过程中碰到的仍需要使用IRIG-B格式时钟的问题,因此本发明满足了工业控制领域的时间同步需求。\n附图说明\n[0041] 图1为IRIG-B码三种码元示意图\n[0042] 图2为IRIG-B码输出的格式示意图\n[0043] 图3为IEEE1588时钟转换为IRIG-B码的装置示意图\n[0044] 图4为IEEE1588时钟转换为IRIG-B码的流程图\n[0045] 图5为实施例的结构示意图\n[0046] 图6为IEEE1588时钟转换为IRIG-B码的部分装置示意图\n具体实施方式\n[0047] 一种精确时间协议时钟转换为IRIG-B码的方法,包括:\n[0048] A、在通过IEEE1588协议报文与主时钟同步后,IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息,输给时间接口模块;\n[0049] B、在所述的换算为BCD格式的年月日时分秒信息过程中的秒时间信息生成时所述的IEEE1588同步模块产生1PPS信号,所述的1PPS信号的上升沿触发IRIG-B编码模块,所述IRIG-B编码模块将BCD码格式保存的年月日时分秒时间信息转换成由IRIG-B码元组成的串行码;\n[0050] C、所述的时间接口模块产生一个中断信号发送给所述IEEE1588同步模块,所述IEEE1588同步模块更新所述的BCD格式的年月日时分秒时间信息;\n[0051] D、波形生成模块接收所述的由IRIG-B码元组成的串行码后,转换成相应的波形输出。\n[0052] 所述的换算为BCD格式的年月日时分秒时间信息的过程包括以1970年1月1日\n0时0分0秒为起点,计算出所述由二进制格式的秒信息组成的UTC时间对应的年月日时分秒时间信息,并以BCD码的格式通过8位异步并行总线写入所述的时间接口模块进行存储,所述的年月日时分秒时间信息包括秒时间信息(sec)、分时间信息(min)、时时间信息(hour)、天时间信息(day)和年时间信息(year)。\n[0053] 所述IRIG-B编码模块将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码的过程包括:\n[0054] 所述的IRIG-B编码模块以10MHz的工作时钟不断地检测所述的1PPS信号;\n[0055] 当检测到所述的1PPS信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在所述时间接口模块中的BCD格式的年月日时分秒时间信息,然后启动计数器计数;\n[0056] 所述的计数器从0开始计数,最大计数值到99,计数值每次加1;\n[0057] 所述的计数器每次加1以后,判断与计数值对应的B码位输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出;如果是位置信息位,则输出P码元。\n[0058] 所述的BCD格式的年月日时分秒时间信息是由0和1组成的BCD码格式的数据,其中0对应为逻辑0码元,1对应为逻辑1码元。\n[0059] 所述的波形生成模块以1KHz的工作时钟将IRIG-B码元转换成相应的波形。\n[0060] 精确时间协议时钟转换为IRIG-B码的装置包括IEEE1588同步模块、时间接口模块、基础时钟模块、IRIG-B编码模块和波形产生模块;在保持IEEE155协议报文与主时钟同步后,所述的IEEE1588同步模块获得由二进制格式的秒信息组成的UTC时间,然后换算为BCD格式的年月日时分秒时间信息,输给所述的时间接口模块;在秒时间信息生成时所述的IEEE1588同步模块产生1PPS信号,所述的1PPS信号的上升沿触发IRIG-B编码模块,所述IRIG-B编码模块将BCD码格式保存的年月日时分秒时间信息转换成由IRIG-B码元组成的串行码;然后所述的时间接口模块产生一个中断信号发送给所述IEEE1588同步模块,所述IEEE1588同步模块更新所述的BCD格式的年月日时分秒时间信息;波形生成模块接收所述的由IRIG-B码元组成的串行码后,转换成相应的波形输出;基础时钟模块用于提供所述装置内部逻辑所需要的工作时钟10MHz、1KHz和100Hz。如图3。\n[0061] 在换算为BCD格式的年月日时分秒时间信息时,所述的IEEE1588同步模块以1970年1月1日0时0分0秒为起点,计算出所述由二进制格式的秒信息组成的UTC时间对应的年月日时分秒时间信息,并以BCD码的格式通过8位异步并行总线写入所述的时间接口模块进行存储,所述的年月日时分秒时间信息包括秒时间信息(sec)、分时间信息(min)、时时间信息(hour)、天时间信息(day)和年时间信息(year)。\n[0062] 在所述IRIG-B编码模块将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码时,所述的IRIG-B编码模块以10MHz的工作时钟不断地检测所述的1PPS信号;\n[0063] 当检测到所述的1PPS信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在所述时间接口模块中的BCD格式的年月日时分秒时间信息,然后启动计数器计数;\n[0064] 所述的计数器从0开始计数,最大计数值到99,计数值每次加1;\n[0065] 所述的计数器每次加1以后,判断与计数值对应的B码位输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出;如果是位置信息位,则输出P码元。\n[0066] 所述的BCD格式的年月日时分秒时间信息是由0和1组成的BCD码格式的数据,其中0对应为逻辑0码元,1对应为逻辑1码元。\n[0067] 所述的波形生成模块以1KHz的工作时钟将B码码元转换成相应的波形。\n[0068] 本方法的实现包括IEEE1588同步模块、基础时钟模块、时间接口模块、B码编码模块,波形产生模块。如图3\n[0069] IEEE1588同步模块用于根据IEEE1588协议报文保持和主时钟同步,同时提供整个时钟转换功能所需要的时钟信息和秒同步信号。其原理是通过和主时钟的报文交互,获得收发报文精确的发送和接收时间,然后根据这些时间算出本地时钟的偏差和线路延迟,从而保持和主时钟的同步。\n[0070] 在系统通过IEEE1588协议和主时钟同步以后,会得到UTC(Coordinated Universal Time)时间,也即时间调整时间,为二进制格式的秒信息,需要换算为BCD格式的年月日时分秒时间信息,换算的方法是以1970年1月1日0时0分0秒为起点,计算出当前得到的秒信息所对应的年月日时分秒信息,并以BCD码的格式通过8位异步并行总线写入时间接口模块进行存储,包括秒时间信息sec,分时间信息min,时时间信息hour,天时间信息day,年时间信息year。\n[0071] 同时,在秒时刻会产生一个秒同步信号,即1PPS信号。这是一个脉冲信号,其上升沿为同步时刻。\n[0072] 秒同步信号的上升沿将触发IRIG-B编码模块的功能。IRIG-B编码模块以10MHz的工作时钟不断的检测秒同步信号,当检测到秒同步信号的上升沿的时候,立即在10MHz时钟的上升沿处产生高电平,输出一个P码元,同时获取存储在时间接口模块中的时间信息,然后启动计数器计数。计数器从0开始计数,最大计数值到99,计数值每次加1。计数器每次加1以后,判断与计数值对应的B码位应该输出时间信息位还是位置信息位,如果是时间信息位,则把对应的时间信息位转换为逻辑码元输出。时间信息是由0和1组成的BCD码格式的数据,其中0对应为逻辑0码元,1对应为逻辑1码元,如果是位置信息位,则输出P码元,从而实现将BCD码格式保存的时间信息转换成由IRIG-B码元组成的串行码。在时间接口模块取出时间信息后,产生一个中断信号通知IEEE1588同步模块更新时间信息。\n[0073] 其流程如图4。\n[0074] 波形生成模块接收到由IRIG-B码元组成的串行码后,转换成相应的波形输出。波形生成模块以1KHz的工作时钟进行输出,1个时钟周期为1ms。IRIG-B码一个码元周期为固定的10ms,具体转换方式如下表1:\n[0075] 表1转换方式表\n[0076] \n IRIG-B码元 输出波形\n P码元 8个时钟周期的高电平,2个时钟周期的低电平\n 逻辑1码元 5个时钟周期的高电平,5个时钟周期的低电平\n 逻辑0码元 2个时钟周期的高电平,8个时钟周期的低电平\n[0077] 基础时钟模块则用于提供内部逻辑所需要的工作时钟10MHz、1KHz和100Hz,这些时钟信号从外部提供的25MHz时钟分频产生。\n[0078] 在本方法的实施例中,采用微处理器加FPGA的方法来实现。下面结合附图5进行描述。\n[0079] 微处理器系统通过以太网数据接口和主时钟进行报文交互,并结合本地时钟获得收发报文精确的发送和接收时间,然后根据这些时间算出偏差和线路延迟。具体过程为:\nCPU系统从通过MII接口接收的协议报文中获取到报文的发送时间t1,再通过串行接口从以太网PHY中读取保存的接收时间t2;然后,再向主时钟发送协议报文并获取其发送时间t3(通过本地以太网PHY)和接收时间t4(通过协议报文),根据这几个时间就可以算出时间偏差和线路延迟,从而和主时钟同步。\n[0080] 微处理器系统完成IEEE1588时间同步后,将绝对时间信息(也即BCD格式的年月日时分秒时间信息)通过8位异步并行总线写入到FPGA内部的存储器中。写入时,按设定的地址依次写入秒、分、时、天、年信息,一次写入一个字节,时间信息为BCD码格式。同时,输出一个秒同步信号即1PPS到FPGA中,此信号的上升沿为精确的同步时刻。1PPS信号经过一个100ms的延迟后输出FPGA,作为微处理器系统的中断输入,通知微处理器系统写入下一个时间信息。如图6。\n[0081] 外部25MHz晶振提供FPGA工作的系统时钟,通过其内部的PLL实现分频,其中PLL(Phase Locked Loop)为锁相回路或锁相环,输出10MHz时钟用于IRIG-B编码模块检测1PPS信号用,输出100Hz时钟用于编码的参考时钟。输出1KHz时钟用于波形生成的参考时钟。\n[0082] IRIG-B编码模块是使用硬件描述语言Verilog在FPGA内部实现的功能模块,完成将BCD码格式的时间信息加上B码位置信息后形成由IRIG-B码元组成的串行码输出到波形产生模块。其实现逻辑如下:\n[0083] if(CLK10M上升沿=1),检测1PPS状态;\n[0084] if(1PPS上升沿=1),输出Scode<=P;\n[0085] 同时启动计数器计算CLK100上升沿;\n[0086] if(CLK100上升沿=1),判断应输出时间信息还是位置信息:\n[0087] case(IRIG-B码元位置号)\n[0088] 1:Scode<=秒低位对应码元;\n[0089] 4:Scode<=秒高位对应码元;\n[0090] 5:固定信息位,0码元;\n[0091] 6:Scode<=十秒低位对应码元;\n[0092] …\n[0093] 8:Scode<=十秒低位对应码元;\n[0094] 9:位置信息位,P码元;\n[0095] 依此类推,将分、时、天信息输出为串行码。\n[0096] 波形产生模块是使用硬件描述语言Verilog在FPGA内部实现的功能模块,完成将IRIG-B码元转换成相应的波形输出。其实现逻辑如下:\n[0097] case(Scode)\n[0098] P码元:B码输出<=1111111100;\n[0099] 0码元:B码输出<=1100000000;\n[0100] 1码元:B码输出<=1111100000;\n[0101] 在本实施例中,所有模块都设置在同一块单板上。\n[0102] 由以上描述的方案,本发明实现了将采用IEEE1588协议传送的同步时钟转换为IRIG-B方式的同步时钟。\n[0103] 经过系统测试,本实例可以正确地输出IRIG-B码DC码,输出中参考点Pr和微处理器系统提供的1PPS参考点的时间误差小于200ns,与绝对时间参考点之间的误差小于\n300ns,完全可以满足工业控制领域对时间同步的要求。\n[0104] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
法律信息
- 2014-09-24
- 2012-01-04
实质审查的生效
IPC(主分类): H04J 3/06
专利申请号: 201110184312.9
申请日: 2011.06.30
- 2011-11-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-12-21
|
2005-07-14
| | |
2
| | 暂无 |
2010-06-03
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |