基于可编程逻辑器件和VHDL语言实现信号源的方案设计

可编程逻辑

1334人已加入

描述

一、 引言

在高速数据采集系统中,信号源作为一种校验设备,需要及时、有效地向采集设备提供高频信号,用于检验数据采集器的工作情况;同时信号源还应该能够提供一些必要的控制信号,用于对数据采集系统的控制。从这个意义上来说,信号源本身的工作应该更稳定、可靠;另一方面,小型化、通用化信号源的设计和实现是信号采集系统的必然要求。因此,必须采用先进的设计方法和大规模可编程逻辑器件加以实现才能适应这种发展趋势,CPLD/FPGA等大规模可编程逻辑器件的发展和EDA技术的成熟为此奠定了良好的软硬件基础。

由于脉冲信号中既包含了丰富的高频信号,又含有低频的成分,所以脉冲信号源可以用来检测采集设备在高频及低频下的工作状态。本文就着重介绍了一种基于FPGA,采用VHDL硬件描述语言设计实现的高速脉冲信号源,充分体现了ASIC芯片在现代数字电路设计中的优越性。

二、信号源的方案设计

1. 功能介绍

该高速脉冲信号源电路主要是用于某型号数据采集系统的自检与测试,它能够模拟产生6路严格同步的高速脉冲信号和3路控制信号,并为后续采集系统提供60MHz的时钟信号及备用电源。

2. 信号源原理框图

该系统由中心控制逻辑、电源模块、高速脉冲信号驱动模块及输出接口等部分组成。其中,中心控制逻辑负责控制信号以及高速脉冲的产生,从FPGA生成的高速脉冲经过信号驱动模块进行处理后输出;电源模块为信号源供电的同时,也为后续的采集系统提供备用电源。信号源的原理框图如图1所示。

vhdl

高速脉冲信号源输入信号有60MHz晶振,以及来自面板上的控制信号,输出信号为3路控制信号,1路时钟信号,6路高速脉冲信号以及为后续高速数据采集系统提供的+28V直流电源。

面板上有三个控制开关,分别为复位开关RST, 模式选择开关MODE1和MODE2。RST信号为外部的手动复位,当拨至低电平时,对系统所有的计数器清零;而两路模式选择信号则负责输出的高速序列信号频率的切换,当MODE1为高且MODE2为低时,系统输出频率为1M的高速序列,当MODE1为低且MODE2高时,输出频率为10M的高速序列,当MODE1和MODE2同为高或同为低时,对系统进行复位。

三:FPGA内部逻辑的实现

VHDL语言是一种硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格和句法与一般的计算机高级语言十分相似。使用VHDL语言设计硬件电路时,可以使设计者免除编写逻辑表达式或真值表的工作。这样使硬件电路设计的难度有了大幅度的降低,从而可以提高工作效率,缩短硬件电路的设计周期。

1、可编程器件的内部原理图

使用VHDL语言实现的信号源FPGA内部原理图如图2所示。

vhdl

从图4中可以看出,FPGA在系统时钟(FOSC)和控制信号的驱动下,产生了6路高速序列及后续电路需要的导引头控制信号。另外,输入和输出的信号通过指示灯指示其工作状态,方便了设备工作状态的判断及调试。

2、高速脉冲的产生

根据系统要求,要为后续的数据采集系统提供将6路不同特征但严格同步的高频信号。在本设计中,高速脉冲的波形构成如图3所示。

vhdl

在图3中,T1=100nS、T2=1000nS,数据顺序输出,10个数为一组,每组的前3位为通道标志,即用来指示输出的波形是哪一通道,每通道的通道标识是唯一的。D6-D0组成7位二进制数,取值范围0-119,每2mS递增1,每2.4S循环一次。

具体的实现方法如下所示:

p1:process(RST,fosc)

begin

if (mode1=‘0’ and mode2=‘0’) or (mode1=‘1’ and mode2= ‘1’) or (RST = ‘0’) then j 《= “000000”;

elsif fosc ‘ event and fosc = ’1‘ then

case count1 is

when “0000” =》 j(0)《=’0‘;

when “0001” =》 j(0) 《=’1‘;

when “0010” =》 j(0) 《=’0‘;

when “0011” =》 j(0) 《= count(6);

…………………………

when “1001” =》 j(0) 《= count(0);

when others =》 j(0) 《= ’1‘;

end case;

end if;

end process p1;

I1 《= j(0);

在具体实现时,为了使6路高速脉冲信号区别开来,将分别负责计6路信号D0~D6部分的计数器初始值赋为:0,20,40,60,80,100。6路高速脉冲的输出波形图如图4所示。

vhdl

由图4可以看出,通过改变向量j的值,并将它的每一位赋给高速序列的输出端口,可以产生6路严格同步的高频序列。且由于各路在输出的过程中,有可能出现多个周期的高电平或低电平,使得输出信号中不仅包含了高频信号(信号的上升和下降沿),也包含了低频信号,能够全面检测数据采集器的高频和低频特性。

三、典型单元电路设计

1、 FPGA上电复位电路

为了实现FPGA的可靠复位,在信号源设计中,我们使用专用的芯片MAX708来产生复位信号。EPM10K10的配置引脚中,INIT-DONE状态引脚属于漏极开路输出类型,该引脚的功能为:用来指示该器件已经初始化完成并且处于用户状态。在配置期间,INIT-DONE输出为低,在配置完成后,该管脚变为高。当INIT-DONE管脚的电平发生跳变,即芯片MAX708的 输入端有上升沿到来时, 端输出持续时间为200ms的复位脉冲。复位模块的原理图如图5所示:

vhdl

相对于分离芯片,MAX708构成的复位电路大大地改善了系统的可靠性和精确度。

2.高速脉冲信号输出驱动模块设计

从中心控制逻辑单元中输出的高速脉冲要经过差动滤波放大电路后才能得到所需要的波形。在该差动滤波放大电路中采用集成芯片AD9631作为放大电路中的放大器。高速运放AD9631小信号模型工作频率320MHz, 大信号模型175MHz;超低失真,低噪声;高速视频模拟信号的驱动电路的原理如图6所示。

vhdl

差动放大电路是高速信号源信号输出的主要电路部分。在设计中使用外部频率补偿法,可以降低环路增益,提高电路稳定性[3]。如图3所示,运算放大器的两个输入端之间跨接一个电阻R14=100Ώ,此电路既可以是反相放大器,也可以是同相放大器,这取决于输入源接在正相输入端还是反相输入端。R14的存在并不影响Aideal的大小,只是增大了支流噪声增益产生直流输出误差。另外,在差动放大电路中,与反馈电阻并联接一个10PF的电容,该电容的作用是维持运算放大器良好的稳定性。在高速脉冲的输出接口上,本系统选用SMA连接器后接同轴电缆的方法来实现良好的传输效果。

五:结论

用可编程逻辑器件设计实现的信号源不仅具有电路简单、体积小等突出优点,还便于设计的修改和优化,大大缩短了产品的开发设计周期;同时通过相应的EDA工具进行充分的功能仿真和时序仿真,可以将设计的缺陷尽量消灭在设计的早期,进一步提高产品的可靠性。经上述设计的高速脉冲信号源已成功应用于某型号高速数据采集系统的自检与调试,能够输出稳定、可靠的高速脉冲信号、时钟信号及采集系统所需的控制信号。

文章创新点:本文设计的基于FPGA的高速脉冲信号源能产生6路严格同步的、包含时间及通道编码信息的高速脉冲,可用于检测数据采集系统的高频及低频特性。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分