利用FPGA进行高速可变周期脉冲发生器设计

来源:电子工程世界 作者:—— 时间:2010-07-07 07:00

 3.2 工作原理

  首先.外部的复位信号reset给出一个时钟周期宽的脉冲,复位内部各个信号及触发器。

  然后,在下一个有效时钟时刻,外部start信号给出一个时钟周期宽度的脉冲,用来启动计数器的工作。在设计中,当start信号有效时(设计为高有效),外部数据high加载到q,当q不为零时,输出信号pulse将跳变为高电平,当q减到零的时候,pulse信号再跳变回低电平。这个脉冲信号的后沿将被后面的由两个d触发器构成的检测单元捕获,并在pulse信号的下降沿后产生一个时钟周期宽的脉冲,定义为done信号,表示该信号完成输出。

  低电平计时器的设计与高电平计时器完全一样。

  3.3 时序仿真

  在quartusⅱ4.1开发平台上模拟该模块两个输出信号,时序仿真如图3所示。

减法计数器模块时序仿真图

  从图中可以看出,done信号在pulse信号输出完成后输出一个时钟周期宽度。把这个完成信号done加到下一级类似的减法计数器的start信号上。将会启动下一级计数器的工作。如果将下一级的完成信号done加载给本级的start信号。将会重启一个脉冲的生成。如此将会自动循环以达到不间断输出一定周期脉冲的目的。

  4 数量控制计数器设计

  4.1 设计方法

  数量控制计数器设计与高低电平计数器类似.不同之处在于,减法计数器的时钟输入端接脉冲的输出信号,当要求输出脉冲的个数到达时,输出一个门控信号door,后面的两个d触发器仍然用来捕获门控信号door的后沿。一旦输出个数到达,done信号立即输出一个时钟周期宽度的脉冲作为标志。具体设计框图如图4所示。

数量控制计数器模块原理框图

  4.2 时序仿真

  在quartusⅱ4.1开发平台上软仿真,把脉冲发生器中产生的每个脉冲的start信号作为数量控制器的输入信号,仿真结果如图5所示。

数量控制模块仿真时序图

  每次输出任务完成后。由总体模块输出一个ov信号标志该批次任务结束。ov信号可再次加载到总的reset信号上,即该批次输出完成可复位进入下一批次任务的输出。图5中的door信号出现了很窄的毛刺,这是由于内部计数器的翻转不同步造成的。加同步电路可以消除,但会影响电路的工作频率。由于毛刺很窄,对整个电路工作无任何影响。所以,该模块设计中并未处理。

相关文章

资讯排行榜

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

华强资讯微信号

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