• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的占空比检测功能VHDL代码Quartus仿真

07/21 14:12
382
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2405091TZQ57.doc

共1个文件

名称:基于FPGA占空比检测功能VHDL代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

FPGA实现功能

(1)比较电路输出的方波信号输入到FPGA,方波信号的频率范围是100Hz~5kHz,占空比范围5%~95%;

(2)使用硬件描述语言对FPGA编程,设计数字电路实现对输入的方波信号进行占空比范围判断并显示判断结果,电路的顶层实体参考如图5所示;

QQ图片20240509184254.png

图5顶层实体参考

(3)当方波占空比范围在5%~25%时,电路输出“00”;当方波占空比范围在26%~50%时,电路输出“01”;当方波占空比范围在51%~75%时,电路输出“10”;当方波占空比范围在76%95%时,电路输出“11”;

(4)每当输入信号的方波上升沿到来时,输岀占空比范围判断结果(此结果为方波上一个周期的占空比判断结果),参考时序图如图6所示。

QQ图片20240509184306.png

图6参考时序图

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

端口图

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--占空比检测
ENTITY?dcm?IS
???PORT?(
??????clk??:?IN?STD_LOGIC;--时钟
??????sw???:?IN?STD_LOGIC;--输入方波1
??????q????:?OUT?STD_LOGIC_VECTOR(1?DOWNTO?0)--输出
???);
END?dcm;
ARCHITECTURE?behave?OF?dcm?IS
???
???SIGNAL?sw0???????????:?STD_LOGIC?:=?'0';
???SIGNAL?sw1???????????:?STD_LOGIC?:=?'0';
???
???SIGNAL?sw_rise???????:?STD_LOGIC;
???
???SIGNAL?cnt_high??????:?INTEGER?:=?0;
???SIGNAL?cnt_low???????:?INTEGER?:=?0;
???SIGNAL?cnt_high_temp?:?INTEGER?:=?1;
???SIGNAL?cnt_low_temp??:?INTEGER?:=?10;
???
???SIGNAL?duty_data?????:?INTEGER?:=?0;
BEGIN
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????sw0?<=?sw;--D触发器
??????END?IF;
???END?PROCESS;
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????sw1?<=?sw0;--D触发器
??????END?IF;
???END?PROCESS;
???
???sw_rise?<=?sw0?AND?NOT(sw1);--得到方波的上升沿信号
???PROCESS?(clk)
???BEGIN

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=723

  • 2-2405091TZQ57.doc
    下载

相关推荐