EDA课程设计 计步器

发布 2022-09-30 20:49:28 阅读 4798

信息科学与技术学院《eda技术使用教程》

课程设计报告。

题目名称: 计步器设计

学生姓名: 卢霞。

学号: 2012508179

专业年级: 电信2012级 2班

指导教师: 张锐敏老师

时间: 2024年1月3日

目录。三、 设计内容 4

3.1系统分析 4

3.2方案设计 5

3.3电路模块选择 5

3.3.1检测上升沿模块 6

3.3.2计数模块 7

3.3.3扫描输出模块 8

3.3.4输入输出信号模块 10

四、 程序设计 10

五、 **结果 15

5.1**截图 15

5.2结果分析 17

六、 遇到的问题 17

七、 设计心得 18

八、 参考文献 20

从我国的电子计步器市场发展来看,近几年随着行业需求市场的进一步增长,电子计步器呈现良好的发展态势。而随着人民生活水平的逐步提高,大家更加注重身体健康,锻炼在日常生活中显得尤为重要,而计步器就成为了大家比较青睐的锻炼伙伴。

此次交计步器的设计采用基于verilog hdl语言和fpga的方法来实现所要求的功能。基于fpga的计步器设计方法具有设计的灵活性,易于修改,设计周期短等纵多优点。随着设计语言、电子设计自动化和fpga期间的不断发展,基于fpga期间的不断完善和发展。

在不远的将来。由fpga设计的产品将越来越普遍。

通过对设计的模块划分,以及各模块功能的定义,以fpga为核心器件,用vhdl设计手段制作、用硬件描述性语言编写程序实现设计中各个模块的基本功能,完成其功能**和编译并生成底层模块,在quartus中完成顶层设计并编译通过,完成设计**并调试电路。

1)系统时钟1mhz;

2)拥有计步、暂停、清零(复位)功能;

3)输入端每进入一个计步脉冲(可能存在抖动),步数计数+1,计步结果以十进制数显示在数码管上;

4)点下暂停键,计数停止,并有信号控制指示灯闪烁,闪烁周期1s;再次点击暂停键,继续计数,指示灯停止闪烁;

5)点下清零键,计数归零;

6)要求能够对计步脉冲和按键的抖动进行正确处理,2ms以内的变化忽略不计;

7)持续10s无计数脉冲后,自动转入暂停状态,计数停止,并有信号控制指示灯闪烁,闪烁周期1s;再次点击暂停键,继续计数,指示灯停止闪烁;

本实验设计完成一个电路来检测目标运动的次数,并在数码管上显示。用传感器检测抖动信号,采集到的信号经过放大器放大 ,将信号转变成方波,编程将信号在 fpga 方式处理,并将结果送数码管显示。

根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的计步器系统框图,及为设计的总体方案,框图如下图所示。

本设计因为各个模块功能简单,故直接用内部信号线连接起来形成一个整体,但是各模块功能简单介绍如下:

din为实际检测到的抖动信号,通过和d触发器的配合形成计数模块的使能端信号控制计数器的计数过程。

library ieee;

use use

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,resetd 触发器。

beginif (reset='0') then

b1<='0';

elsif (clk'event and clk='1') then

b1<=din;

end if;

end process ;

当使能信号en为1时,通过检测上升沿信号实现计数,并将计数信息保存在b5,b6变量内,b5为计数个位值,b6为计数十位值。

part3: process(clk,reset,b4计数器模块。

beginif (reset='0') then

b5<=(others=>'0')

b6<=(others=>'0');

elsif (clk'event and clk='1') then

if (b4='1') then

if (b5<"1001")then b5<=b5+'1';

elsif (b5>"1000") then b5<=(others=>'0');

if (b6<"1001")then b6<=b6+'1';

elsif (b6>"1000")then b6<=(others=>'0');

end if;

end if;

elsif (b4='0') then

b5<=b5;

b6<=b6;

end if;

end if;

end process;

扫描输出模块主要由分频器构成,通过计数器构成的分频器控制电平翻转控制位的选择,以此确定输出十位和个位。

part4:process(clk,reset扫描输出模块,控制使能输出。

beginif (reset='0') then

b8<=(others=>'0');

elsif (clk'event and clk='1') then

if (b8<"1111111111111111") then

b8<=b8+'1';

elsif (b8>"1111111111111110") then b8<=(others=>'0');

end if;

end if;

if (b8>"0111111111111111" and b8<"1111111111111111") then b9<='1' ;

elsif (b8<"1000000000000000" and b8>"0000000000000000") then b9<='0';

end if;

if (b9='1') then en_out<="11111101";

elsif (b9='0') then en_out<="11111110";

end if;

end process ;

part5:process(b9,b5,b6扫描输出模块,控制 led 管。

beginif (b9='0') then plays<=b5;

elsif (b9='1') then plays<=b6;

end if;

case plays is

when"0000"=>light<="11000000";

when"0001"=>light<="11111001";

when"0010"=>light<="10100100";

when"0011"=>light<="10110000";

when"0100"=>light<="10011001";

when"0101"=>light<="10010010";

when"0110"=>light<="10000010";

when"0111"=>light<="11111000";

when"1000"=>light<="10000000";

when"1001"=>light<="10010000";

when others=>light<="11111111";

end case;

end process ;

end beh**ioral;

din,clk,reset为输入信号,din为抖动信号,即人体运动时的计步信号,clk为时钟脉冲信号为计数器提供时钟脉冲,reset为复位信号,实现计步器复位(清零)。en,dout(light)为输出信号,en_out为选择显示十位还是个位,dout为计数值,并编码显示在数码管上。

一个完整的vhdl语言程序通常包括实体(entity)、结构体、配置、包集合(package)和库(library)5个部分组成。下面为此次课程设计的源**。

library ieee;

use use

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;

architecture beh**ioral of jibuqi is

signal b1,b4,b9:std_logic;--中间变量。

signal b8:std_logic_vector(15 downto 0);-分频。

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...