雨诺喜乐
这是大规模数字集成电路在系统可编程领域的经典课程设计。数字频率计是近代电子技术领域的重要测量工具之一,同时也是其他许多领域广泛应用的测量仪器。数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。数字频率计用于测量信号(方波,正弦波或其他周期信号)的频率,并用十进制数字显示,它具有精度高,测量速度快,读数直观,使用方便等优点。一个用VHDL语言实现的实例如下:-- Project Name: 恒精度频率计-- Target Devices: FPGA or CPLD-- Revision 0.01 - File Created-- Comments: clk--系统工作时钟,2MHz-------------reset--系统复位信号,高电平有效-------------Fx--为待测信号-------------FreqNx--为待测信号的计数值-------------FreqNs--为标准信号的计数值-------------Freq--为待测信号的频率------------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;----------------------------------------------------------entity Cymometer is generic(clk_freq : integer := 2000000);--系统工作时钟频率 Port ( clk : in STD_LOGIC; reset : in STD_LOGIC; Fx : in STD_LOGIC; ----待测信号 FreqNs : out natural; FreqNx : out natural); --Freq : out natural);end Cymometer;----------------------------------------------------------architecture Behavioral of Cymometer is---------------------------------------- signal start : STD_LOGIC;--此信号为高电平时计数器开始计数 signal CTRL : STD_LOGIC;--CTRL信号为待测信号和门控信号产生的计数器启动信号 signal CNTx : natural;--待测信号计数器 signal CNTs : natural;--标准信号计数器----------------------------------------begin--***************************************----产生一个门控信号,高电平有效 GateCtrl : process(clk) --------------------------- variable CNT0 : integer range 0 to 2_097_152;--门控信号计数器 --------------------------- begin if rising_edge(clk) then if reset='1' then CNT0 := 0; else CNT0 := CNT0 + 1; end if; --------- if reset='1' then start <= '0'; elsif CNT0 < (clk_freq*3/4) then start <= '1'; else start <= '0'; end if; end if; end process GateCtrl;--***************************************----产生CTRL信号,由待测信号和门控信号产生的计数器启动信号 CtrlGen : process(Fx) begin if rising_edge(Fx) then if reset='1' then CTRL <= '0'; else CTRL <= start; end if; end if; end process CtrlGen;--***************************************----用两个计数器分别对标准信号clk和待测信号signal计数------------------------------------计数标准信号,CTRL高电平期间有效 CountS : process(clk) begin if rising_edge(clk) then if reset='1' then CNTs <= 0; elsif CTRL='1' then CNTs <= CNTs + 1; else CNTs <= 0; end if; end if; end process CountS;------------------------------------计数待测信号,CTRL高电平期间有效 CountX : process(Fx) begin if rising_edge(Fx) then if reset='1' then CNTx <= 0; elsif CTRL='1' then CNTx <= CNTx + 1; else CNTx <= 0; end if; end if; end process CountX;--***************************************----CTRL下降沿将技术结果和测量值输出 CountOut : process(CTRL) begin if falling_edge(CTRL) then if reset='1' then FreqNs <= 0; FreqNx <= 0;-- Freq <= 0; else FreqNs <= CNTs; FreqNx <= CNTx;-- Freq <= (clk_freq / CNTs * CNTx); end if; end if; end process CountOut;end Behavioral;下面是为上面的模块编写的测试平台,在Modelsim下仿真通过,因为数据量较大,建议不要使用Altera及ISE仿真。--------------------------------------------------------------------------------LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL; ENTITY tb ISEND tb; ARCHITECTURE behavior OF tb IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT Cymometer PORT( clk : IN std_logic; reset : IN std_logic; Fx : IN std_logic; FreqNs : OUT natural; FreqNx : OUT natural; Freq : OUT natural ); END COMPONENT;--Inputs signal clk : std_logic := '0'; signal reset : std_logic := '1'; signal Fx : std_logic := '0'; --Outputs signal FreqNs : natural; signal FreqNx : natural;-- signal Freq : natural; -- Clock period definitions constant clk_period : time := 500ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: Cymometer PORT MAP ( clk => clk, reset => reset, Fx => Fx, FreqNs => FreqNs, FreqNx => FreqNx, -- Freq => Freq ); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; --产生待测信号 Fx_process : process begin Fx <= '0'; wait for 2*clk_period; Fx <= '1'; wait for 2*clk_period; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100ms. wait for clk_period*10; reset <= '0'; -- insert stimulus here wait; end process;END;参考原理M/T测频法。
史瑞克0111
1、频率计嘛就是用来测试信号频率的啊!2、用FPGA来做就最简单不过了!3、我做了一个频率范围在0.5Hz__20MHz,一点都不夸张的,而且精度还很高,比你想象的要高的多!4、软件设计就只要QUARTUS II,很好做的也很容易!5、就连报告也都有的!
快乐皇帝
第1节 引言 21.1 数字频率计概述21.2 频率测量仪的设计思路与频率的计算21.3 基本设计原理3第2节 数字频率计(低频)的硬件结构设计4 2.1系统硬件的构成42.2系统工作原理图42.3AT89C51单片机及其引脚说明 52.4信号调理及放大整形模块72.5时基信号产生电路72.6显示模块8第3节 软件设计123.1 定时计数 123.2 量程转换 123.3 BCD转换123.4 LCD显示15第4节 结束语 16参考文献 20附录 汇编源程序代码28
双鱼0303
1、 用FPGA实现控制基于I2C总线的EEPROM 2、 基于FPGA的简单OEM板GPS接收机设计 3、 基于FPGAD的数字频率计设计 4、 [电气工程]基于FPGA的电网基本电量数字测量系统的设计 5、 [电子信息工程]基于单片机和FPGA的位同步信号提取 6、 基于FPGA的数字通信系统 7、 基于FPGA和锁相环4046实现波形发生器 8、 UC/OSII在FPGA上的移植 9、 基于FPGA的IIR滤波器设计 10、 基于FPGA的TD-SCDMA信道编解码技术研究与实现(硕士) 11、 基于ARM和FPGA的数控系统的硬件设计(硕士) 12、 基于FPGA的JPEG压缩编码的研究与实现(硕士) 13、 OFDM通信系统基带数据处理部分的FPGA实现 14、 FPGA应用实验板设计 15、 UWB-OFDM解调器的仿真及FPGA在线仿真实现 16、 高速VITERBI译码器在ALTERA FPGA中的设计与实现 17、 基于FPGA温、湿度传感器系统设计 18、 基于FPGA的嵌入式系统开发板 19、 卫星信道延时模拟器的FPGA实现 20、 基于Altera FPGA的发动机ECU原型设计 21、 基于FPGA设计电梯控制系统 22、 FPGA在机卡分离式高清数字一体电视机里的应用 23、 PSK调制算法仿真与FPGA实现 24、 基于FPGA的数字复接系统帧同步器的设计
数字图像处理方面了解的了。
频率计设计基本原理可以参考这个blog,网址是:。后续还会有具体的设计实现方法,估计最近两天就会搞定
有必要上这儿来吗,去图书馆的数据库,这样类型的文章多得不得了啊
明白论文查重率,对于我们撰写论文以及修改论文查重率而言都是极为有利的,下面我为大家解释一下,论文查重率怎么算。一般来说:重复率 = 论文中抄袭字数/论文中总字数
数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。它利用VHDL硬件描述语言进行设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编