让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 我国靶场测量、工业控制、电力系统测量与保护、计算、通信、气象等测试设备均采用国际标准IRIG-B格式的时间码(简称B码)作为时间同步标准。B码是一种串行的时间格式,分为直流码(DC码)和交流码(AC码)两种,其格式和码元定时在文献[1]中有详细描述。本文介绍一种基于FPGA并执行IRIG-B标准的AC/DC编码技术,与基于MCU或者DSP和数字逻辑电路实现的编码方法相比
M12T在每个1 pps的上升沿过后送出当前时间,而FPGA通过UART接收到时间时,B码当前帧已经启动,据此形成的B码要等下一个pps参考点之后才可以发送,所以对接收的时间要进行预进位处理。
本文在FPGA预处理部分设计了一个RTC计时链,在每个1 pps的上升沿,计时链向上进位,编码模块从RTC计时链取绝对时间。从UART接收到新的时间后,如果该时间与计时链的值有差异,则将通过计时链的同步置数接口修正计时链的值。同时计时链负责把M12T的二进制时间转换成压缩的BCD码,还要根据当前接收到的年月日,计算当天是全年中的第几天,即IRIG-B码中的Day字段,而且在预加1 s和转换时间格式时,要注意闰年和月大和月小对Day字段的影响。
4 IRIG-B编码模块实现
4.1 IRIG-B DC编码模块
分析B码可以发现,秒的最低位出现在MMH=1处,分的最低位出现在MMH=10处,小时的最低位出现在MMH=20处,依次类推。按照图1,容易得出时间寄存器输出时刻和码元计数器MMH之间的关系。由于码元周期固定为10 ms,可以这样实现编码,定义一个模10的计数器MML和逻辑向量CMP(9 down to0)来表征一个码元在10 ms的状态。MML每ms加1,同时根据MML的值,选择CMP的一位更新输出状态,步骤如下:
(1)构建模10计数器MML,以及一个1 ms定时器;
(2)在PPM12信号的上升沿复位MML和1 ms定时器;
(3)1 ms定时器溢出时,MML加1;
(4)根据MML和CMP输出编码信号IRIG_B_OUT,即IRIG_B_OUT=CMP(MML);
(5)在PPM12的上升沿根据第3.1节所得码元计数器MMH重新加载CMP
算法VHDL描述如下:
若对频率为f的正弦波抽样N次(N>2f),并在T=1/f内通过DAC等间隔输出N次抽样值,则低通滤波后可恢复原始正弦信号。各个采样点值为:
Ck=Asin(ωkt)=Asin[ωk(T/N)] (1)
式中:ω=2πf;f为信号频率。则式(1)变为:
Ck=Asin[2πfk(T/N)]=Asin(2kπ/N) (2)
4.2.2 正弦查找表
这里给出利用查找表实现交流数字调制的方法。在获得IRIG-B的直流编码后,将该信号导入到数字调制模块,即可获得交流编码。对正弦信号进行100次等间隔抽样,对式(2)使用实际的增益和直流偏移,可得式(3)。据此获得查找表。
Ck=Acsin(2πk/N)+A0 (3)
式中:N=100为采样率;k=0,1,2,…,N-1;Ck对应第k次抽样获得的值;A0为保证输出信号为单极性而设置的初始直流偏移;Ac为考虑调制比和DAC满幅度码值的系数。
由于交流信号频率为1 kHz,周期为T=1 ms,若在1 ms内将上述抽样值等间隔输出到DAC,即可获得1 kHz的调制信号。
本文使用MAX5712和单电源rail-rail运放AD8601构成滤波器。在MAX5712满幅输出时,C=4 095(12 bit DAC),选择调制比为1:5。综合考虑,在最大输出时,不能使DAC输出到达运放的上轨,最低输出时,DAC输出应高于运放的下轨,所以选取A0=C/2+200=2 248。对应逻辑0,Ac=461;对应逻辑1,Ac=1 844。根据上述原则计算出的正弦查找表如表1所示。
4.3.1 直流码输出
为了保证输出信号的边沿和抗干扰,将第4.1节得到的TTL电平B码信号和秒脉冲经高速光耦隔离,输出电路如图6所示。
上一篇:10~20MHz晶体振荡器
下一篇:TIC226可控硅调光电路原理图
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |