基于fpga的单次脉冲发生器设计与实现.docxVIP

基于fpga的单次脉冲发生器设计与实现.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于fpga的单次脉冲发生器设计与实现 1 单次脉冲发生器 在学校数字系统设计和实验课程中,要求学生使用f作为硬件,使用max和嘉靖作为软件,设计和实施“单个编程脉冲发生器”。可在输入按键的控制下, 产生单次的脉冲, 脉冲宽度可由8位的输入数据控制 (以下称之为脉宽参数) 。 通过该实验达到对原理图设计、Verilog HDL语言、多层次结构系统设计方法、Top_down设计思想、FPGA开发方法等理论知识综合运用的目的, 培养学生理论与工程实际相结合的能力。 2 编程单脉冲发生器 脉冲发生器作为一种重要的实验仪器被广泛应用在生产和科研中。它的原理虽然简单, 但采用传统元器件构成的电路却非常庞大和复杂。可编程逻辑器件的出现很好地解决了这个问题。一片合适容量的FPGA芯片可以取代十几片甚至几十片传统的74系列通用数字芯片 可编程单脉冲发生器是一种脉冲宽度可变的脉冲发生器, 输出为TTL电平 (1) 预置脉宽参数; (2) 按下复位键, 初始化系统; (3) 按下启动键, 发出单脉冲。 可以用两个按键来完成上述3个步骤:在复位键按下后, 经延时自动产生预置脉宽参数的信号。系统的时序关系如图1所示 图中的RB为系统复位脉冲, 在其之后自动产生LOAD脉冲, 装载脉宽参数。之后, 等待按下KEY按钮。KEY按钮按下后, 单脉冲P_PULSE便输出。在此, 应注意:KEY的按下是与系统时钟CLK不同步的, 不加处理将会影响单脉冲P_PULSE的精度。为此, 在KEY按下期间, 产生脉冲 3 pga芯片简介 硬件实验平台选用的数字开发实验箱, 其目标芯片为ALTERA公司的FLEX10K 系列的FPGA芯片。它具有高密度、低成本、低功耗、灵活的内部连接和强大的I/O引 脚功能等特点。内部采用查表 (LookUp Table, LUT) 和EAB (嵌人式阵列块) 相结合的结构来实现存储器、专用逻辑功能和通用逻辑功能, 每个EAB能提供2 048 bit的存储空间 3.1 植物叶片流程 根据时序关系可以作出图2所示的流程图。在系统复位后, 经一定的延时产生一个预置脉冲LOAD, 用来预置脉宽参数。 3.2 动态编程单脉冲发生器 Verilog HDL语言作为模块化的硬件描述语言, 可以通过构造模块间的清晰层次结构来描述一个复杂的设计 可编程单脉冲发生器可以由3个模块构成: (1) 延时模块P_Delay; (2) 输入检测模块P_Detect; (3) 计数模块LE_EN_DCNT。由3个模块所构成的系统框图如图3所示 3.2.1 延迟模块设计 CLK给延时单元提供计数时基, 在复位脉冲RB从有效变为无效时, 启动延时单元。延时时间到后便输出一个负有效的脉冲 (也可以为正有效) , 其宽度为一个周期。延时模块的逻辑功能描述如图4所示。具体可为延时5个 (可通过编程自行设定) 时钟周期后输出下降的脉冲。该脉冲持续一个时钟周期后又上升, 上升沿输入到T触发器, T触发器的输出端封锁“三与门”。 3.2.2 下降型脉冲en RB复位系统后, 该模块等待KEY的输入, 一旦检测到有下降, 则一方面封锁输入, 一方面产生并保持与时钟同步的一个上升脉冲。该脉冲用以开启计数模块LD_EN_DCNT的计数允许端EN。输入检测模块的逻辑功能描述如图5所示。 3.2.3 “与”运算输出 脉宽参数IN接收8位的数据, 经数据预置端LOAD装载脉宽参数, 在计数允许端有效后便开始计数。该计数器设计成为减法计数的模式, 当其计数到0时, 输出端OUT由高电平变为低电平。该输出与来自输入检测模块P_DETECT的输出进行“与”运算, 便可得到单脉冲的输出。计数模块的逻辑功能描述如图6所示。 3.3 x+lusiii里的功能仿真 图7给出的是单次脉冲发生器在MAX+plusII里的功能仿真波形。根据波形图可以看出, 预置的8位数据所对应的十进制数值, 即相当于 4 实现按k对策a的词汇并保持时间 1) 实验设计过程中, 要特别注意2个要点: (1) 复位脉冲不能用来同时预置, 要在其之后再次产生一个脉冲来预置脉宽参数。 (2) 为了产生单次的脉冲, 必须考虑到在按键KEY有效后, 可能会保持较长的时间, 也可能会产生多个尖脉冲。因此, 需要设计一种功能, 使得在检测到KEY有效后就封锁KEY的再此输入, 直到系统复位。 2) 仿真验证过程中, 要注意在时序波形上, 可能出现大量的“毛刺”现象, 要正确分析产生的原因, 酌情消除。 3) 时间特性分析过程中, 要注意可能会发现传播延时或工作频率建立/保持时间不满足电路时间性能要求。认真查找是否是设计或逻辑单元分配所致, 或硬件自身的原因, 并予以解决。 5 实验过程及总结 该实验要求2名学生一组, 整个过程分为如下

文档评论(0)

lmzwkyc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档