您的当前位置:首页正文

基于FPGA的IRIG—B码调制解调实现

2024-10-18 来源:威能网
2012年8月第4期 现代导航 ・305・ 基于FPGA的IRIG—B码调制解调实现 张建春,任记达 (中国电子科技集团公司第二十研究所,西安710068) 摘要:旨在设计一种基于FPGA的IRIG.B码的时间系统。该系统采用FPGA作为主控器, 利用精准时间信息触发IRIG—B模块,完成IRIG—B码(DC码)的调制。在DC码的基础上,使 用容错设计,解调出时间信息。使用VHDL语言进行全数字设计,所有功能都由硬逻辑实现,保 证了B码信号沿的准确。软件仿真和示波器以及实际运行表明:系统设计达到了预期目标,定时 精确可靠。 关键词:时间码;IRIG-B;数字调制解调 中图分类号:TN79州 文献标识码:A 文章编号:1674—7976一(2012)04.305。04 Implementation of lRIG—B Modulation and Demodulation Based on FPGA ZHANGJianchun,RENJida Abstract:An IRIG—B code time system based on FPGA is designed in this paper.FPGA is selected as the master con仃oller. B-format code module is triggered by precious time information,and DC code modultiaon is finished.Time information is demodulated by revising error design on he basitc of DC code.Whole digit design is used by VHDL,all function modules provide by hard logic,SO that the rising edge of B-format code is accurate and each rising edge Can be used as reference point.The design has been veriied afnd tested through simulation and oscilloscope,the practical application proves that the expected goals are achieved perfectly nd tahe timing is precious nd adependable. Key words:Time Code;IRIG-B:Digital Modulation and Demodulation 两种,其格式和码元定时在文献1中有详细描述。 1 IRIG—B码介绍 我国靶场测量、工业控制、计算、通信、气象 等时统和测试设备均采用国际标准IRIG.B格式的 时间码(简称B码)作为时间同步标准。IRIG(美 国靶场仪器组)时间标准有两大类:一类是并行时 间码:另一类是串行时间码。并行码传输距离较近, B型码有以下主要特点:携带信息量大,适用于远 距离传输;接口标准化,国际通用等。下面主要介 绍的是B码(DC)的调制解调实现。 且是二进制,因此远不如串行格式广泛。IRIG共有 六种格式,即A、B、D、E、G、H。它们的主要差 别是时间码的帧速率不同,IRIG—B即为其中的B “0” 型码。B码分为直流码(DC码)和交流码(AC码) 类型1 收稿日期:2012.04.11。 ・306・ 现代导航 2012芷 B码利用脉宽调制方式进行调制和解调。图1 中类型一的码元表示0,类型二的码元表示1,类 型三的码元表示尸标志位。B码的一帧的长度为1s, 每帧含有100个码元,每个码元长度为10ms。一帧 以监测到连续的两个P位开始。一帧数据里有10 }’_  『101U msS- l 个P位,10个P位分别位于第0,9,19,29…89, 99位上。一帧B码里含有当前时刻的年信息、天信 息、小时信息、分信息、秒信息及目前时刻位于当 天的第几秒TOD(time ofday),还可从当前接收到 的是第几个码元从而准确地获知当前时刻的百分 之一秒信息。它们均用BCD码来表示。B码的第2, 3,4,5位表示秒的个位数,7,8,9位表示秒的 十位数,11,12,13,14位来表示分的个位数,l6, 17,18位来表示分的十位数,2l,22,23,24位 来表示时的个位数,26,27位来表示时的十位数, “P” 31,32,33,34位用来表示天的个位数,36,37, 38,39位表示天的十位数,41,42位表示天的百 位数。TOD用8O至97中除了89位的l7位表示。 一类型3 图l B码码元 帧的波形图如图2所示。 z z z P z z z‘j『214 z z 6 365天(平年12月31日)23时59分59.95秒TOD86399秒 图2B码一帧数据格式 (DSP)进行软件调制解调,FPGA进行辅助的波 2 B码(DC)调制解调处理方式 B码调制解调在硬件电路的设计上,充分考虑 了系统功能的可扩充性,使用了基于FPGA的结构, 形产生,采用软件方法调制解调,数据采样处理都 有一定的时延,并且使用的CPU不同,使用的软 件(包括版本)不同,造成的时延有很大的随机性。 硬件设计优点: (1)数据的采样和处理同时进行,如果硬件 提高了B码的精确性和系统的灵活性。 目前进行B码设计,通用的做法是使用MCU 的时钟周期为100 MHz,那么其处理时延小于 第4期 张建春等:基于FPGA的IRIG.B码调制解调实现 ・307・ 10ns,通过对已使用逻辑门数量的计算,能很精确 的计算出硬件的时延,对B码精度的提高有很大的 空间,经软件模拟,B码的精度可达到纳秒级。 (2)可以根据用户的需要进行方案设计。输 出多路接口标准,输出不同精度的时间信息,加入 少量的控制信息,数据信息进行实时传输,加快了 设计速度和提高了设计的灵活性。 因此,基于FPGA的B码调制解调最适合对时 卫星时 间同步精度有较高要求的系统使用。 3 IRIG.B(DC)调制解调 3.1 IRIG.B码调制功能 图3为直流B码调制框图。 图3直流B码调制方案 以上功能共分为以下6个部分: (1)时间信息接收处理:接收××系统送过 来卫星时间信息及1 PPS; (2)B码生成器:进行数据的并串转换,并在 确定的位置插入特殊标志,从而形成B码的串行数 据流,串行数据中包括三种不同的时间控制标志: 2 ms,5 ms和8 ms,这三种标志形成三种控制信息; 用时,守时单元保存实时时间信息;当精准时间信 息不可用时,守时单元输出时间信息,保证整个时 统模块的安全可靠的运行; (5)脉冲发生器:根据接收的1 PPS和时钟信 号生成各种所需的脉冲信息。时钟信号是影响 IRIG.B(DC)的同步精度主要因素之一。为保证 精度100 ns以内,时钟信号频率不得少于10 MHz, 频率稳定度为±1 PPM; (6)B码调制器:根据B码生成器的三个控 制信息,调制出直流B码信号。 3.2 IRIG.B码解调功能 (3)时钟驯服:利用精准的1PPS信号,对本 地高温补晶振进行时钟驯服; (4)守时单元:虽然在设计中采用了精准时 间信息,但为防止精准时间信息不可用的情况,或 其它不确定的原因而引起的时间数据异常,需要对 数据做到及时发现、及时处理。当精准时问信息可 图4为直流B码解调框图。 图4直流B码解调方案 IRIG—B解调采用同时输入两路信号,具备自动 监测功能,形成热备份,提高解调终端的工作可靠 性。 3.2.1 IRIG—B码元识别 IRIG—B解调过程中,在进行脉冲宽度检测的过 程中引入了容错机制,提高系统工作可靠性。脉冲 宽度为1~3 ms认定为数据“0”,脉冲宽度为 4—6ms认定为数据“l”,脉冲宽度为7~9ms认定 ・308・ 现代导航 2012住 为参考码元或位置标志。容错机制的引入增加了解 调能力,消除调制和传输过程中引起的脉冲宽度非 标准化的因素。 需要注意的是解调终端所提取出的1PPS的同 步精度与输入的IRIG—B信号的精度有关,1PPS与 输入IRIG.B校时点的同步精度优于20 I1s。 3.2.2 IRIG B帧同步 由于以连续出现2个P标志位定位B码的一帧 开头,因此准确的帧头定位是对有效数据进行读取 和识别的前提,在获取了连续两个P标志位后则对 其后的99个码元进行读取和译码。对帧头的定位, 单独设计一个模块,利用一个带计数器的包含了3 种状态的状态机来实现。三种状态为S0,Sl,S2。 S0状态表示在工作状态但是还没有接收到P标志 位,Sl表示接收到…个尸位信号,S2表示处于一 帧已经开始的状态。S0状态时接收到一个P位则跳 转到状态S1,否则保持S0状态不变。在当前状态 是Sl时,如接收到码元为P则进入到S2,否则跳 回状态S0。在进入S2状态时利用一个计数器给S2 状态持续时间计数,在刚进入S2状态时给它赋值 990利用1 kHz的时钟信号进行递减计数当计数器 数据为零时将状态s2跳转到状态S0。帧同步模块 输出一个控制信号控制解调模块对数据位辨别与 提取的开或关。这个控制信号将在s2状态下持续 为高电平其他状态下为低,解调模块将在控制信号 为高的状态下工作。它们之间的状态关系图如图5。 图5帧同步状态机 3.2.3数据位的辨别与提取 本模块在帧同步模块发出的控制信号为高时 解调,根据(3.2.1码元识别)里的识别算法识别帧 头后面的99个码元。这里生成一个99×1位的寄 存器。利用这个寄存器对应每帧数据里面的99个 码元信息。利用FPGA的高速即时地将接收到的码 元识别出来,并同时在每个码元下降沿将码元解调 结果写入对应序列号的寄存器单元中。在帧同步信 号的下降沿,一帧数据结束,将寄存器中有意义的 位数用端口输出。可以实现即时的每秒数据更新输 出。当前百分之一秒数据的输出用一个百位计数器 实现。在帧同步信号下降沿清零且重新开始计数。 利用输入的1 ld-Iz时钟信号十分频后的信号做这个 计数器的时钟。可以实现当前时间1%秒的时间精 度输出。 4结束语 随着系统对标准时间信号的性能要求越来越 高,而目前Xilinx,Altera以及Lattice等公司都推 出了工作频率更高,布线时延更小的新型FPGA芯 片,所以本设计方案未来可以通过采用新型FPGA 芯片来满足用户不断提高的要求。本文涉及的技术 己在设备上可靠运行,经测试达到设计要求。 参考文献: [1]TrueTime IRIG200-5 [2]曾繁泰,陈美金.VHDL程序设计[M].北京:清华大学 出版社,2001 [3】史玉琴.基于EPLD的IRIG.B编/解码器的分析与设计 『J1.现代电子技术,2007.30(4):79.81 

因篇幅问题不能全部显示,请点此查看更多更全内容