- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计-计步器创新
信息科学与技术学院《EDA技术使用教程》
课程设计报告
题目名称: 计步器设计
学生姓名: 卢 霞
学 号: 2012508179
专业年级: 电信2012级 2班
指导教师: 张锐敏老师
时 间: 2015年1月3日
目录
三、 设计内容 3
3.1系统分析 3
3.2方案设计 4
3.3电路模块选择 4
3.3.1检测上升沿模块 5
3.3.2计数模块 6
3.3.3扫描输出模块 7
3.3.4输入输出信号模块 9
四、 程序设计 9
五、 仿真结果 14
5.1仿真截图 14
5.2结果分析 15
六、 遇到的问题 15
七、 设计心得 16
八、 参考文献 18
计步器的设置
设计背景
从我国的电子计步器市场发展来看,近几年随着行业需求市场的进一步增长,电子计步器呈现良好的发展态势。而随着人民生活水平的逐步提高,大家更加注重身体健康,锻炼在日常生活中显得尤为重要,而计步器就成为了大家比较青睐的锻炼伙伴。
此次交计步器的设计采用基于Verilog HDL语言和FPGA的方法来实现所要求的功能。基于FPGA的计步器设计方法具有设计的灵活性,易于修改,设计周期短等纵多优点。随着设计语言、电子设计自动化和FPGA期间的不断发展,基于FPGA期间的不断完善和发展。在不远的将来。由FPGA设计的产品将越来越普遍。
设计要求
通过对设计的模块划分,以及各模块功能的定义,以FPGA为核心器件,用VHDL设计手段制作、用硬件描述性语言编写程序实现设计中各个模块的基本功能,完成其功能仿真和编译并生成底层模块,在Quartus中完成顶层设计并编译通过,完成设计下载并调试电路。
1)系统时钟1MHz;
2)拥有计步、暂停、清零(复位)功能;
3)输入端每进入一个计步脉冲(可能存在抖动),步数计数+1,计步结果以十进制数显示在数码管上;
4)点下暂停键,计数停止,并有信号控制指示灯闪烁,闪烁周期1s;再次点击暂停键,继续计数,指示灯停止闪烁;
5)点下清零键,计数归零;
6)要求能够对计步脉冲和按键的抖动进行正确处理,2ms以内的变化忽略不计;
7)持续10s无计数脉冲后,自动转入暂停状态,计数停止,并有信号控制指示灯闪烁,闪烁周期1s;再次点击暂停键,继续计数,指示灯停止闪烁;
设计内容
3.1系统分析
本实验设计完成一个电路来检测目标运动的次数,并在数码管上显示。用传感器检测抖动信号,采集到的信号经过放大器放大 ,将信号转变成方波,编程将信号在 FPGA 方式处理,并将结果送数码管显示。
3.2方案设计
根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的计步器系统框图,及为设计的总体方案,框图如下图所示
3.3电路模块选择
本设计因为各个模块功能简单,故直接用内部信号线连接起来形成一个整体,但是各模块功能简单介绍如下:
3.3.1检测上升沿模块
DIN为实际检测到的抖动信号,通过和D触发器的配合形成计数模块的使能端信号控制计数器的计数过程。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_UNSIGNED.all;
entity jibuqi is
port (din : in std_logic;
clk : in std_logic;
reset: in std_logic;
light:out std_logic_vector(7 downto 0);
en_out:out std_logic_vector(7 downto 0));
end jibuqi;
part1:process(clk,reset)---------D 触发器
begin
if (reset=0) then
b1=0;
elsif (clkevent and clk=1) then
b1=din;
end if;
end process ;
3.3.2计数模块
当使能信号EN为1时,通过检测上升沿信号实现计数,并将计数信息保存在b5,b6变量内,b5为计数个位值,b6为计数十位值。
part3: process(clk,reset,b4)-------- 计数器模块
begin
if (reset=0) then
b5=(others=0) ;
b6=(others=0);
elsif (clkevent and clk=1) then
if (b4=1) then
if (b51001)then b5=b5+1;
elsif (b51000) then b5=(others=0);
i
文档评论(0)