为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VHDL移相器课程设计完整代码

2019-01-13 7页 doc 23KB 25阅读

用户头像

is_083599

暂无简介

举报
VHDL移相器课程设计完整代码 课程设计(综合实验)报告 ( 2013  -- 20 14  年度第  1 学期) 名    称:EDA课程设计 题    目:数字频率计及移相器设计 院    系: 电信系                班    级:  电子1102        学    号:  201103020210                学生姓名:  刘薇                指导教师:  胡正伟                设计周数:    2            成    绩:                ...
VHDL移相器课程设计完整代码
课程设计(综合实验) ( 2013  -- 20 14  年度第  1 学期) 名    称:EDA课程设计 题    目:数字频率计及移相器设计 院    系: 电信系                班    级:  电子1102        学    号:  201103020210                学生姓名:  刘薇                指导教师:  胡正伟                设计周数:    2            成    绩:                  日期:  2013 年  12 月  2 一、课程设计的目的与要求 设计一个数字频率计,能够实现测量频率为60KHz~150KHz之间的信号。并能实现该输入信号进行15°~ 180°移相。移相步进为15° 二、设计正文 1、频率计设计思路 频率计测量未知信号频率大小采用用低频率信号高频率信号(低频率信号的频率为已知,高频率信号为所测值)的思想。采用0.5KHZ的已知频率信号clk作为测量信号,则clk的周期为2ms,高、低电平持续时间分别为1ms,频率即为为单位时间内的脉冲个数,通过统计在clk低电平期间待测量信号clk-in的上升脉冲沿个数,即可得到待测信号clk-in的频率大小,单位为KHZ。 2、移相器设计思路 移相器的设计基于移位寄存器的工作原理。在信号clk上升沿的驱动下,N位移位寄存器并行输出,设clk的周期为T,则N个端口的输出依次延时长度T。相比较输入信号din,第0个端口输出dout【0】延时T,第1个端口输出dout【1】延时2T,第2个端口输出dout【2】延时3T,依次类推。而对输入波移相其实就相当于在时间上的延时。设输入波形din的周期为To,信号一个完整周期是360度,对应时间为To,则15度对应时间为t=To/24。15度移相相当于时间上延时t,30度移相相当于时间上延时2t,依次类推。要想使移位寄存器成为15度步进移相器,只需选择合适的驱动信号clk,使得T=t,即选择驱动信号clk的频率是输入波形din频率的24倍,即可实现15度步进移相。 三、课程设计总结 在自主设计中,要学会将书本上的知识学以致用。对于本题目提出的设计,有许多不够完善的地方,如实际中并没有各种频率的信号源来驱动移相器完成移相,因此该方法只适用于仿真。 四、参考文献 胡正伟 谢志远 《电子设计自动化技术基础教程 》 附录 1、频率计设计代码 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fre_count is port(clk_in:in std_logic; clk:in std_logic;--0.5KHZ signal count:out std_logic_vector(7 downto 0)); end entity fre_count; architecture rtl of fre_count is signal  temp:std_logic_vector(7 downto 0); begin process(clk)is begin if clk'event and clk='1' then count<=temp; end if; end process; process(clk_in)is begin if clk='0' then if clk_in'event and clk_in='1'then    temp<=temp+'1'; end if;    else temp<="00000000";    end if;  end process; end architecture rtl; 2、移相器设计代码 library ieee; use ieee.std_logic_1164.all; entity test is generic (n:integer:=12); port(rst_n:in std_logic; clk:in std_logic; din:in std_logic; dout:out std_logic_vector(n-1 downto 0)); end entity test; architecture rtl of test is signal temp:std_logic_vector(n-1 downto 0); begin process(rst_n,clk)is begin if rst_n='0' then temp<=(others=>'0');-- elsif clk'event and clk='1' then temp(0)<=din; for i in 0 to n-2 loop temp(i+1)<=temp(i); end loop; dout<=temp; end if; end process; end architecture rtl; 3、频率计仿真图 (1)当输入信号为90KHZ (2)当输入信号为100KHZ时 4、移相器仿真图
/
本文档为【VHDL移相器课程设计完整代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索