微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MAXII570的高精度同步时钟信号在分布式录波器中的实现

基于MAXII570的高精度同步时钟信号在分布式录波器中的实现

时间:11-26 来源:互联网 点击:

一个时间格式帧从帧参考标志开始。因此连续两个8 ms宽脉冲表明秒的开始,如果从第二个8 ms开始对码元进行编码,则分别为第0,1,2,…,99个码元。在B码时间格式中含有天、时、分、秒,顺序为秒-分-时-天,所占信息位为秒7位、分7位、时6位、天10位,其位置在P0~P5之间。P6~P0包含其他控制信息。其中“秒”信息为第1~8个码元;“分”信息为第10~17个码元;“时”信息为第20~27个码元;第5、14、24码元为索引标志,宽度为2 ms。时、分、秒均用BCD码表示,低位在前,高位在后;个位在前,十位在后。
 IRIG-B的解码过程采用最简单的脉宽测量方法实现,经过编译比较,该方法所耗用的CPLD资源最少。IRIG-B码元信号的高低电平均为1 ms的整数倍,所以测量该信号的基本时钟采用1 kHz的时钟信号作为解码时钟。该时钟由系统输入的12.8 MHz时钟经过12 800次分频后产生。脉宽测量部分VHDL源代码描述如下:
measureBwide:process(inputHClk)
begin
 if rising_edge(inputHClk) then
if pwmMeasureEnable=′1′ then
--上升沿开始计数
regCountH=regCountH+1;
--计数器++
regOutputReadEnable=′0′;
--此时数据不可读
else null;
end if;
if (regBLast=′1′)and( regBCurrent=′0′) then
--降沿判断脉宽
case (regCountH) is
when 5000 to 14000 =>
regOutputData="0010";
- regOutputPwm0Or1=′0′;
when 20000 to 30000=>
regOutputData="0101";
regOutputPwm0Or1=′1′;
when 35000 to 48000=>
regOutputData="1000";
regOutputPwm0Or1=′0′;
when others=>NULL;
regOutputPwm0Or1=′0′;
end case;
regCountH=0;
regOutputReadEnable=′1′;
--此时数据可读
else null;
end if;
 else NULL;
 end if;
end process measureBwide;
 IRIG-B解码的主要任务是找到码元起始报头,也就是2个连续的占空比为8 ms:2 ms的脉冲。找到报头后,根据码元的分布情况逐一解出相应的数据即可。找到起始报头后,输出秒脉冲,同时根据解码数据输出串行数据。本文利用12.8 MHz进行1 333次分频产生9 600 b/s的串行数据波特率,虽然不是整数,但是可满足串行数据的误码率要求。
 分脉冲由秒脉冲计数器产生,即计数器计满1 min时,输出一个脉冲。
3 同步逻辑信号的实现
 分布式同步逻辑的实现为本系统的重要部分,也是分布式录波系统同步录波的关键。系统中有一个专门用于接收各子单元故障的信号,作为系统录波的专用引脚,该信号为RS485驱动,因此抗干扰能力比较强。实际应用中,不论哪一个子单元判断出故障信号,均向本系统发出一个触发电平,当本系统收到该电平后立即发出启动信号,启动录波后一段时间再发出录波结束电平,结束本次录波工作。
由于CPLD的并行处理功能强大与反应速度快的特点,所以子单元发出故障信号的延时可以忽略不计(小于10 ns)。由于不同的用户需要的录波文件大小不一致,所以将录波结束的控制参数交由用户在线设置。由故障、录波启动、录波结束三组信号再配合IRIG-B时钟信号即可实现系统的同步录波功能(此处的源代码不再赘述)。
4 实验结果
 本系统的设计方案在Altera公司的MAXII570[2]上实现,编译环境为QuartusII 8.0,编程语言为VHDL[3]。
本系统在理论上最多能够连接32个子单元(RS485驱动能力的限制),实际应用中,由于受到产品外形结构的限制,最大连接了8个子单元,任意一个子单元发出故障信号时,均能通过本系统产生录波的同步信号,各项指标均满足录波器的相关指标要求。即使多个子单元发出故障信号,本系统亦能准确判断出故障信号,从而输出同步信号。
 通过实际测试,本文设计方案只占用了63%的系统资源,留有相当大的剩余资源,非常方便实现后期的功能升级,而不用更换硬件。
本设计的难点在于如何正确地安排好芯片内部各个模块之间的时序,特别是当多个单元发出故障信号的情况下,如何能够准确地发出录波启动和录波结束信号,而不丢失录波文件。本系统可以用于暂态录波器,也可以用于稳态录波器。此外,经过调整相应的参数后,也可以用于其他的分布式实时系统。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top