宝典FPGA_可编程单脉冲发生器设计.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
宝典FPGA_可编程单脉冲发生器设计

8.3 可编程单脉冲发生器   可编程单脉冲发生器是一种脉冲宽度可编程的信号发生器,其输出为TTL电平。在输入按键的控制下,产生单次的脉冲,脉冲的宽度由8位的输入数据控制(以下称之为脉宽参数)。由于是8位的脉宽参数,故可以产生255种宽度的单次脉冲。   在目标板上,I0~I7用作脉宽参数输入,PULSE_OUT用做可编程单脉冲输出,而KEY和/RB作为启动键和复位键。图3示出了可编程单脉冲发生器的电路图。 ? HYPERLINK /upimg/allimg/0610/1JPG \t _blank ? ?                 图3 可编程单脉冲发生器的电路图 8.3.1 由系统功能描述时序关系   可编程单脉冲发生器的操作过程是:   (1) 预置脉宽参数。   (2) 按下复位键,初始化系统。   (3) 按下启动键,发出单脉冲。   以上三步可用三个按键来完成。但是,由于目标板已确定,故考虑在复位键按下后,经过延时自动产生预置脉宽参数的动作。这一过程可用图4的时序来描述。 ?? ?        图4 可编程单脉冲发生器的时序图   图中的/RB为系统复位脉冲,在其之后自动产生LOAD脉冲,装载脉宽参数N。之后,等待按下/KEY键。/KEY键按下后,单脉冲P_PULSE便输出。在此,应注意到:/KEY的按下是与系统时钟CLK不同步的,不加处理将会影响单脉冲P_PULSE的精度。为此,在/KEY按下期间,产生脉冲 P1,它的上跳沿与时钟取得同步。之后,在脉宽参数的控制下,使计数单元开始计数。当达到预定时间后,再产生一个与时钟同步的脉冲P2。由P1和P2就可以算出单脉冲的宽度Tw。 8.3.2 流程图的设计   根据时序关系,可以做出图5所示的流程图。   在系统复位后,经一定的延时产生一个预置脉冲LOAD,用来预置脉宽参数。应该注意:复位脉冲不能用来同时预置,要在其之后再次产生一个脉冲来预置脉宽参数。   为了产生单次的脉冲,必须考虑到在按键KEY有效后,可能会保持较长的时间,也可能会产生多个尖脉冲。因此,需要设计一种功能,使得当检测到KEY有效后就封锁KEY的再次输入,直到系统复位。这是本设计的一个关键所在。 ?? ?            图5 可编程单脉冲发生器的流程图 8.3.3 系统功能描述   根据时序和流程图,可以进一步描述系统的功能。图6给出了系统功能描述。 ? HYPERLINK /upimg/allimg/0610/1JPG \t _blank ? ?                 图6 可编程单脉冲发生器的系统功能   与系统的时序相呼应,功能框图较详细地描述了系统应有的功能。系统主要有以下三大模块组成:   (1) 延时模块P_DLY。   (2) 输入检测模块P_DETECT。   (3) 计数模块LE_EN_DCNT。   在此阶段,应尽可能详细地描述系统,给出合理的逻辑关系,进行正确的功能模块分配。例如:不要把计数模块LE_EN_DCNT与延时模块P_DLY混在一起,否则给后续的设计带来不必要的麻烦。对每一个模块有了详细的功能描述,下一步就可以将其细化为具体的逻辑电路了。 8.3.4 逻辑框图    将系统功能描述用逻辑框图来描述,可以用图7来说明。 ? HYPERLINK /upimg/allimg/0610/1JPG \t _blank ? ?                 图7 可编程单脉冲发生器的逻辑功能   (1) 延时模块P_DLY。CLK给延时单元提供计数时基,在复位脉冲/RB从有效变为无效时,启动延时单元。延时时间到后便输出一个负有效的脉冲,其宽度为一个时钟周期。   (2) 输入检测模块P_DETECT。/RB复位系统后,该模块等待/KEY的输入,一旦检测到有下跳,便一方面封锁输入,一方面产生并保持与时钟同步的一个上跳脉冲。该脉冲用以开启计数模块LE_EN_DCNT的计数允许端EN。   (3) 计数模块LE_EN_DCNT。脉宽参数端IN接受8位的数据,经数据预置端LOAD装载脉宽参数,在计数允许端有效后便开始计数。该计数器设计成为减法计数的模式,当其计数到0时,输出端OUT由高电平变为低电平。该输出与来自延时模块P_DETECT的输出进行与运算,便可得到单脉冲的输出。   但是,根据以上的逻辑功能,还不能方便地用Verilog-HDL来描述,需要进一步分析、细化各模块的功能。另外,即使分析清楚了各模块,也应该将各模块分别进行仿真,正确无误后,再将所有的模块连接起来,进行系统级的仿真。 8.3.5 延时模块的详细描述及仿真   如图8所示,/RB的下跳沿将U1复位,上跳沿将U1的输出端置1

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档