VHDL移相器课程设计完整代码
课程设计(综合实验)报告
( 2013 -- 20 14 年度第 1 学期)
名 称:EDA课程设计
题 目:数字频率计及移相器设计
院 系: 电信系
班 级: 电子1102
学 号: 201103020210
学生姓名: 刘薇
指导教师: 胡正伟
设计周数: 2
成 绩: ...
课程设计(综合实验)
( 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,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。