eda课程设计-计步器

eda课程设计-计步器

ID:21348789

大小:379.33 KB

页数:20页

时间:2018-10-21

eda课程设计-计步器_第1页
eda课程设计-计步器_第2页
eda课程设计-计步器_第3页
eda课程设计-计步器_第4页
eda课程设计-计步器_第5页
资源描述:

《eda课程设计-计步器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、信息科学与技术学院《EDA技术使用教程》课程设计报告题目名称,计步器设计学生姓名:卢霞学号:2012508179专业年级:电信2012级2班指导教师:张锐敏老师时间:2015年1月3日目录三、设计内容43.1系统分析43.2方案设计53.3电路模块选择53.3.1检测上升沿模块63.3.2计数模块73.3.3扫描输出模块83.3.4输入输出信号模块10四、程序设计10五、仿真结€155.1仿真截图155.2结果分析17六、遇到的问题17七、设计心得18八、参考文献20计步器的设置、设计背景从我国的电子计步器市场发展来看,近几年随着行业需求市场的进一步增长,电子计步器呈

2、现良好的发展态势。而随着人民生活水平的逐步提高,大家更加注重身体健康,锻炼在日常生活中显得尤为重要,而计步器就成为了大家比较青睐的锻炼伙伴。此次交计步器的设计采用基于VerilogHDL语言和FPGA的方法来实现所要求的功能。基于FPGA的计步器设计方法具有设计的灵活性,易于修改,设计周期短等纵多优点。随着设计语言、电子设计自动化和EPGA期问的不断发展,基于EPGA期问的不断完善和发展。在不远的将来。由FPGA设计的产品将越来越普遍。二、设计要求通过对设计的模块划分,以及各模块功能的定义,以FPGA为核心器件,用VHDL设计手段制作、用硬件描述性语言编写程序实现设计

3、中各个模块的基本功能,完成其功能仿真和编译并生成底层模块,在Quartus中完成顶层设计并编译通过,完成设计下载并调试电路。1)系统时钟lMIIz;2)拥有计步、暂停、清零(复位)功能;3)输入端每进入一个计步脉冲(可能存在抖动),步数计数+1,计步结果以十进制数显示在数码管上;4)点下暂停键,计数停止,并有信号控制指示灯闪烁,闪烁周期Is;再次点击暂停键,继续计数,指示灯停止闪烁;5)点下清零键,计数归零;6)要求能够对计步脉冲和按键的抖动进行正确处理,2ms以内的变化忽略不计;7)持续10s无计数脉冲后,自动转入暂停状态,计数停止,并有信号控制指示灯闪烁,闪烁周期

4、Is;再次点击暂停键,继续计数,指示灯停止闪烁;三、设计内容3.1系统分析本实验设计完成一个电路来检测目标运动的次数,并在数码管上显示。用传感器检测抖动信号,采集到的信号经过放大器放大,将信号转变成方波,编程将信号在FPGA方式处理,并将结果送数码管显示。3.2方案设计根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的计步器系统框图,及为设计的总体方案,框图如下图所示检測上升沿dinDDOS0CLKResetClkO■1比较器Ec计数器ResetReset••眷•參•罾•••••••拳••春•比较器计数值个兮编码十位S码Gru:3.3电路模块

5、选择本设计因为各个模块功能简单,故立接用内部信号线连接起来形成一个整体,但是各模块功能简单介绍如下:3.3.1检测上升沿模块DIN为实际检测到的抖动信号,通过和D触发器的配合形成计数模块的使能端信号控制计数器的计数过程。libraryieee;useieee.stdlogic」164.all;useieee.std_logic_UNSIGNED.all:entityjibuqiisport(din:instd_logic:elk:instdlogic:reset:instd_logic;light:outstd_logic_vector(7downto0);enout

6、:outstdlogicvector(7downto0));endjibuqi;parti:process(elk,reset)D角虫发器beginif(reset=,0’)thenbl〈=’O’;e1sif(elk’eventandclk=’l’)thenbl<=din;endif;endprocess;3.3.2计数模块计数器模块当使能信号EN为1时,通过检测上升沿信号实现计数,并将计数信息保存在b5,b6变量内,b5为计数个位值,b6为计数十位值。part3:process(elk,reset,b4)beginif(rcsct=,0,)thenb5〈=(othe

7、rs=〉’0’);b6〈=(others=〉’0’);elsif(elk’eventandclk=,1’)thenif(b4=’1’)thenif(b5〈〃1001〃)thenb5〈=b5+’1’;elsif(b5>"1000")thenb5<=(others=>,0,)if(b6<,/1001,/)thenb6〈二b6+’1’;elsif(b6〉〃1000〃)thenb6〈=(others=〉’0’);endif;endif;elsif(b4=’0’)thenb6<=b6;endif;endif;endprocess:3.3.3扫描输出模块扫描输出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。