基于FPGA的相位差测量模块设计.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的相位差测量模块设计

基于FPGA的相位差测量模块的设计 相位差测量设计思路 相位差测量设计要求 基于FPGA设计一个测量两路同频率信号相位差的模块,具体要求如下: 测量信号频率范围: 20Hz~20kHz ,精度:2度,测量波形: 方波。 自行设计相位差可控双路输出脉冲源作为被测对象。 发挥部分: (1)相位差和频率交替显示或同时显示 (2)提高测量精度 (3)拓宽频率范围到20Hz~200kHz (4)设计出一套相位计前置整形电路方案(采用模拟电路或者模数混合,仅设计和仿真,不制作),要求能自适应峰峰值在0.2V至5伏的非方波输入信号,尽量减少两路输入信号幅度不一致引入的误差,带宽不小于20Hz~20kHz,输出信号能接入本课题设计的相位差测量模块。 相位差测量设计方案 根据题目要求,我们组把这个模块的设计分为四个子模块,分别为:信号源的发生、频率计的设计、相位差的测量和四位LED相位差显示。信号源的发生产生两路同频、相位差可控的信号;频率计的设计是借用信号源产生的信号,然后根据内部晶振产生闸门宽度为1秒的闸门信号,在高电平时开始计数,记得的周期个数,即信号源产生信号的频率;相位差的测量是先通过测量两路信号的上升沿之间内部晶振的周期数,然后由此周期数换算出相位差,再通过VHDL语言内部函数转换成十进制数输出到显示模块。 RTL图如下: 模块程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY kzys IS PORT ( CLK : IN STD_LOGIC; KG : IN STD_LOGIC; ZS : IN NATURAL; KG_OUT: OUT STD_LOGIC ); END entity kzys; ARCHITECTURE one OF kzys IS SIGNAL CNT: NATURAL; BEGIN PROCESS(KG,CLK) BEGIN IF KG='0' THEN CNT<=0; KG_OUT<='0'; ELSIF CLK'EVENT AND CLK='1' THEN IF CNT<ZS THEN CNT<=CNT+1; ELSE KG_OUT<='1'; END IF; END IF; END PROCESS; END; library ieee; use ieee.std_logic_1164.all; entity xhk is port(sw_1:in std_logic_vector(4 downto 0); f_out1:out natural; y_out2:out natural ); end xhk; architecture one of xhk is begin process(sw_1) begin case sw_1 is when "00001"=>f_out1<=; y_out2<=; when "00010"=>f_out1<=; y_out2<=; when "00011"=>f_out1<=; y_out2<=; when "00100"=>f_out1<=6666; y_out2<=5556; when "00101"=>f_out1<=6666; y_out2<=11111; when "00110"=>f_out1<=6666; y_out2<=16667; when "00111"=>f_out1<=499; y_out2<=1806; when "01000"=>f_out1<=499; y_out2<=1667; when "01001"=>f_out1<=499; y_out2<=625; when "01010"=>f_out1<=82; y_out2<=174; when "01011"=>f_out1<=82; y_out2<=81; when "01100"=>f_out1<=82;

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档