基于FPGA的IRIG-B编码器的设计

[09-12 18:31:42]   来源:http://www.88dzw.com  EDA/PLD   阅读:8310

文章摘要:我国靶场测量、工业控制、电力系统测量与保护、计算、通信、气象等测试设备均采用国际标准IRIG-B格式的时间码(简称B码)作为时间同步标准。B码是一种串行的时间格式,分为直流码(DC码)和交流码(AC码)两种,其格式和码元定时在文献[1]中有详细描述。本文介绍一种基于FPGA并执行IRIG-B标准的AC/DC编码技术,与基于MCU或者DSP和数字逻辑电路实现的编码方法相比,该技术可以大大降低系统的设计难度,降低成本,提高B码的精确性和系统灵活性。在此,组合GPS引擎和FPGA,得到B码的编码输出,直接采用GPS引擎的100 pps信号触发输出B码的每个码元,利用从100 pps中恢复的1 pps

基于FPGA的IRIG-B编码器的设计,标签:eda技术,eda技术实用教程,http://www.88dzw.com

  我国靶场测量、工业控制、电力系统测量与保护、计算、通信、气象等测试设备均采用国际标准IRIG-B格式的时间码(简称B码)作为时间同步标准。B码是一种串行的时间格式,分为直流码(DC码)和交流码(AC码)两种,其格式和码元定时在文献[1]中有详细描述。本文介绍一种基于FPGA并执行IRIG-B标准的AC/DC编码技术,与基于MCU或者DSP和数字逻辑电路实现的编码方法相比,该技术可以大大降低系统的设计难度,降低成本,提高B码的精确性和系统灵活性。

  在此,组合GPS引擎和FPGA,得到B码的编码输出,直接采用GPS引擎的100 pps信号触发输出B码的每个码元,利用从100 pps中恢复的1 pps信号提供B码的时间参考点。DC编码和AC数字调制均由纯硬件逻辑通过查找表实现,它能使每个码元的上升沿都非常精准,都可以作为百分秒的时间参考点,而计时链的预进位功能则保证了绝对时间的精确,不仅可以满足实时系统对时间同步,还可以实现多节点的数据采集严格同步,为分析和度量异步发生的事件提供有方的支持。

  1 IRIG-B编码格式

  IRIG标准规定的B格式码如图1所示,每秒钟发1次,每次100个码元,包含1个同步参考点(Pr脉冲的上升沿)和10个索引标记。码元宽度为10 ms,用高电平宽度为8 ms的脉冲表示索引标记,用宽度为5 ms的脉冲表示逻辑1,用宽度为2:ms的脉冲表示逻辑0。


  如图1所示,交流码的载波是1 kHz正弦信号,幅度变化峰一峰值范围为0.5~10 V。调制比为U1/U0=1/6~1/2,即逻辑1是5个幅度为U1的1 kHz正弦信号,逻辑0是2个幅度为U1的1 kHz正弦信号,索引标记是8个幅度为U1的1 kHz正弦信号,其他时间是幅度为U0的1 kHz正弦信号。

  2  系统方案

  2.1  系统原理框图

  设计授时系统需要一个精准时基。在此利用精密授时型GPS引擎M12T作为系统时基,利用AlteraFPGA检测M12T输出的百分秒(100 pps)同步信号和经串口输出的绝对时间信号,编码后输出到DC/AC接口模块,再输出到物理链路,系统结构图如图2所示。


  上述系统首先实现了B码直流编码,而后在直流码的基础上实现交流调制,以得到交流码,同时提供恢复每秒脉冲数输出和隔离RS 232串行口输出且符合Motorola格式的时间码,以及数码管的时间显示。时间显示部分用FPGA实现比较简单,下文不再详述。

  2.2 GPS授时模块M12T

  M12接收器是Motorola公司优秀ONCORE家族中的新成员,广泛用于各类定位、导航、授时设备中,拥有全GPS行业内最快的初次定位时间和重捕获卫星的时间。M12T是针对GPS授时推出的定时精度更高的增强型产品。M12T具有12个并行通道,可同时跟踪12颗卫星,重捕获时间小于1.0 s。当拥有当前天历、位置、时间和星历数据时,首次定位时间TTFF<15 s。在位置保持状态时,定时精度(1 pps或100 pps)小于12 ns。

  2.3 FPGA和DAC

  FPGA采用Altera CycloneⅡEPC2C5T144,该芯片有4 608个LE,26个M4K,两个模拟锁相环。DAC采用单通道、单电源、自带基准的MAX5712。MAX5712是微型引脚,12 b解析度,片上精密输出放大器提供满摆幅输出。MAX5712用兼容SPITM/QSPITM/MICROWIRETM和DSP标准接口的3线串行接口。所有输入都兼容于CMOS逻辑,并经过施密特触发器缓冲,允许直接接光电耦合器。MAX5712含有上电复位(POR)电路,确保上电时DAC处于零电压输出状态。

  3 时钟模块实现

  3.1 基准时刻和索引脉冲的提取

  要保证B码每个码元的上升沿时刻准确,需要100 pps的精确时基和pps的参考点。一般的做法是用pps作为基准,每个码元的起点由前两个秒脉冲的间隔等分得到。这种方法使用上一时刻来预测下一秒,每秒脉冲有抖动时会导致最后一个码元宽度不足或超过10 ms,这将无法利用B码来实现时间同步和数据等间隔同步的采集。本文直接使用M12T产生的100 pps信号作为每个码元的起始时刻,然后再从100 pps信号中恢复出1 pps。由于B码参考标记Pr=1 pps的上升沿,所以这种方法既保证Pr的准确性,又保证各个码元和索引标记时刻的准确性。在有等间隔同步数据采样要求的场合,可使用每个B码码元的上升沿校准本地时基,确保采样同步和时间同步。

[1] [2] [3] [4]  下一页


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD
分类导航
最新更新
热门排行