基于FPGA的模拟信号波形的设计

来源:华强电子网 作者:—— 时间:2011-10-24 15:33

  FPGA的工作过程为:首先,对输入的32KHz时钟信号以计数器进行分频,产生一个1600Hz的窄脉冲信号,它一方面作为外部模拟波形产生电路的扫描触发信号,另一方面作为锯齿波控制信号的工作起始信号,即该信号每到来一次,就启动其它功能模块,按照需要的时序产生所需的控制信号。由图1可知,1600Hz频率到来,会打开精扫计数器与粗扫计数器的输入时钟(2MHz),并启动二者的初始装载过程,然后以这个初始值对输入脉冲进行减法计数,当减法溢出时,输出端就会产生所需的扫描信号。同时,还要利用该信号关闭各自的输入时钟信号,直到下一个1600Hz的到来。当经过逻辑运算改变减法计数器的8位初始值时,输出信号的时刻相对于1600Hz信号来讲,就会有相应的变化。通过这种逻辑方式,就可以控制各种模拟波形的出现时间,从而能够控制示波器上各种波形的显示位置。其中,减法计数器初值的改变是通过一个8位锁存器来实现,即将DSP的地址线、读/写信号线及I/O空间的访问控制线进行逻辑运算,作为8位锁存器的选通信号,然后利用程序将8位数据写入减法计数器。

  而阶梯波控制信号则是完全由软件程序来实现,即根据其各种时序,在不同的时刻将不同的数据写入FPGA中进行锁存,然后经由D触发器输出用以控制信号的产生。为了满足系统的需要,还设计了一个控制波形宽度变化的逻辑用以产生显示所需的不同宽度的脉冲序列,其T.作方式是将两个不同频率的方波信号和一个D触发器的输出端D与,D分别作逻辑与操作,然后再进行逻辑或运算,再通过程序来改变D触发器的输出状态,从而得列具有两种宽度的输出脉冲。

4 实验结果

4.1阶梯波波形

  这里,简要地介绍一下阶梯波波形的具体产生过程。首先,需要设计一个可产生4种不同直流电压的模拟电路,使其能够在不同的控制信号组合状态下,会输出不同幅度的直流电压。该模拟电路总共有4个控制信号输入端,通过DSP的软件程序控制组合的输入。当组合状态为“0001”时,电路会输出幅度为4V的直流电压,而当组合状态为“0010”时,电路将输出幅度为5v的直流电压。同时,还要给出其埘应的输出位置。这样.当程序循环改变输入的组合状态时,在双踪显示模式下,就可以得到如图2所示的阶梯波波形,将这一波形输入到示波器的x轴上,就会在示波器的相应位置上出现四个亮点。

 


图2阶梯波波形

  在实际工程中,通过DSP程序在FPGA中进行两种不间脉冲宽度之间的转换,将所需脉冲宽度的信号经过外部的单稳态触发器设置适当的宽度,再经过微分、积分电路中,就会形成如图3所示的波形,把这一波形输入到示波器的Y轴上,并将其设置为“X-Y”档,最后就会显示出四条亮线。当图(a)中的较窄脉冲输入到Y轴时,通过程序使其在不同的幅值点的停留时间基本保持一致,这样,它所对应的显示亮线会比较均匀;而当图 (b)中的较宽脉冲输入到Y轴时,通过程序使其在最高幅值点处停留的时间比在其它幅值点停留的时间长,这使得它所对应的亮线顶部比亮线的其它部分较亮,最后就会在示波器上显示出形状类似火柴头的亮线图形。

 


图3两种宽度在脉冲信号

4.2锯齿波波形

  同样地,按照相间的构想就可以产生锯齿波波形。由上可知,FPGA会输出1600Hz的脉冲作为外部模拟电路的触发信号,在它的作用下,模拟电路会产生一个长为100us的扫描信号,将其作为示波器上X轴的输入信号,而将0V的直流电压输入Y轴。那么,根据示波器的显示原理,由于Y轴的输人为0V,则亮点只能出现在x轴上,而x轴的输入信号又是一个频率值固定的连续信号,这样在示波器上就会显示出一个在x轴上连续的扣描基线的波形。然后,通过DSP 的软件程序控制模拟电路,产生连续变化的直流电压值,再输出到示波器的Y轴上时,就可以在示波器上得到锯齿波波形,如图4所示。

 


图4锯齿波波形

5 结论

  这里,利用FPGA构成核心控制电路用以产生模拟波形的控制信号,再辅以外围的电路生成锯齿波和阶梯波。通过实验观察,产生的波形清晰,无杂波干扰.表明该模拟电路能够很好地处理渐变信号,充分地体现了模拟电路的优点。并且,在实际工程中,合理地运用锯齿波和阶梯波来生成项目所需的各种模拟波形。只要将部分电路稍加改造,就可以应用于其他应用系统中。

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子