媛姐姐丶
这是大规模数字集成电路在系统可编程领域的经典课程设计。数字频率计是近代电子技术领域的重要测量工具之一,同时也是其他许多领域广泛应用的测量仪器。数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。数字频率计用于测量信号(方波,正弦波或其他周期信号)的频率,并用十进制数字显示,它具有精度高,测量速度快,读数直观,使用方便等优点。一个用VHDL语言实现的实例如下:-- Project Name: 恒精度频率计-- Target Devices: FPGA or CPLD-- Revision - File Created-- Comments: clk--系统工作时钟,2MHz-------------reset--系统复位信号,高电平有效-------------Fx--为待测信号-------------FreqNx--为待测信号的计数值-------------FreqNs--为标准信号的计数值-------------Freq--为待测信号的频率------------------------------------------------------------------------------------library IEEE;use ;use ;use ;----------------------------------------------------------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 ;USE ;USE ; 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测频法。
1982吃货一枚
数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。它利用VHDL硬件描述语言进行设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程器件(CPLD)实现数字频率计的设计原理及相关程序。通过了Max+plusⅡ软件进行仿真、硬件调 ... 你可以去这个网 址看看
工程测量被广泛应用于测绘、国土规划、土建工程等多领域,包含普通测量、控制测量、地形测量、海洋测量、大地测量、道路测量、建筑测量、地下工程测量、桥梁工程测量、隧道
GPS在工程测量中的优化与应用探讨 摘要]鉴于GPS相对于全站仪等传统测量技术具有全天候、高精度、自动化、高效益等优势,本文通过对几个工程测量实例的实 施、对比
开 题 报 告 学 生: 一、 选题意义 1、 理论意义 2、 现实意义 二、 论文综述 1、 理论的渊源及演进过程 2、 国外有关研究的综述 3、 国内研究的
在建筑工程中,精确的工程测量对于工程建设来讲是不可忽视的部分,而受到内外因素的作用,工程测量会出现精度不足,这会制约工程测量的发展,并直接对工程建设造成影响。下
道路桥梁,一般由路基、路面、桥梁、隧道工程和交通工程设施等几大部分组成。下面是我精心推荐的一些道路桥梁工程技术论文题目,希望你能有所感触! 道路桥梁