数控分频器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数控分频器的设计

一、实验目的:

学习数控分频器的设计和测试方法。

二、实验原理:

数控分频器的功能为在不同输入信号时,对时钟信号进行不同的分频,在输出端输出不同频率的信号。该电路可以用具有并行预置功能的加法计数器实现,方法是对应不同的输入信号,预置数(初始计数值)设定不同的值,计数器以此预置数为初始状态进行不同模值的计数,当计数器的状态全为1时,计数器输出溢出信号。用计数器的溢出信号作为输出信号或输出信号的控制值,使输出信号的频率受控于输入的预置数。

电路输出波形图:

三、实验内容:

1)根据实验原理画出电路框图,并计算在不同预置数时输出信号的频率与时钟频率的比值。

-------------------------------------------------------------------------------------------------------------

原理图:

数控分频器输出频率与输入时钟的关系:

当输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比。 任意小数都可以表示成a n b

+形式,其中a

()()1 a nb a M n P P b b n b a n a P b +⎛⎫⎛⎫=+= ⎪ ⎪⎝⎭⎝⎭-++⎛⎫= ⎪⎝⎭

上式表明分频器进行b 次n 分频时,设法多输入a 个脉冲。或者说在b 个脉冲输入周期中,进行b-a 次n 分频和a 次n+1分频。这就是小数分频的基本原理。n 和n+1也称为分频模式。利用上述小数分频的方法,同样也可以实现整数分频,即令a=0,就可以完成整数N 分频

2)编写实现数控分频器的VHDL程序。要求输出信号的占空比尽量为50%。

---------------------------------------------------------------------------

程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY DVF IS

PORT(CLK:IN STD_LOGIC;D:STD_LOGIC_VECTOR(3 DOWNTO 0);FOUT:OUT STD_LOGIC);

END;

ARCHITECTURE one OF DVF IS

SIGNAL FULL:STD_LOGIC;

BEGIN

P_REG:PROCESS(CLK)

VARIABLE CNT4:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF CLK'EVENT AND CLK='1' THEN

IF CNT4="1111" THEN

CNT4:=D;

FULL<='1';

ELSE CNT4:=CNT4+1;

FULL<='0';

END IF;

END IF;

END PROCESS P_REG;

P_DIV:PROCESS(FULL)

VARIABLE CNT2:STD_LOGIC;

BEGIN

IF FULL'EVENT AND FULL='1' THEN

CNT2:=NOT CNT2;

IF CNT2='1' THEN FOUT<='1';

ELSE FOUT<='0';

END IF;

END IF;

END PROCESS P_DIV;

END;

仿真波形:

管脚锁定:

信号旧试验箱新试验箱No.5

管脚号连接的器件管脚号连接的器件clk 43 Clk1 28 CLK0

D(3) 30 SW1233 SW1

D(2) 35 SW2234 SW2

D(1) 36 SW3235 SW3

D(0) 37 SW4236 SW4

Fout 29 LED1212 LED8