半整数分频器的设计
- 格式:docx
- 大小:1005.35 KB
- 文档页数:7
分频器的设计一、课程设计目的1.学会使用电路设计与仿真软件工具Hspice,熟练地用网表文件来描述模拟电路,并熟悉应用Hspice内部元件库。
通过该实验,掌握Hspice的设计方法,加深对课程知识的感性认识,增强电路设计与综合分析能力。
2.分频器大多选用市售成品,但市场上出售的分频器良莠不齐,质量上乘者多在百元以上,非普通用户所能接受。
价格在几十元以下的分频器质量难以保证,实际使用表现平庸。
自制分频器可以较少的投入换取较大的收获。
二.内容分频器-概述分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。
在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。
早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器,即使在输入输出信号均为正弦波时也往往采用模数转换-数字分频-数模转换的方法来实现分频。
正弦分频器除在输入信噪比低和频率极高的场合已很少使用。
分频器-作用分频器是音箱中的“大脑”,对音质的好坏至关重要。
功放输出的音乐讯号必须经过分频器中的各滤波元件处理,让各单元特定频率的讯号通过。
要科学、合理、严谨地设计好音箱之分频器,才能有效地修饰喇叭单元的不同特性,优化组合,使得各单元扬长避短,淋漓尽致地发挥出各自应有的潜能,使各频段的频响变得平滑、声像相位准确,才能使高、中、低音播放出来的音乐层次分明、合拍,明朗、舒适、宽广、自然的音质效果。
在一个扬声器系统里,人们把箱体、分频电路、扬声器单元称为扬声器系统的三大件,而分频电路对扬声器系统能否高质量地还原电声信号起着极其重要的作用。
尤其在中、高频部分,分频电路所起到的作用就更为明显。
其作用如下:合理地分割各单元的工作频段;合理地进行各单元功率分配;使各单元之间具有恰当的相位关系以减少各单元在工作中出现的声干涉失真;利用分频电路的特性以弥补单元在某频段里的声缺陷;将各频段圆滑平顺地对接起来。
课程设计报告设计名称EDA(VHDL)课程设计专业班级电子0942姓名学号电气与信息工程学院二0一二年一月基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。
本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。
二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通112entity cont6 isport(clk:instd_logic;rst:instd_logic;en:instd_logic;qa,qb,qc:outstd_logic);end entity cont6;architecturewode of cont6 issignalcount:std_logic_vector(2 downto 0);beginprocess(clk,rst,en)isbeginifrst='1'then count<="000";elsifclk'event and clk='1'thenif en='1'thenif count="101" then count<="000";else count<=count+1;end if;end if;end if;end process;qa<=count(0);qb<=count(1);qc<=count(2);end architecture wode;模六计数器原件生成图如下:图一模六计数器原件生成上面的程序经编译、时序模拟在MAX+PLUSⅡ中可得到如图所示的仿真波形:图2模6计数器仿真波形(2)半整数分频器设计现在通过设计一个分频系数为5.5的分频器给出用FPGA设计半整数分频器的一般方法。
实验名称:分频器设计实验时间:2015年3月17日上午实验人:一、实验项目分频器设计实验:利用QuatusII仿真实现分频器设计。
二、实验仪器及器件计算机、USB-BLASTER下载线、数字系统实验箱、5V稳压电源。
三、实验目的1、熟悉教学实验板的使用,初步了解掌握Verilog HDL语言和VHDL语言。
2、掌握分辨器原理,熟悉分频器的功用,学习分频器的设计、掌握用Verilog HDL 或者VHDL 语言描述分频器的方法。
3、熟悉和掌握FPGA开发软件QuatusII的基本操作,用QuatusII编译Verilog和VHDL语言。
4、掌握USB-BLASTER下载工具的安装、以及程序下载方法。
5、学会FPGA I/O引脚分配和实现过程。
四、实验要求及内容1、首先下载给定的VHDL硬件描述语言编写的分频器示例程序,读懂程序,编译并仔细观察在实验板上的现象。
2、在QuatusII平台上进行波形仿真。
3、扩展内容:设计分频电路得到3分频器、8分频器和32分频器。
编写分频器的Verilog 或VHDL代码,并仿真,同时给出3、8、32分频仿真波形。
五、实验原理分频器主要分为偶数分频、奇数分频、半整数分频和小数分频,如果在设计过程中采用参数化设计,就可以随时改变参量以得到不同的分频需要。
在对时钟要求不是很严格的FPGA系统中,分频通常都是通过计数器的循环计数来实现的。
偶数分频(2N)偶数分频最为简单,很容易用模为N的计数器实现50%占空比的时钟信号,即每次计数满N(计到N-1)时输出时钟信号翻转。
奇数分频(2N+1)使用模为2N+1的计数器,让输出时钟在X-1(X在0到2N-1之间)和2N时各翻转一次,则可得到奇数分频器,但是占空比并不是50%(应为X/(2N+1))。
得到占空比为50%的奇数分频器的基本思想是:将得到的上升沿触发计数的奇数分频输出信号CLK1,和得到的下降沿触发计数的相同(时钟翻转值相同)奇数分频输出信号CLK2,最后将CLK1和CLK2相或之后输出,就可以得到占空比为50%的奇数分频器。
课程设计报告设计名称EDA(VHDL)课程设计专业班级电子0942姓名姬鹏冲学号0904451213成绩评定电气与信息工程学院二0一二年一月课程设计要求和成绩考核办法(要求和成绩考核办法在封皮背面打印)1.不允许在教室或实验室内吸烟、吃零食,不准带无关人员到教室或实验室活动,否则扣平时表现分。
2.凡病事假超过3天(每天7小时),或迟到早退三次以上,或旷课两次(1天)以上,不得参加本次考核,按不及格处理,本次课程设计不能通过。
3.病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。
4.课程设计的考核由指导教师根据设计表现(出勤、遵守纪律情况等)、设计报告、设计成果、答辩等几个方面,给出各项成绩或权重,综合后给出课程设计总成绩。
该设计考核须经教研室主任审核,主管院长审批备案。
5.成绩评定采用五级分制,即优、良、中、及格和不及格。
6.课程设计结束一周内,指导教师提交成绩和设计总结。
7.设计过程考核和成绩在教师手册中要有记载。
实习报告要求实习报告内容、格式各专业根据实习(设计)类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。
注意:1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。
2.为了节省纸张,保护环境,便于保管设计报告,统一采用A4纸,课程设计报告建议双面打印(正文采用宋体五号字)或手写,左侧装订,订两个钉。
基于FPGA的半整数分频器设计一、系统设计任务及功能概述本系统是利用VHDL硬件描述语言和原理图输入方式,通过MUX+PLUSⅡ开发软件和ALTER 公司的FLEX系列EPF10K10LC84-4型FPGA方便的完成了半整数分频器电路的设计。
本系统是通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。
二、系统设计方案和程序设计1.系统设计方案我们采用脉冲吞吐计数器和锁相环技术,先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的5.5分频值。
基于FPGA的半整数及整数分频器的参数化设计
古良玲;杨永明;郭巧惠
【期刊名称】《电子器件》
【年(卷),期】2005(028)002
【摘要】一种具有通用性的半整数及整数分频电路,应用模块化的思想以及参数化的设计方法,在FPGA实验开发平台上得以实现,通过对具体参数的简单修改就可应用于不同场合,实验仿真以及仪器测试结果均取得了良好的效果.该设计通用性较好,可以应用于各种数字电路系统设计中.
【总页数】3页(P404-406)
【作者】古良玲;杨永明;郭巧惠
【作者单位】重庆大学电气工程学院,重庆,400044;重庆大学电气工程学院,重庆,400044;重庆大学电气工程学院,重庆,400044
【正文语种】中文
【中图分类】TP331.2;TN77
【相关文献】
1.基于FPGA的半整数分频器的设计 [J], 高凡;贾磊磊
2.基于CPLD/FPGA的半整数分频器的设计 [J], 林海波
3.基于CPLD/FPGA的半整数分频器的设计 [J], 夏继军
4.基于CPLD/FPGA的半整数分频器的设计 [J], 王蓉;李伟民
5.基于CPLD/FPGA的半整数分频器的设计 [J], 汪霞
因版权原因,仅展示原文概要,查看原文内容请购买。
基于CPLD的任意整数半整数分频器设计0 引言在数字系统设计中,根据不同的设计需要,经常会遇到偶数分频、奇数分频、半整数分频等,有的还要求等占空比。
在基于cpld(复杂可编程逻辑器件)的数字系统设计中,很容易实现由计数器或其级联构成各种形式的偶数分频及非等占空比的奇数分频,但对等占空比的奇数分频及半整数分频的实现较为困难。
本文利用vhdl(甚高速集成电路硬件描述语言),通过quartus ⅱ4.2 开发平台,设计了一种能够实现等占空比的整数和近似等占空比的半整数分频器,这种设计方法原理简单,而且只需很少的cpld 逻辑宏单元。
1 设计原理系统设计框图如图1 所示。
根据不同分频系数设置适当的计数器周期,每个计数值对应输入时钟信号fi 的一个周期,让q0 只在fi 的上升沿及适当的计数范围内产生高电平,最后将q0 和q1 进行逻辑或操作,进而得到所需的分频信号fo。
q1 的作用是在奇数分频中补足下降沿处半个时钟周期,使其等占空比,以及在半整数分频中,在时钟下降沿处产生分频信号的上升沿,以实现半整数分频。
下面介绍如何确定计数器周期以及q0、q1 产生高电平输出时各自的计数范围。
为叙述方便,现规定如下标记:分频系数为divide(max downto 0),其中max 是分频数对应二进制数的最高位,对于半整数分频,最低位即第0 位为小数位;q 0_count 和q1_count 分别为q0 和q1 产生高电平的计数范围,并记divide(max downto 1)为a,divide(max downto 2)为b,divide(max downto 0)-1 为c。
1.1 偶数及奇数分频计数器周期都为0 到c。
等占空比的偶数分频很容易实现,在此不加叙述。
对奇数分频,只需当q0_count<a 时q0 输出高电平,当q1_count=a-1 时q1 输出一个周期的高电平,其他情况下q0 和q1 都为低电平,然后把q0 和q1 逻辑或,所得的输出fo。
目录引言 (3)1绪论 (4)2系统设计方案 (5)2.1设计方案比较 (5)2.1.1分频器的设计 (5)2.1.2控制输入装置的设计 (5)2.2 设计方案框图 (6)3系统设计实现 (7)3.1分频器部分 (7)3.1.1设计思路 (7)3.1.2设计实现 (8)3.1.3仿真分析 (10)3.2输入控制部分 (11)3.2.1设计思路 (11)3.2.2设计实现 (11)3.2.3仿真波形 (23)3.3分频显示部分 (24)3.3.1设计思路 (24)3.3.2设计实现 (26)3.3.3仿真分析 (33)3.3.4所需要改进之处 (36)3.4各部分整合 (37)4系统设计验证 (39)4.1适配分析结果 (39)4.2硬件运行 (39)5软硬件平台的介绍 (44)5.1软件平台 (44)5.1.1MAX+PLUS Ⅱ开发工具 (44)5.1.2MAX+PLUS Ⅱ的设计方法 (45)5.2 硬件平台 (46)5.2.1硬件原理 (46)5.2.2引脚规定 (48)5.2.3使用方法 (49)6小数分频技术的拓展 (51)结束语 (54)致谢 (55)附录 (56)A开题报告 (56)B中期报告 (59)C英文资料与中文翻译 (62)引言随着计算机与微电子技术的发展,电子设计自动化EDA技术和可编程逻辑器件PLD的发展都非常迅速,能否熟练地利用EDA软件进行PLD器件开发已成为电子工程师必须掌握的基本技能。
过去传统的设计方法采用标准通用器件和其他元件对电路板进行设计,由于系统所需的元件的种类和数量很多,连线复杂,因而体积大、功耗大、可靠性差。
而先进的EDA工具使传统的“自下而上”的设计方法已经变为“自顶向下”的设计方法,以硬件描述语言HDL来描述系统级设计,利用计算机对系统进行方案设计和功能划分,并支持系统仿真和高层综合,关键电路可使用ASIC来实现,因而使系统的体积、重量减少,功耗降低,具有高性能、高可靠性和高保密性等优点。
基于FPGA的可控分频器的设计【摘要】本文介绍了两种分频系数为整数或半整数的可控分频器的设计方法。
其中之一可以实现50%的奇数分频。
利用VHDL语言编程,并用QUARTERS||4.0进行仿真,用FPGA 芯片实现。
关键词:半整数,可控分频器,VHDL, FPGA【Abstract】The paper presents two method for designing the controllable frequency divider which division ratio is integer or half-integer. The frequency divider implemented with a FPGA chip is described in VHDL and simulated with.Keywords: half-integer, simulated, controllable frequency divider, VHDL1.引言分频器是数字系统设计中的基本电路,根据不同设计的需要,我们会遇到偶数分频、奇数分频、半整数分频等,有时要求等占空比,有时要求非等占空比。
在同一个设计中有时要求多种形式的分频。
通常由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频,实现较为简单。
但对半整数分频,等占空比的奇数分频及可控分频实现较为困难。
本文利用VHDL硬件描述语言,通过QuartusⅡ4.0开发平台,使用Altera公司的FPGA,设计了一种能够满足上述各种要求的较为通用的可控分频器。
只要在分频器的输入端输入相应的分频系数,就可以得到所需的频率。
在通常的FPGA设计方法中,为了能实现等占空比的奇数分频,常采用对输入频率进行二倍频的电路,以及对倍频后的频率F进行偶数分频,这样大大降低了设计电路的最高工作频率,提高了对硬件的要求。
为此,本文的设计在不改变设计要求的前提下,对常规的设计方法进行了改进,实现了在不需要对输入频率进行二倍频的条件下的等占空比分频,从而更好的利用了FPGA的频率资源,同时还降低了设计的复杂性。
22.半整数分频器的设计
一、实验原理:
1小数分频的基本原理
设有一个5 MHz的时钟源,但电路中需要产生一个2 MHz的时钟信号,由于分频比为2.5,因此整数分频器将不能胜任。
采用可编程逻辑器件实现分频系数为2.5的分频器,可采用以下方法:设计一个模3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,每来两个脉冲就扣除一个脉冲(实际上是使被扣除的脉冲变成很窄的脉冲,可由异或门实现),就可以得到分频系数为2.5的小数分频器。
采用类似方法,可以设计分频系数为任意半整数的分频器。
小数分频的基本原理为脉冲吞吐计数法:设计两个不同分频比的整数分频器,通过控制单位时间内两种分频比出现的不同次数,从而获得所需的小数分频值。
例如设计一个分频系数为10.1的分频器,可以将分频器设计成9次10分频,1次11分频,这样总的分频值为 (9×10+1×11)/(9+1) =10.1
从这种实现方法的特点可以看出,由于分频器的分频值在不断改变,因此分频后得到的信号抖动较大。
当分频系数为N-0.5(N为整数)时,可控制扣除脉冲的时间,使输出为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频。
1.2 电路组成
设需要设计一个分频系数为N-0.5的分频器,其电路可由一个模N计数器、一个二分频器和一个异或门组成,如图1所示。
在实现时,模N计数器可设计成带预置的计数器,这样就可以实现任意分频系数为N-0.5的分频器。
二、半整数分频器代码:
VHDL程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY deccount IS
PORT (
inclk: IN STD_LOGIC; --时钟源
preset: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --预置分频值N
outclk1: OUT STD_LOGIC;
outclk2: BUFFER STD_LOGIC ); --输出时钟
END deccount;
ARCHITECTURE deccount_arch OF deccount IS
SIGNAL clk, divide2: STD_LOGIC;
SIGNAL count: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
clk<=inclk XOR divide2; --inclk与divide2异或后作为模N计数器的时钟
outclk1<=inclk; --outclk1和inclk同步
PROCESS(clk)
BEGIN
IF(clk'event AND clk='1') THEN
IF(count="0000") THEN
count<=preset-1; --置整数分频值N
outclk2<='1';
ELSE
count<=count-1; --模N计数器减法计数
outclk2<='0';
END IF;
END IF;
END PROCESS;
PROCESS(outclk2)
BEGIN
IF(outclk2'event AND outclk2='1') THEN
divide2<=NOT divide2; --输出时钟二分频
END IF;
END PROCESS;
END deccount_arch;
三、程序仿真波形
如输入preset=6,即分频值为5.5
功能仿真波形如下
由于内置时钟频率为50MHZ,频率过大使波形不准确。
所以再输入信号前再连接一个分频器
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity clk is
port
( clk : in std_logic;
en : in std_logic;
qcnt : buffer std_logic_vector( 24 downto 0);
clkout :buffer std_logic
);
end clk;
architecture behave of clk is
begin
process (clk)
begin
if(en='1') then
if(clk'event and clk='1') then
if(qcnt="1011111010111100001000000") then
qcnt<="0000000000000000000000000";
else
qcnt<=qcnt+1;
end if;
end if;
end if;
clkout<=qcnt(8);
end process;
end behave;
引脚设置
CLK 62
Preset[0] 33
Preset[1] 34
Preset[2] 35
Preset[3] 36
Outclk1 27
Outclk2 28
可以通过开关量输入接口输入preset,设置N,设计0.5~15.5的分频器示波器连接27,可观察outclk1的波形,即输入波形
示波器连接28,可观察outclk2的波形,即分频后输出波形
四、实验箱结果
输入波形CLK如下
N=2时,分频为1.5,输出outclk2如下
N=3时,分频为2.5,输出outclk2如下
N=4,分频3.5。
输出outclk2如下
N=5,分频4.5,输出outclk2如下
N=6,分频5.5 输出outclk2如下
只需调节开关量输入接口,N可以从0取到16。