[实战] IRIG-B协议详解及Verilog实现(完整代码)

IRIG-B(B码)协议详解及Verilog实现

代码下载(含Verilog实现与python编码实现)

一、IRIG-B协议概述

IRIG-B(InterRange Instrumentation Group-B)是由美国靶场仪器组制定的时间同步标准,广泛应用于电力、通信、航空航天及军事领域。其核心特点为每秒传输一帧时间码(1帧/s),包含100个码元,每个码元持续10ms。协议支持直流(DC)和交流(AC)两种调制方式,其中:

  • IRIG-B(DC):采用脉宽调制,同步精度达几十纳秒,接口为TTL或RS422。
  • IRIG-B(AC):通过1kHz正弦波载波幅度调制,同步精度为10~20微秒,接口为平衡接口。

二、帧格式详细解析

IRIG-B的帧结构以秒为周期,每帧包含100个码元,通过脉宽和位置标识编码时间信息及控制功能。

1. 码元类型与索引计数

  • 码元类型
    • “0”码元:脉宽2ms(占索引计数间隔的20%)。
    • “1”码元:脉宽5ms(占索引计数间隔的50%)。
    • 位置识别标志“P”:脉宽8ms(占索引计数间隔的80%),每10个码元出现一次(P0~P9)。
  • 索引计数
    • 从帧参考点(Pr)开始,以10ms为间隔递增,范围0~99。
    • 帧参考点由连续两个“P”码元标识,第二个“P”码元前沿为“准时”参考点。用易懂的话描述就是,每帧的P0的上升沿为1秒的开始,连续的两个P,其实是由上一帧的P9和下一帧的P0组成。

简单易懂的说法就是每个码元都是1个10ms的脉冲,占空比为20%表示0,站控比为50%表示1,占空比80%表示P。也就是每个0由2ms高和8ms低构成,1由5ms高和5ms低构成,P由8ms高和2ms低构成。

2. 时间编码字段

时间信息采用二进制编码十进制(BCD)格式,按“秒-分-时-天”顺序排列:
具体帧结构如下所示
IRIG-B帧结构分组表(0-99码元)

码元范围 字段名称 编码内容 说明
0 P0(帧头标识) 8ms高电平 + 2ms低电平 帧起始标志
1-4 BCD秒个位 秒个位(0-9) 权重1、2、4、8
6-8 BCD秒十位 秒十位(0-5) 权重1、2、4(高位补0)
10-13 BCD分个位 分个位(0-9) 权重1、2、4、8
15-17 BCD分十位 分十位(0-5) 权重1、2、4(高位补0)
20-23 BCD时个位 时个位(0-9) 权重1、2、4、8
25-26 BCD时十位 时十位(0-2) 权重1、2(高位补0)
30-33 BCD日个位 年积日个位(0-9) 权重1、2、4、8
35-38 BCD日十位 年积日十位(0-9) 权重1、2、4、8
40-41 BCD日百位 年积日百位(0-3) 权重1、2(高位补0)
50-58 BCD年信息 年个位/十位(00-99) 控制字段扩展
60-78 控制/备用字段 闰秒标志、校验位、自定义用途 用户可编程
80-97 二进制天内秒 一天以内的秒技术,二进制表示 标准二进制

具体结构如下图所示
在这里插入图片描述


关键字段说明

  1. 位置标识符(P类型)

    • P0-P10:共11个位置标识符(码元0,9,19,29,39,49,59,69,79,89,99),用于同步和字段分隔,波形固定为8ms高电平+2ms低电平。
  2. 时间字段

    • 二进制秒(80-97):直接编码0-86399的二进制值(低位在低码元,如Bit0在码元80)。
    • BCD时间:每个时间单位(秒、分、时、日、年)拆分为个位和十位的BCD码,例如:
      • 秒=23 → 个位=3(BCD 0011,码元1-4),十位=2(BCD 0010,码元6-8)。
  3. 年积日(DOY)

    • 由年、月、日计算得出(如2023年10月1日对应DOY=274),编码为3位BCD:
      • 274 → 百位=2(码元30-33),十位=7(码元35-38),个位=4(码元40-41)。
  4. 控制与扩展

    • 码元50~57 年的个位和十位
    • 码元58:关键控制位,通常用于闰秒指示。
    • 码元90-98:用户自定义,可加入CRC校验或扩展信息。

帧结构示意图

[P0] 1-8  [P1] 10-13 14-17 [P2] 20-23 24-27 [P3] ... [P10]
|-二进制秒-|------BCD秒-----|------BCD分-----| ...    |--帧尾--|

3. 控制功能码元(CF)

位于P5~P8之间,共27位,用于扩展功能或自定义协议,例如:

  • 状态标识、设备编号或特殊命令。
  • 码元50~57用做年的个位和十位
  • 无统一标准编码,由设备生产商自定义。

4. 纯二进制秒码(SBS)

从P8开始,占17位,表示从午夜开始的秒数(0~86399),每日重复。

三、编码与信号特性

  • 编码方式
    • 脉宽调制:通过脉宽差异区分“0”和“1”。
    • 载波调制(AC):1kHz正弦波,调制比10:3,正交过零点与码元前沿对齐。
  • 信号传输
    • DC码:抗干扰性强,适合短距离高精度同步。
    • AC码:支持远距离传输,但精度略低。

四、时间编码实现

以2025-12-03 01:03:04为例

1. 时间参数转换

  • 日期计算:2025年12月3日为第337天(非闰年)

    • 非闰年,12月3日对应年积日 337(计算方式:31天(1月)+28天(2月)+31天(3月)+30天(4月)+31天(5月)+30天(6
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客不孤独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值