PLL信号发生器的设计.docx
《PLL信号发生器的设计.docx》由会员分享,可在线阅读,更多相关《PLL信号发生器的设计.docx(38页珍藏版)》请在冰点文库上搜索。
PLL信号发生器的设计
PLL信号发生器的设计
【摘要】本设计以MAX038及锁相环技术为核心,设计了一个高精度多功能信号发生器。
该信号发生器,能产生1Hz~11.0592MHz的正弦波、方波和三角波信号。
频率的调节方式有两种,连续调节和按步进调节。
由MAX038结合电位器等外围电路即可实现对频率的连续调节。
步进调节部分又分为粗调和细调。
由AT89C52单片机通过D/A转换器对MAX038的控制实现频率的粗调,再结合锁相环模块电路(MC145151)即可实现频率步进的精确调节。
输出频率在不同的波段,频率步进值不同。
在信号输出端接一级运算放大电路来实现对信号输出幅度的调节。
该信号发生器频带宽,精度高,实现了输出信号在频率和幅值上的精确调整,可应用于各种电子测量和控制场合。
目录
引言1
第1章总体方案设计2
1.1方案设计与论证2
第2章硬件设计3
2.1、信号发生模块3
2.1.1、MAX038特性3
2.1.2、电路实现4
2.2单片机模块5
2.2.1芯片介绍5
2.2.2电路实现6
2.3运放模块6
2.3.1反相运算放大器7
2.3.2同相运算放大器7
2.4、D/A转换模块8
2.4.1芯片介绍8
2.4.2、电路实现11
2.5、锁相环模块11
2.5.1芯片介绍11
2.5.2、电路实现12
2.6、滤波模块13
第3章软件设计15
3.1、程序15
3.1.1、流程图15
3.1.2、源程序15
3.2、电路仿真16
第4章、硬件调试17
4.1制版17
4.2、硬件调试18
结束语20
致谢21
附录Ⅰ23
附录II24
附录III24
引言
在现代电子学的各个领域,常常需要高精度且频率可方便调节的信号发生器。
各种波形曲线均可以用三角函数方程式来表示。
能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。
函数信号发生器在电路实验和设备检测中具有十分广泛的用途。
函数信号发生器的实现方法通常有以下几种[1]:
(1)用分立元件组成的函数发生器:
通常是单函数发生器且频率不高,其工作不很稳定,不易调试。
(2)可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。
早期的函数信号发生器IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。
(3)利用单片集成芯片的函数发生器:
能产生多种波形,达到较高的频率,且易于调试。
鉴于此,美国马克西姆公司开发了新一代函数信号发生器ICMAX038,它克服了
(2)中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫及的。
MAX038频率高、精度好,因此它被称为高频精密函数信号发生器IC。
结合锁相环技术,可以大大提高频率的稳定度,
(4)利用专用直接数字合成DDS芯片的函数发生器:
它以有别于其它频率合成方法的优越性能和特点,成为现代频率合成技术中的妓妓者。
具体体现在相对带宽宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号。
可编程和全数字化、控制灵活、方便。
但比较昂贵。
综合分析以上四种实现方法的性价比,我们决定采用单片集成芯片MAX038来设计函数发生器。
频率越高、产生波形种类越多的发生器性能越好,但器件成本和技术要求也大大提高,因此在满足工作要求的前提下,性价比高的发生器是我们的首选。
本设计基于实际使用中对信号发生器的具体要求,设计了一种以单片机和MAX038为核心的信号发生器。
在单片机控制的方式下进行频率、波形等参数设置和调整。
频率调节方式有两种模式,连续调节和按步进调节。
能输出正弦波、三角波、方波信号,输出频率范围宽(1HZ-11.0592M),通过更换对地电容来更换输出频段。
第1章总体方案设计
1.1方案设计与论证
方案一:
采用MCl45151、MAX038、DAC0832组成的电路如图1-1-1所示。
图1-1-1
MAX038是一个能产生1Hz~20MH2的低失真正弦波、三角波、锯齿波或矩形(脉冲)波的高频波形产生器,它只要少量的外部元件。
所需的输出波形可由在A0和A1输出端设置适当的代码来选择。
MAX038输出频率取决于注入IIN脚电流的大小、COSC脚的电容量(对地)和FADJ脚的电压。
输出的频率F0(MHz)与IIN(μA)成正比、与CF(pF)成反比。
Max038芯片内部提供了一个2.5V的基准电压源,将此引脚与电位器相连,并输入到Max038的IIN脚,改变电阻值既可以实现频率的连续调节。
应用单片机AT89C52产数字信号,接到DA0832的数字输入端。
DAC0832与运放741组合,产生离散可调电压值,将该电压接到一固定的5.1K电阻上,将步进电压转化为步进电流。
将此电流接到MAX038的IIN脚。
将MAX038的同位输出端SYNC与频率合成器145151的压控振荡器的输入端Fin连接,结合相关电路构成锁相环路,将频率锁定。
在输出端的一个宽频带低通滤波器可以以合理的保正让正弦波、方波及三角波通过,而限制由÷N电路产生的高频噪声。
优点:
可控制的频率范围广(从0.1Hz到20MH2),能产生准确的高频三角波、矩形波和脉冲波。
占空比控制容易,频率稳定度优于10-6。
低失真的正弦波(0.75%)。
缺点:
技术要求较高
方案二:
采用CPLD分频的74HC4046的电路采用CPLD分频的74HC4046的电路如图1-1-2所示。
图1-1-2采用CPLD分频的74HC4046的电路
利用晶振与CPLD芯片组成晶体振荡器,提供基准频率;CPLD编辑组成÷N分频电路,利用单片机改变控制其分频比。
利用CPLD编程特性,让其成为一个可编程的12位计数器和D触发器的组合成为可置数的÷N分频电路,让其为74HC4046集成锁相环输入正确的占空比为50%的波形。
优点:
能达到设计要求的中心频率8.2MH2的扫频电路,能产生准确的高频波形。
CPLD和单片机的使用让扫频电路的步进控制、频率的精确产生得以实现。
缺点:
74HC4046芯片在与CPLD组成的反馈控制回路中,如果分频比过高(经计算和实际验证不能大于100),否则将很难入锁,而我们需要至少576分频;而且随着分频比的升高,稳定时间也随之变长,根本不能达到85Hz的扫频频率。
方案三:
采用LPC2138开发板产生,LPC2138利用AD输出口程控可产生正弦波、方波、三角波,通过程序可实现频率变换。
优点:
可以直接通过程序控制频率,不许要复杂的外围电路。
缺点:
不能满足本函数信号发生器对频率范围的要求,而且在实现步进调制时,波形很容易失真。
根据上述三种方案的特点及设计要求,决定采取方案三来进行设计。
MAX038的整体性能比较好且外围电路更加简洁,性能稳定可靠、频率能达到设计任务、可调性好。
第2章硬件设计
2.1、信号发生模块
2.1.1、MAX038特性
MAX038性能特点和工作原理[7][8]
(1)输出频率范围:
0.1~20MHz,最高可达40MHz;
(2)可产生正弦波、方波、三角波、锯齿波及脉冲波;
(3)输出频率和占空比(15%~85%)独立可调;(4)低输出阻抗的输出缓冲器;
(5)备有TTL兼容的独立同步信号SNYC(方波输出,占空比固定为50%),方便组建频率合成器系统;
(6)低温度漂移。
MAX038CPP采用20引脚DIP封装,MAX038CWP采用20引脚贴片SO封装。
引脚定义见图1-1-3各引脚功能简述如
REF:
芯片内部2.5V参考电压输出;
GND:
模拟地;
A0,A1:
输出波形选择,TTL/CMOS兼容;
COSC:
内部振荡器外接电容;
DADJ,FADJ:
输出频率、占空比调节;
IIN:
振荡频率控制器电流输入;
PDI,PDO:
内部鉴相器输入输出;
SYNC:
同步信号输出,允许内部振荡器与外信号同步;
DGND,DV+:
内部数字电路电源;
V+,V-:
MAX038供电电源端(+5V,-5V);
OUT:
波形输出。
图2-1-1MAX038引脚定义
芯片内部的振荡器、比较器和波形变换电路产生正弦波、方波、三角波、锯齿波和脉冲波,通过选择控制端A0,A1的电平选择一种波形(A0,A1的控制电平与输出波形的关系见表2-1)经内部缓冲器缓冲后输出。
波形的振荡频率、占空比等可以由芯片外部参数控制。
同时,芯片内部还提供了一个2.5V的基准电压源和一个鉴相器。
基准电压源使得外部只需一个可变电阻即可改变内部振荡器的参数;输出的占空比可以由DADJ端口调整,如果DADJ端接地,则输出占空比为50%。
表2-1-1A0,A1的电平与输出波形的关系
A0
A1
输出波形
任意
高电平
正弦波
低电平
低电平
方波
高电平
低电平
三角波
MAX038输出频率取决于注入IIN脚电流的大小、COSC脚的电容量(对地)和FADJ脚的电压。
当VFADJ=0V时,输出的基波频率:
F0(MHz)=IIN(μA)÷CF(pF)式2-1-1
周期(t0)则为:
t0(μs)=CF(pF)÷IIN(μA)。
式2-1-2
式中,IIN为注入IIN脚的电流(2μA~750μA),CF为COSC脚和地所接的电容值(20pF~100μF)。
IIN和CF的变化对输出频率影响较大,用于粗调;而VFADJ用于精调,当他在允许的-2.4~2.4V范围之间变化时最多只能使输出频率变化±70%。
2.1.2、电路实现
图2-1-2
(1)、波形切换
由表2-1-1可以知,改变A0、A1两引脚的值即可轻易改变输出波形的种类。
本设计中此二引脚值有由单片机中P1.3及P1.4两引脚控制。
程序实现如下:
unsignedcharcodeqiehuan[]={0x00,0x08,0x10};
结合按钮,不断循环调用数表,即可轻易改变输出波形。
(2)连续可调
Max038芯片内部还提供了一个2.5V的基准电压源(1脚),基准电压源使得外部只需一个可变电阻即可改变内部振荡器的参数。
将其与MAX038的IIN相连,既可实现频率的连续可调。
(接在REF脚和IIN脚之间的电阻,可提供一种产生IIN的简便方法,IIN=REF/RIN)。
F0(MHz)=VIN÷[RIN×CF(pF)]式(2-1-3)
R为REF与IIN间的电阻,R的变化范围大时,频率变化范围也大。
(3)步进可调
当COSC的对地电容固定时,当IIN按固定步进变化时,F0也将以固定步进变化。
因为频率范围很宽,因此不可能一直使用唯一的步进值。
本设计中采用更换COSC的对地电容的方法[9],更换频率步进,具体如表2-1-2所示
表2-1-2
频率波段(K)
步进(K)
电容值(pF)
电容选择
0~178.2
1.35
4300
332+102
0~1425.6
10.8
530
500+33
0~2112
16
360
331+30
0~11404.8
86.4
66
33+33
(4)占空比
Max038芯片输出的占空比可以由DADJ调整,如果DADJ端接地,则输出占空比为50%。
本设计中使DADJ接地,即占空比为50%,因此使得输出的矩形波为标准的方波。
(5)稳定性问题
欲使MAX038长时间地在正常温度范围内产生频率稳定的输出电压,必须采取以下措施:
(1)决定频率的外接电阻、电容的温度特性要好;
(2)外部电源应稳定;(3)应选用高精度的金属膜电阻,精度为1%或更高;(4)必须选用温度系数低的NPO陶瓷电容器。
2.2单片机模块
(实验室常见的单片机芯片有AT89C51,AT89C52两种,相比较而言AT89C52的响应速速更快,因此本设计中选用AT89C52。
)
图2-2-1,AT89C52引脚图
2.2.1芯片介绍
(1)、P0、P1、P2、P3口均为双向I/O口。
作为输出口,P0需要外部上拉电阻。
其他端口则不需要。
部分引脚含有第二功能[12],如表2-2-1所示。
表2-2-1
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
RST:
复位输入。
晶振在工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
2.2.2电路实现
单片机的复位是靠外电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。
为了保证应用系统可靠地复位,通常是RST引脚保持10ms以上的高电平。
本系统具有上电复位功能。
电路连接如图3-6所示。
此电路仅用一个电容及一个电阻。
系统上电时,在RC电路充电过程中,由于电容两端电压不能跳变,故使RESET端电平呈高电位,系统复位。
经过一段时间,电容充电,使RESET端呈低电位,复位结束[3]。
图2-2-2
单片机的主要功能是提供DAC0832及MC145151的数字信号。
主要功能由按键实现,如图2-2-2所示。
程序实现如:
if(key1==0);
通过类似的语句,不断进行键盘扫描,执行相应的子程序。
当按键一按下时,P2端口输出的数字信号加1,当按键2按下时,P2端口输出的数字信号加1,借助发光二极管也发生相应的变化。
当按键3按下时,切换输出的波形,当按键4按下时,切换输出的波段,当按键5、。
按下时,P2端口输出的数字信号被复位。
该模块的实现主要是靠程序。
仿真时应注意,端口输出是否需要加上拉电阻才可以使用,根据AT89C52的芯片介绍中可只,I/O端口中出了P0端口,其余I/O端口均有内部上拉电阻,但未免过于理想化,在接按钮时候,还是应该接上10K的上拉电阻,以防万一。
2.3运放模块
图2-3-1
C741、LF357及OP27的引脚排列如图2-3-1所示,不同的是,他们的电源电压不同,741及357均为±12V,OP27为±5v,741及适合与DAC0832搭配使用,OP27的精度较高,LF357的频带范围宽。
因此它们各自适用于不同的场合。
2.3.1反相运算放大器
图2-3-2
图2-3-2是反相放大器的原理图,下面分析输入电压与输出电压的关系。
根据输入端口电流为零的特性得:
i1=if(2-3-1)
又根据输入端口电压为零的特性得
=
=
(2-3-2)
由式(2-3-1)和式(2-3-2得输入、输出电压关系为
u0=-Rf/Ri*ui(2-3-3)
由式(2-3-3)可见,输出电压与输入电压成正比,极性相反,因此称为反相放大器。
反相放大器的增益只与外接电阻有关,因此可以实现高精度和高稳定性的增益值[10]。
2.3.2同相运算放大器
图2-3-3
如果输入电压加在运放的同相输入端,而在反相输入端引入负反馈,就构成了同相放大器。
如图图2-3-3所示。
根据理想的运放输入电压为零的特性并应用KVL得
,
(2-3-4)
再根据理想运放输入电流为零的特性得
if=i1(2-3-5)
由式(2-3-4)及式(2-3-5)得同相放大器输出电压与输入电压的关系
(2-3-6)
同相放大器是增益大于1的电压控制电压源,输出电压与输入电压极性相同。
如果RF=0,及R1=∞,则(2-3-6)电路变成:
U0=Ui(2-3-7)
即二者相等,故称为电压跟随器[10]。
MAX038的输出信号为恒定的2Vp-p,且输出电流不大,故输出至少要加一级放大电路,以提供足够的输出电压和电流。
输出放大电路是本信号发生器研制中难点之一。
因为系统输出信号的最大基频为11.0592MHz,波形输出电路高次谐波成分很高,所以要得到不失真的输出波形,要求放大器不但具有很高的频宽,还要有足够的输出电压转换速率。
所以采用一片LF357来进行电压放大(同相)[6],电路如2-3-4所示。
图2-3-4
2.4、D/A转换模块
2.4.1芯片介绍
(1)、DAC0832内部结构及引脚功能[11]
DAC0832的内部结构图集引脚图如图2-4-1所示,DAC0832由三大部分组成:
一个8位输入寄存器,一个8位DAC寄存器和一个8位D/A转换器组成。
图2-4-1DAC0832内部结构及引脚功能图
、8位输入寄存器。
它由8个D锁存器组成,用来作为输人数据的缓冲寄存器,它的8个数据输入可以直接和单片机的数据总路线相连。
LE1为其控制输入:
LE1=1时,D触发器接收信号;LE1=0时,为锁存状态。
、8位DAC寄存器。
它也由8个D锁存器组成。
8位输入数据只有经过DAC寄存器才能送到D/A转换器去转换。
它的控制端为LE2,当LE2=1时输出跟随输入,而当LE2=0时为锁存状态。
DAC寄存器输出直接送到8位D/A转换器进行数模转换。
、8位D/A转换器。
8位D/A转换器是采用T型网络的D/A转换器。
它的输出是与数字量成正比例的电流,VREF为参考电压输入,Rfb为运算放大器的反馈电阻,引脚Rfb则是这个反馈电阻的一端,使用时接到运算放大器的输出端。
控制逻辑部分。
控制逻辑部分共有五个倍号来控制D/A转换器的工作:
D10~D17:
数字信号输入端,D17—MSBD10—LSB
ILE:
输入寄存器允许,高电平有效
:
片选信号,低电平有校,与ILE信号合起来共同控制
是否起作用。
:
写信号1,低电平有校,用来将数据总数的数据输入锁存于8位输入寄存器中,
有校时,必须使
和ILE同时有效。
:
写信号2,低电平有校,用来将锁存于8位输入寄存器中的数字传送到8位D/A寄存器锁存起来,此时
应有校。
:
传送控制信号,低电平有效,用来控制
是否起作用。
Iout1:
D/A输出电流1,当输入数字量全为1时,电流最大。
Iout2:
D/A输出电流2。
Rfb:
反馈电阻。
DAC0832为电流输出芯片,可外接运算放大器,将电流输出转换成电压输出,电阻Rfb是集成在内的运算放大器的反馈电阻,并将其一端引出片外,为在片外连接的运算放大器提供方便。
Vref:
基准电压,通过它将外加精度度的电压源接至T型电压网络,电压范围(-10V~+10V),也可以直接向其他D/A转换器的电压输出端。
Vcc:
电源,电压范围(+5V~+15V)。
AGND:
模拟地。
DGND:
数字地。
(2)DAC0832的单极性和双极性输出
DAC0832是电流输出型数模转换器,需要电压输出时,可以简单地使用一个运算放大器连接成单极性,相应输出电路如图2-4-2(a)所示,若VBEF=-5V,则电路的输出U0为0~5V。
当采用两个运算放大器可以连接成双极性输出,相应电路如图2-4-2(b)所示,若VBEF=5V,电路的输出U0为-5~+5V。
图2-4-2(a)单极性输出;(b)双极性输出
(3)、DAC0832的工作方式
DAC0832转换器可以有三种工作方式,即直通方式、单缓冲方式和双缓冲方式。
直通方式:
这时两个8位数据寄存器都处于数据接收状态,即了LE1和LE2都为1。
因此,ILE=1,而
、
、
、
都为0,输入数据直接送到内部D/A转换器去转换。
这种方式可用于一些不带单片机或微机的控制系统中。
单缓冲方式:
这时两个8位数据寄存器中有一个处于直通方式(数据接收状态),而另一个则受单片机送来的控制信号控制。
双缓冲方式:
这时两个8位数据寄存器都不处于直通方式,单片机或其他微机必须送两次写信号才能完成一次D/A转换。
DAC0832时序图如图2-4-3所示。
图2-4-3DAC0832时序图
2.4.2、电路实现
图2-4-4
本设计中,采用单极性直通模式,因此ILE=1,而
、
、
、
都为0。
运放选用741。
D1、D2是起输入保护作用的。
输入保护是指当输入端所加的电压过高时会损坏输入级的晶体管。
在输入端处接入两个反向并联的二极管,将输入电压限制在二极管的正向压降以下。
该模块是实现频率步进可调的关键之一,实现频率的粗调。
当AT89C52的P2端口输出的数字子信号加到DAC0832上时,741输出端口输出一固定电流,当数字信号变换时,输出电流也跟着变化,数字信号变化与数字信号变化成线性关系时,既可达到步进调频的目的。
2.5、锁相环模块
2.5.1芯片介绍
(1)、MC145151引脚介绍[8]
MCl4515是具有双模分频比、预置定频值的锁相环频率合成器集成电路。
适用于高频通信设备作频率合成器用。
它们的引脚功能见表2-5-1所列。
表2-5-1
引脚
符号
功能
引脚
符号
功能
1
Fin
压控振荡器高频信号输入端
16
N5
见11~15中的说明
2
Vss
接地线
17
N6
3
Vpo
电源电压输入端口(3~9)
18
N7
4
VpI
锁相检测状态信号输出端
19
N8
5
RA0
此三脚为一组3位二进制代码,用以决定基准频率的分频数
20
N9
6
RA1
21
T/R
发送接收偏离附加数值,当此脚为低电平时,将有一个附加数值856被加至N二进制数中