您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页数控分频器

数控分频器

来源:百家汽车网


北 华 航 天 工 业 学 院 《EDA技术综合设计》

课程设计报告

报告题目: 16X16点阵显示综合实验

作者所在系部: 电子工程系 作者所在专业:

数控分频器的设计

1、实验目的:

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

2、 实验原理:

数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如例下文所示。

1) VHDL及语句分析

LIBRARY IEEE;

USE IEEE.STD_LOGIC_11.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY DVF IS --定义实体DVF

PORT ( CLK : IN STD_LOGIC; --时钟输入

D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --7位预置数

FOUT : OUT STD_LOGIC ); --输出的频率

END DVF;

ARCHITECTURE one OF DVF IS --定义结构体one

SIGNAL FULL : STD_LOGIC; --定义信号full

BEGIN

P_REG: PROCESS(CLK) --进程P_REG中CNT8从预置数D开始逐步累加到255后,FULL置1;再将CNT8置为D,循环以获得一个新的周期脉冲序列FULL,即产生新的频率

VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

IF CLK'EVENT AND CLK = '1' THEN

IF CNT8 = \"11111111\" THEN

CNT8 := D;

FULL<='1';

ELSE CNT8 := CNT8 + 1;

FULL <= '0';

END IF;

END IF;

END PROCESS P_REG ;

P_DIV: PROCESS(FULL) --进程P_DIV中,FOUT是占空比为50%的周期信号。FULL上升沿时CNT2取反,形成0/1交替的序列。而FOUT随CNT2变化。

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;

2) 进程P_REG的功能

进程P_REG中CNT8从预置数D开始逐步累加到255后,FULL置1;再将CNT8置为D,循环以获得一个新的周期序列FULL,即用预置数D产生新频率的序列,达到分频的效果。如下图所示,当CNT8累加到255后,标记位FULL置1。因此,FULL与CLK的频率关系为:

FULL=CLK/(256-D)

注:当D=255时,FULL始终为1,FULL的频率为0。

下面是不同的D与FULL之间的关系。

3) 进程P_DIV的功能

进程P_DIV中,FOUT是占空比为50%的周期信号。FULL上升沿时CNT2取反,形成0/1交替的序列。而FOUT随CNT2变化。因此,FULL与FOUT的频率关系为:

FOUT=FULL/2

注:当D=255时,FULL始终为1,FULL的频率为0,所以FOUT的频率也为0。

4) CLK、FULL和FOUT之间的分频关系

FULL与CLK的频率关系为:FULL=CLK/(256-D)

FULL与FOUT的频率关系为:FOUT=FULL/2

因此,FOUT与CLK的频率关系为:FOUT=CLK/2(256-D)

3、实验结果

以下是电路的时序仿真图

以下是RTL电路图

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务