频率大小模块:这个模块是实现惯组脉冲的频率范围选择,利用晶振源clk(2.048M)分频得到,定义惯组脉冲输出的频率大小为f(10 K≤f≤256 K),分频数为N,则8≤N=2.048 M/f≤204.8,上位机发送一个8位的二进制数(低8位数据),记为分频数,在写信号的边沿触发下写入模块寄存器中,换算成十进制数的范围为0~255,由上面换算可知可以实现10 K~256 K的任意分频,也就满足任务中10 K~256 K的20分档。但是,当分频数是小数时会存在微小误差,因此20分档频率尽可能取分频数是整数的脉冲通道模块:这个模块实现了惯组脉冲通道位的选择,低8位数据的每位控制一个通道,输出端与门相连,为‘1’时通道打开,为‘0’时通道关闭。
脉冲计数模块:这个模块主要实现对频率大小模块中输出的的脉冲频率进行计数。要求每路脉冲的个数不小于224,在设计中基数用32位,所以最多可以实现232个脉冲数。32位数据由低8位数据端分开4次输入脉冲计数模块中的32位寄存器,低位在前,高位在后,片选3-6为32位寄存器每8位的片选信号。 2.2 计算机字信号
输出3种模式的计算机字:一种是固定数码,即发送17个字节,为01、23、45、67、89、AB、CD、EF、0F、10、21、32、43、54、65、76、87;第二种是采用数字量变换器测试台输出的计算机字信号的第一路(特征码)可按规律变化,即136位计算机字当中最高的8位变化是在00H-FFH范围每帧加1;第三种是数字量变换器测试台按照00、33、55、FF的规律每10帧输出一种字形的计算机字,循环发出。
时钟复制模块完成了遥测请求信号和移位脉冲的逻辑复制工作,使每个遥测请求信号和移位脉冲信号输入到一个8位移位寄存器;计算机字控制模块主要实现3种计算机字模式的切换,计算机字模式选择控制位为‘1’时代表计算机字模式切换使能,具体模式由数据端Din输入的低两位决定,Din(1∶0)=01时,为计算机字模式1;Din(1∶0)=11时,为计算机字模式2,Din(1∶0)=10时,为计算机字模式3,在遥测请求信号的边沿触发下,写入计算机模式;片选位为‘1’时,代表固定数据下载使能,依次写入136位数据。
2.3 勤务信号
勤务信号分为帧同步信号、路同步信号、码同步信号,上电后自动循环发出,用于数字量变换器数据的采集和传输,并且路同步信号作为计算机字移位脉冲信号。帧同步信号脉宽12.207 us,频率为40 Hz。路同步信号频率为20.48 KHz,占空比为50%。码同步信号频率为163.84 KHz,占空比为50%。帧、路、码同步信号在FPGA内具体实现方法见图4。
首先利用40M(0.025 us)的晶振244分频后得到周期为6.10 us的方波信号(fclk)(与码同步的有效时钟周期6.1035 us相比,在误差范围内)。设定count为13位的计数器,系统上电或复位后,计数器清零。Fclk作为count的自加计数时钟,当count自加到1000000000010(十进制数为4098)时清零,经历的时间t为25 ms(6.10us*4098),实现了一帧的时间。当count的低两位小于等于10时,帧同步信号(frame)置‘1’,否则置‘0’,则帧同步信号的脉宽为6.10us*2=12.20 us;当count的第4、3位为10时,使fclk赋值给码同步信号(code),其他情况为‘0’,码同步信号一个周期的计算公式为6.10 us*32=195.2;路同步信号(Rode)由计数器的第二位赋值得到,所以一个周期为6.10 us*8=48.8 us,实现了帧、路、码同步信号的输出。
3 结束语
本文根据测试系统要求,结合系统设计原则,将系统设计细化为各子功能模块,简化了系统设计,反应了层次化的设计思想,体现了模块化的设计原则,很好的完成了数字量变换器测试台的各功能模块,下面是对各功能模块的VHDL仿真结果。