小数频率合成(共3篇)
小数频率合成 篇1
摘要:基于Simulink的小数分频频率合成器的设计模型可以解决通常整数锁相频率合成器存在着的高频率分辨力与快速转换频率之间的矛盾, 本文主要研究小数分频频率合成器原理及设计模型, 并对模型进行了Simulink仿真分析。
关键词:小数分频,频率合成器,Simulink
随着现代雷达、通信、对抗技术和电子侦察的飞速发展, 作为核心部件的频率合成器, 我们对它的性能指标提出了越来越高的要求, 如低相位噪声、低杂散、高频率分辨、宽频带、低捷变时间、高频率稳定度、能程控等。小数分频频率合成器可以解决高工作频率和小频率间隔的矛盾, 而且具有输出噪声低、对寄生边带干扰抑制好等优点。
1 小数分频频率合成器原理及设计
锁相频率合成器的基本特性是, 每当可编程分频器的分频比改变1时, 得到输出频率增量为参考频率fr。为提高频率的分辨力就需减小参考频率fr, 这对转换时间等性能是十分不利的。传统的整数分频频率合成器的主要缺点是频率分辨率等于参考频率, 然而在许多应用系统中, 对频率合成器的频率分辨率要求较高, 整数分频频率合成器不能满足这些系统的要求。假若可编程分频器能提供小数的分频比, 每次改变某位小数, 就能在不降低参考频率的情况下提高频率分辨力。实现比任何单环整数分频频率合成器更小的步进, 从而解决了传统整数分频频率合成器分辨率低的限制。
所谓小数分频频率合成, 就是控制分频系数以一定的规律变化, 从而将总的分频系数等效为一个小数。例如, 要实现N=5.3的小数分频, 只要在每10次分频中, 做7次除5、3次除6, 就可以得到:
其中E和F分别为小数分频系数的整数和小数部分。
同理, 若要实现N=E.F=27.35, 只要在每100次分频中, 做65次除27、35次除28, 即可得到:
根据以上原理得到基本的小数分频频率合成器的原理, 一部分是一个基本的锁相频率合成器, 在VCO和程序分频器之间增加了一个脉冲删除电路, 在鉴相器和环路滤波器之间串接了一个加法器。另一部分, 其核心是一个累加器 (ACCU) 。所要求的分频系数的整数部分E和小数部分F分别存放在两个存储器中, E和F都可用微机或外部电路进行控制。在小数分频频率合成器中, 如果F在0~0.9之间连续变化, 则频道间隔为0.1fr;如果F在0~0.99之间变化, 则频道间隔为0.01fr。也就是说, 小数分频锁相频率合成器的频率分辨率决定于分频系数中小数的位数。位数越多, 则分辨率越高。
2 小数分频频率合成器Simulink仿真分析
2.1 仿真模型设计
图1给出了单环单模锁相频率合成器的仿真模型。脉冲发生器用Sources中的Pulse Generator。用于产生幅度为1, 频率为Fr的方波脉冲作为基准频率源。周期Period设为1Fr。锁相环路部件包括鉴相器、放大器、环路滤波器和压控振荡器。模型中用了一个NN+1分频器, 累加器输出的Carry信号由In2端送入, 一方面直接送入N+1分频器。另一方面经反相后送入N分频器。因此当累加器输出Carry为0时, 分频系数为n;而当累加器输出为1时, 分频系数被置为n+1。两个分频器输出经Merge模块合并由Out1端输出。从而得到平均分频系数为1 (-m) n+m (n+) 1=n+m。仿真模型还用了3个示波器分别用于显示参考频率信号、参考分频器输出信号和合成器输出信号的波形。3个示波器都直接用Simulink的Sinks库中的Scope模块实现。在模型还调用一个子系统用于测量合成器输出信号的频率, 并在数字显示模块中显示出合成器的输出频率。
2.2 仿真参数设置
在仿真模型的各参数中, 大部分参数都是用变量的形式表示的, 其中包括分频系数N=n.m (n和m分别为分频系数的整数和小数部分) 、脉冲发生器输出的参考频率rF, VCO的静态频率qF和控制灵敏度Sen等。而环路滤波器的带宽、放大器的放大倍数等都根据以上参数自动设置。此外, 仿真之前还需设置系统仿真参数, 其中需要设置的主要参数有:
Stop time:仿真结束时间, 这里设置为500Fr;
Max step size:仿真最大步长, 这里设置为.04 (n Fr) 。
显然, 以上两个仿真参数决定于合成器中各部件的参数。由于合成器参考输入频率为fr, 输出频率为:
其中m<1。则以上两个参数决定了仿真的总时间包括了参考脉冲信号的500个周期, 而最大仿真步长决定了在输出信号的一个周期中至少采样2.5个点。从而保证了仿真的精度。
2.3 仿真结果分析
首先在MATLAB命令窗口中设置环路参数为:n=1 0, m=0.3, Fr=1 0 M H z, Fq=90 MHz, Sen=VMHz10
则根据合成器的工作原理, 可以求得合成器输出频率为:
合成器输出信号显示的波形, 同时在模型窗口中的数字显示模块上显示1.03e+008, 表示合成器输出频率为103 MHz。如果其它参数保持不变, 将m修改为0.5, 则模型窗口中的数字显示模块上显示合成器输出频率为105 MHz。由图3所示示波器显示的波形也能计算求得合成器输出频率与理论分析的结果一致。
3 结语
基于MATLAB的小数分频频率合成器的设计模型较好的解决了通常整数锁相频率合成器存在着的高频率分辨力与快速转换频率之间的矛盾。小数分频频率合成器在实现相同的分辨率的情况下可以有更高的鉴相频率, 当然, 在具体实际应用中, 如何更合理地选择各个器件和设置各项相关参数是十分重要的环节。
参考文献
[1]郭桂良, 杜占坤, 高海军.一种高分辨率小数分频频率合成器[J].固体电子学研究与进展, 2009 (4) :515-519.
[2]周冬成, 王永斌, 郑亚平.基于FPGA的小数分频频率合成器设计[J].电子测量技术, 2006 (3) :79-80.
低成本频率合成器 篇2
图 1 使用面包板搭建的频率合成器
在电子工作室里,最方便的仪器之一可能就是信号发生器了。借助一个稳定并且准确的信号发生器,你可以测试电台是否工作正常,为面包板电路提供信号,确认示波器、频率计等测试仪器工作正常,测试其他信号发生器,甚至可以校准旧的电台或其他仪器的模拟表头。
你有没有怀疑过模拟表头指示的频率是否准确?这篇文章可以解除你的疑问,同时这还是一个很好的周末小制作。如果你不喜欢自己动手制作,也可以从这篇文章中了解到锁相环、频率合成、接收机校准相关知识,并且了解到如何使用电脑、声卡和一些廉价的元器件制作属于自己的单边带 /CW接收机。
这个制作最初的想法起源于我的Clemens SG-83B,在1960年前后为美军生产的晶体管RF信号源。在使用它测试我的Drake R4B接收机时,我发现它们两个的模拟表头读数有明显差别,因此我需要一个准确的RF信号发生器作为参考。最后测试结果在此我先留做一个悬念,但你一定能够猜到和频率合成器有关。
在这篇文章中,我会介绍一种全新的RF频率合成器的制作思路,即使用电脑声卡作为RF频率合成器的一部分。虽然还存在一些问题,但是这种频率合成器制作简单,成本很低,能够在若干频率范围内产生频率可变的信号,分辨率能够达到1Hz,并且稳定性和精度还不错。在下文中我会讨论这种频率合成器存在的问题,包括信号抖动,频率漂移和其他一些问题,并介绍作为信号源的使用方法及如何使用这种方法校准接收机。此外,在ARRL网站上介绍了一个小制作,采用软件实现的单边带 /CW接收机,其中用到了这种频率合成器。对于多数无线电和电子爱好者来说,这些应该足够具有吸引力了。
你所需要的是一台运行Windows的电脑和一块低本底噪声声卡。我测试过200MHz主频的Pentium Pro,500MHz主频的Pentium III,和1.1GHz主频的AMD Athlon的电脑主机,使用Sound Blaster(SB)Live !—Value Edition声卡,Windows 98SE和Windows XP操作系统,它们都能保证频率合成器正常工作。当然,由于软硬件条件差别,并不能保证在你的电脑上没有问题。
如果你有一台运行Windows的电脑和一块低本底噪声的16位声卡,不妨尝试一下这个频率合成器。你需要做的就是按照本文制作一个简单的电路,连接到电脑声卡,然后运行程序。整个电路部分成本约5美元,其中用到的元件市面上很容易买到。你可以和我一样使用面包板搭建电路,或者自己设计印刷电路板和外壳。频率合成的原理可以参考文末的“频率合成器基础”。
频率合成器电路图
图1是我制作的频率合成器。整个频率合成器只需要很少元件,为方便起见,我用面包板搭建整个电路。图1中面包板左边是频率合成器部分电路,右边是单边带 /CW接收机电路。如果想长期使用,最好能制作印刷电路板和外壳。良好的印刷电路板和外壳设计同时也能提高频率合成器的射频性能。
因为频率合成器需要放在电脑旁边,我用屏蔽线将声卡线路输出信号引出,用鳄鱼夹连接到频率合成器电路。声卡通常为3.5mm双声道插座,所以你需要制作一根转接线将声卡输出信号引出,或者购买现成的转接线。这种连接线在电子商店或音像店有售。
频率合成器电路图如图2所示。电路非常简单,只需要一个音频变压器,三个芯片,和一些电容电阻。合成器只需要连接一路声卡线路输出(左声道或右声道均可),为简单起见,图中声卡输出部分只表示出一路,实际上是从声卡双声道线路输出插座中分离出一路连接至频率合成器。
声卡输出首先连接至600Ω转20kΩ音频变压器T1(可从Mouser Electronics购买,元件编号是42TL017)。变压器有两个主要功能,首先可以抑制共模干扰,抑制比可达100d B。共模干扰同时干扰输入的两端,常见的干扰信号为60Hz工频干扰。使用其他方式,如仪表运放等难以抑制音频频率范围的共模干扰,并且成本会很高。变压器的另一个主要功能是提供电压增益。通常线路输出电平在1.5V左右,变压器可以在几乎不引入过零失真的情况下提供约5.8倍的电压增益。
图2 频率合成器与声卡连接示意图及频率合成器电路图
然后通过施密特触发器芯片74HC14将正弦信号转换为方波。你可能会有疑问,既然要将信号变为方波,为什么之前还要无失真的放大信号?因为后面的锁相环电路需要准确的过零点,将正弦波转换成方波可以很方便的检测过零点,方便后续处理。在我尝试过的所有过零检测方式中,这种方式上升时间最快,可以提供准确的过零点。
锁相环核心部分是IC2,Texas Instrument生产的74HC4046A芯片(不要和CD4046搞混,CD4046是第一代芯片,最大工作频率稍低)。需要注意,其他厂商也生产这个型号的芯片,在这些芯片中TI生产的芯片测试结果最好。如果你用其他厂商生产的芯片,可能要根据实际情况调整滤波器元件参数,频率锁定范围可能会有变化。IC2内部VCO(压控振荡器)最高输出频率约20MHz,但由于声卡输出频率的限制,在这个项目中用到的最高工作频率约9.2MHz。VCO频率范围由R1和C1确定,改变C1容量可以改变VCO频率范围。R2,R3和C2用来拓宽相位锁定范围,减小相位抖动。C2需要使用低漏电型电容。
在74HC4046A的VCO输出和比较器输入之间连接74HC4040 12位异步计数器作为分频器。如果有需要,只需将比较器输入连接至不同的计数器的输出引脚,即可通过改变分频比来改变VCO输出频率范围。这里我将计数器的512分频输出连接至比较器输入引脚。
射频输出通过VCO经由电阻分压输出,以减少VCO输出负载,并限制射频输出电平。因为VCO输出信号为方波,其中会包含奇数次谐波成分,某些应用中需要滤除这些谐波成分,某些应用中,如使用频率合成器校准接收机,不需要滤除高次谐波,并且可以利用谐波拓展输出频率范围。这部分内容我会在后文介绍。
频率合成器可以在4.5V ~ 6V供电电压下工作,可以使用交流电源转换器或4节AA或AAA电池为频率合成器供电。
上文提到可以通过改变C1容量或计数器分频比来改变输出频率范围。表1是C1容量和分频比对应的合成器输出频率范围,其中参数经过测试,可以使计数器最大输出抖动小于20ns。改变元件参数可能会导致计数器输出信号抖动发生变化,实际测试表明大于512的分频比会增大输出信号抖动。
理解信号抖动,精度和漂移
抖动在某些情况下会严重降低频率合成器的性能,下面我简单介绍抖动是怎样产生的及抖动的影响。在频率合成器系统中有两个抖动来源,一个是声卡中的采样时钟及相关电路,另一个是PLL本身。
抖动和振荡器相位噪声类似,可以认为是相位噪声的另一种表现。抖动本质上是信号相位的异常改变。如果你想了解更多信息,可以参考ARRL手册中关于相位噪声的部分。在接收机中,本振时钟抖动的结果之一是导致噪声电平升高,增加弱信号接收难度。在声卡中,抖动是由采样时钟和相关电路的随机误差引起的,其结果是产生的正弦波相位随机性超前或延后。我使用TDS360数字示波器在74HC14输出端测试了声卡输出信号的相邻周期抖动,在2000Hz频率上抖动约20ns,在16000Hz频率上降低至小于5ns,在以上频率范围之外抖动增大至50ns。对于音频来说,这并不算什么问题,但对于射频来说这是一个值得注意的问题。不幸的是,输入信号的抖动会被PLL当作频率改变,并试图跟踪这种改变。设想,对于5MHz的信号,其周期为200ns,10ns抖动相当于5% 信号周期。
PLL本身也会引入一些抖动。PLL芯片74HC4046A内部具有一个数字鉴相器,其中包括四个存储单元和一些逻辑门。这种电路的优点是频率锁定后不会引入相位偏移,并且可以免受电源噪声影响。芯片的PC2端只在需要提供控制信号时才会输出脉冲,其他时间都处于高阻状态。输入音频信号控制存储单元置位,VCO输出信号控制存储单元复位,当锁相环锁定后,在PC2引脚上输出的控制脉冲宽度等于输入音频信号上升沿和振荡器信号上升沿的时间差,控制脉冲通过平滑滤波器连接至VCO控制端,这种控制脉冲信号通常称为频率牵引信号。由此可见,当输出频率锁定至设定频率后,控制引脚输出脉冲宽度很小,绝大多数时间控制引脚处于高阻状态,因此可以很大程度上避免电源噪声影响。
74HC4046A的问题在于其鉴相器有约2纳秒的死区时间,在这段时间内鉴相器不响应输入信号。当输入信号频率改变后,至少需要2纳秒鉴相器才会做出响应,导致输出频率抖动。
声卡输出信号抖动和锁相环自身抖动随机组合,导致输出频率抖动。在锁相环VCO输出端可以测得和声卡输出信号量值大小类似的抖动。由于计数器分频作用,声卡输出信号对频率合成器输出信号的影响会呈现周期性变化,同时VCO的相邻周期抖动影响会大大减弱。
对频率合成器输出信号抖动的容忍程度在一定程度上取决于合成器的用途。如果我们需要准确的射频信号,不太关注相位稳定度,那么只需保持锁相环处于频率锁定状态即可,使用零拍频的方法可以很容易的将合成器和接收机频率调节一致(取决于我们分辨零频点的准确度)。如果我们把频率合成器作为接收机本振,那么随着信号抖动增加,噪声电平会明显升高。我曾把这个频率合成器用作一台自制单边带接收机(在我的网站上有介绍)的可变频率振荡器,效果还不错。噪声电平确实有所升高,但比我预想的要小,并且我可以轻松地抄收40米和80米波段的CW和单边带信号。这可能和这两个波段原本噪声电平就比较大也有一定关系,相比于原有噪声电平,振荡器增加的噪声电平就显得不是那么明显。
这台频率合成器的频率准确性出乎我的意料。电脑开机预热20分钟后,将声卡设置为每秒48000采样速率,频率合成器设置输出频率为5000k Hz,使用HP 5314A频率计测得的VCO输出频率为4999.976k Hz,表明声卡采样时钟在500万个采样周期内比标准时间少了24个周期。为了补偿声卡频率偏差,我在电脑的正弦波发生器软件中将原始频率乘以1.0000048,这次频率计读数正好是5000.000k Hz。通过软件补偿频率偏移的方法,在频率合成器整个频率范围内能够达到1Hz频率精度。
在电脑刚启动时,声卡采样时钟在500万个采样周期内比标准时间多了12个周期。启动5分钟后,这一偏差降低到6个周期,在10分钟后基本稳定,偏差约1~2个周期。晶振会有频率漂移问题,但由此引起的频率偏移在这种应用中问题不大,无需担心。经过足够时间预热之后,频率漂移会趋于稳定,可以通过软件校准补偿。
声卡设置
声卡需要使用低输出失真、低噪声全双工声卡。SoundBlaster Live—Value Edition以较低的价格很好的满足以上要求。限于条件,我没办法一一测试满足要求的声卡型号,因此只使用这一款声卡进行测试。图2中,A1是声卡线路输出放大器,增益在Windows软件中音量控制面板中控制。线路输出信号电平通过播放部分中的WAVE和SPKR滑块调节,因此只需拖动滑块即可控制输出电平。在我的电脑和设备上,将SPKR滑块调节至最大,WAVE滑块调节至90% 位置比较合适。除了WAVE和SPKR之外的其他项都要设为静音,包括LINE OUT,并将平衡器高音滑块设置到50% 位置。检查控制面板中的声音设置,确保环绕音效、混响或其他音效没有打开。
早期的Sound Blaster声卡,如SB16,AWE32不适合用于这个制作,因为它们的本底噪声较大。需要注意的是,其他兼容SB16的声卡可能也会有这个问题,我的建议是不要使用它们。在ARRL网站上有关于声卡的讨论可供参考。
频率合成器软件使用
频率合成器软件可以从ARRL网站下载,压缩包大小只有26k B。将其解压到任一文件夹即可运行。软件在Windows 98和XP上测试通过。如果运行时软件提示“RequiredDLL file MSVBVM60.DLL was not found.”表明系统中缺少Visual Basic运行库,可以从Microsoft网站或其他软件下载网站免费下载,28.8kbps网速下载大约需要6分钟。下载得到Visual Basic 6.0 SP5: Run-Time RedistributionPack(VBRun60sp5.exe)自解压文件并安装。如果运行时软件提示“Component‘COMDLG32.OXC’or oneof its dependencies is not correctly registered: a file ismissing or invalid.”,你需要从Microsoft或其他网站下载缺少的文件,并安装到系统中。其他问题可以参考频率合成器软件附带的详细说明。
如果你只是想尝试频率合成器软件,尽管尝试。软件不会修改注册表或留下其他痕迹。如果你不再需要这个软件,只需要删掉软件所在的目录即可。
频率合成器软件运行界面如图3所示。界面右侧用来控制合成器输出频率。在频率显示框中选中一位或几位数字,然后可以在键盘上输入需要的频率。左边可以存储常用的8个频率。软件下方状态栏显示当前分频比和音频频率。如果设置的频率超过了声卡可以输出的频率,在状态栏中会提示错误信息。
要使用频率合成器,首先将合成器连接至声卡输出,并打开合成器电源。按照前文声卡设置部分检查音量控制面板,确保各项设置正常。
打开频率合成器软件,将分频比设置为和实际电路一致,并按照表1确认电路中C1容量和所需的输出频率范围一致。然后点击软件界面START按钮,这时频率合成器应该开始工作。你可以选中频率输入框中的频率,然后输入需要的频率,或者使用UP和DOWN按钮调节频率。
为提高频率合成器输出精度,可以使用频率计进行校准。将频率计探头串联一个4.7kΩ电阻,连接至74HC4046A第4个引脚,然后读数。电阻可以防止加在VCO的负载过大,导致测量结果不准确。首先将软件的校准系数设置为1.0000,然后根据前文描述,用设置输出频率和频率计读数计算出实际校准系数,写进软件并保存。现在实际输出频率应该和频率计读数相同。校准只需进行一次,结果会保存在FSinit文件里以供以后使用。
使用频率合成器校准接收机方法同样简单。首先将接收机设置为单边带或CW模式,将射频线一端连接至合成器输出,另一端放在接收机天线附近,将合成器频率调节到需要的频率,注意软件分频比设置和实际电路一致,然后将接收机拍频调节至零拍,读出刻度对应频率即可。
利用输出方波信号的奇次谐波,可以使合成器输出更高的频率。例如,将合成器频率设置为5120k Hz,在15360k Hz会得到较强的三次谐波,在25600k Hz处会得到较弱的五次谐波。利用谐波可以将合成器频率扩展至短波频段。
在本文开篇我提到使用Clemens信号源校准DrakeR4B接收机时,两者频率读数有明显偏差。我换用频率合成器再次校准Drake接收机,这次接收机表头读数和合成器频率显示几乎完全一致。对于老式电子管电台,这样的结果已经让我很满意了。下一步工作是使用频率合成器校准Clemens信号源,在下面一部分我会介绍如何操作。
使用频率合成器校准信号源
频率计是最简单的测试信号源的方法,但如果信号源输出电平太低,或需要特别的触发设置,频率计不能满足要求,可以尝试下文描述的方法检测信号源。借助射频混频器和频率合成器,我们可以用零拍频法测试信号源频率准确性。在下面的例子中,我用到了SA602双平衡混频芯片。这是一颗很容易买到的芯片,具有高混频增益,所需的本振和射频信号电平很低,价格大约3美元,可以从Digi Key之类的代理商处买到。混频器的输出频率为两个输入频率的和和差,如果将频率合成器和信号源作为两个输入信号,就可以通过测量输出信号频率得知输入信号频率差。简易电路图如图4所示。
使用时需要将信号源输出电平调节至200m V左右,以防止信号太大损坏混频器。如果输入电平不方便调节,可以用电阻分压方式降低电平。SA602平衡输出信号通过差分放大器(LM358或LM2904)转换成音频频率范围内的信号,C8和C9将输出信号中的“和”信号滤除,留下处于音频频率范围内的“差”信号,可以通过监听拍频声音判断“差”信号的频率。
我在实际测试时发现如果将音频放大器和混频电路装在同一块面包板上会产生啸叫,所以我在面包板之外接了一个放大倍数为20倍的音频放大器避免这个问题。当声音频率为零时(零拍)表明信号源和频率合成器频率一样。同时我发现先设置合成器频率,然后调节信号源频率至设定的频率会容易一些,因为信号源频率容易漂移,而频率合成器不会。
结语
我用自制的频率合成器测试过我的几个信号源、几台模拟式短波接收机和两台数字式短波接收机,结果还不错,频率合成器的频率读数相当准确。我的Clemens信号源输出的正弦波波形很不错,但频率会发生漂移,其他几台模拟式信号源也有类似情况。相比之下,即便考虑到信号抖动,这台频率合成器精度和漂移都很不错。
我没有测试笔记本电脑或主板集成声卡的情况。如果你进行过测试,请务必告诉我结果。我不打算将合成器直接用于发射信号,因为这需要增加复杂的滤波器电路。
我正在尝试将频率合成器扩展为单边带 /CW接收机。在拖延了几年之后,我决定加快速度。如果你成功了,请务必告诉我。对于这类自制接收机,其性能无法与市售接收机媲美,但其制作过程带来的乐趣是市售接收机远无法提供的,将业余无线电与电脑结合为这个项目增添了更多乐趣。我相信你也一定能乐在其中。
频率合成器基础
频率合成器并不是一项新技术,事实上在几乎所有较新的无线电设备上都有用到。常见的一种方式,有时也称为间接方式,是使用锁相环(PLL)产生所需频率。
简单的锁相环频率合成器原理图如图A所示。其中的主要元件是74HC4046A锁相环芯片。芯片内部集成了压控振荡器 (VCO)和三个相位比较器(图中未全部表示出来),在这个制作中只用到其中一个相位比较器,相位比较器2(PC2)。电阻R1和电容C1决定了压控振荡器的频率范围,第9个引脚控制VCO频率。接在3脚和4脚之间的分频器(这个制作中使用的是74HC4040 12位异步计数器)将频率降低后送至相位比较器一个输入端,相位比较器另一个输入端接收从声卡输出的信号。相位比较器输出信号经由电阻R2、R3和电容C2组成的滤波器滤波后送至VCO输入脚。
锁相环工作原理如下:声卡输出信号作为参考信号,在分频器输出频率低于声卡输出频率时,相位比较器PC2输出较高的电压,驱动VCO输出较高频率;当分频器输出频率高于声卡输出频率时,PC2输出较低电压,使VCO输出频率降低,直到分频器输出频率等于声卡输出频率, 两者相位差为一定值。在环路稳定之后,锁相环会通过环路滤波器控制VCO,保持输出信号和参考信号相位差恒定。由于VCO输出频率经过分频器后进入相位比较器,所以在锁定后VCO输出频率等于声卡输出信号频率乘以分频器倍数,以此实现倍频。
直接数字式频率合成器设计 篇3
直接数字频率合成技术 (Direct Digital Frequency Synthesis, 即DDFS, 一般简称DDS) , 是从相位概念出发直接合成所需要波形的一种新的频率合成技术。一个直接数字频率合成器由相位累加器、加法器、波形存储ROM、D/A转换器和低通滤波器 (LPF) 构成。DDS是直接数字式频率合成器的英文缩写。一块DDS芯片中主要包括频率控制寄存器、高速相位累加器和正弦计算器三个部分。频率控制寄存器可以串行或并行的方式装载并寄存用户输入的频率控制码;而相位累加器根据频率控制码在每个时钟周期内进行相位累加, 得到一个相位值;正弦计算器则对该相位值计算数字化正弦波幅度 (芯片一般通过查表得到) 。DDS芯片输出的一般是数字化的正弦波, 因此还需经过高速D/A转换器和低通滤波器才能得到一个可用的模拟频率信号。DDS的原理框图如图1:
其中fc为时钟频率, K为频率控制字, N为相位累加器的字长, m为ROM地址线位数, n为ROM的数据线宽度 (一般也为D/A转换器的位数) , fo为输出频率, 输出频率fo由fc和K共同决定:fo=fc×K/2N。又因为DDS遵循奈奎斯特 (Nyquist) 取样定律:即最高的输出频率是时钟频率的一半, 即fo=fc/2。实际中DDS的最高输出频率由允许输出的杂散水平决定, 一般取值为fo≤40%fc。
FPGA构成DDS的核心部分, 用于接收送来的频率字与相位字, 同时给D/A转换器输出正弦波数据。D/A抽样产生的杂波可以用低通滤波器滤除 (图2) 。
具体工作过程如下:
每来一个时钟脉冲, N位加法器将频率控制数据X与累加寄存器输出的累加相位数据相加, 把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端, 以使加法器在下一时钟的作用下继续与频率控制数据X相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路 (即图1中的正弦查询表) , 幅度/相位转换电路根据这个地址值输出相应的波形数据。最后经数/模转换和低通滤波器将波形数据转换成所需要的模拟波形。相位累加器在基准时钟的作用下, 进行线性相位累加, 当相位累加器累加满量时就会产生一次溢出, 这样就完成了一个周期, 这个周期也就是DDS合成信号的一个频率周期。
(二) 硬件设计
DDS的具体硬件电路框图见图3:
硬件选择:
FPGA芯片:Cyclone EP1C6Q240 (串行主动配置器件:EPCS1/EPCS4/EPCS16)
10针JTAG接口 (下载配置到FPGA)
48MHZ有源晶振
STC811复位芯片/E2PROM的复位芯片+CAT1025SI-30D
电源:L7805CV, AS2830-3.3/SPX1117-3.3, AS2830-1.5/SPX1117-1.5
D/A转换器:TI公司125M/S单路10 bit器件THS5651A
运放:OP07/AD8038
ICL7666
1. EP1C6Q240外围电路
EP1C6Q240的外围电路包括复位电路、AS配置电路、JTAG配置电路.
(1) 复位电路:采用低电平复位
(2) AS配置电路 (图4)
(3) JTAG配置电路 (图5)
2. 电源部分
电源部分为整个系统提供稳定可靠的电源供应。在该系统中, 需三个电源, 一个是FPGA的IO端口和其它器件使用的3.3V电源, 一个是供FPGA核心使用的1.5V电源, 5V电源供复位电路等。该部分主要由低压降线性稳压器件组成。电源部分的作用是为整个系统提供稳定的直流电源。
(1) 5V电源电路。电路是由10V电源变到5V电源, 利用线形稳压芯片L7805稳压。此芯片一种最简单的电源转换芯片, 基本上不要外围元件。
(2) 3.3V电源电路。I/O电压是由5V电源变到3.3V的电源提供, I/O电压 (VCCIO) 通常要求的电压轨是3.3V、2.5V、1.8V或1.5V。I/O标准可以由FPGA中的I/O模块独立设置, 因此一个FPGA就有可能存在一个以上的I/O电压。I/O电流要求取决于所用的I/O数量和时钟速度。通常, I/O电流要求低, 范围在几百毫安到3A。
(3) 1.5V电源电路。内核电压是由3.3V电源变到1.5V的电源提供。内核电压轨通常设定成VCCINT, 为FPGA逻辑供电。要求的电流从几百毫安到几十安培, 具体大小取决于时钟频率和所用的门数。因为该负载是呈高度容性, 内核电压电流要求可能在开始的时候很高。FPGA内核对瞬态响应的要求很严格, 内核电源电压必须缓慢增加并且常常要求在固定的时间长度内上升到稳定的电压。
3. D/A部分 (图6)
选用THS5651这一款D/A器件的主要理由是:在20 MHz的无杂散动态范围 (SFDR) 为61 d Bc;Setup/Hold Time为1ns;Differential Scalable Current Outputs:2 m A~20 Ma;3 V and 5V CMOS-Compatible Digital Interface;Straight Binary or Twos Complement Input;Power Dissipation:175 m W at 5 V, Sleep Mode:25 m W at 5 V。
4. 运放和低通部分 (图7)
OP07CS这款运放的主要特点:Low VOS:75μV maximum;Low VOS drift:1.3μV/°C maximum;Ultrastable vs.time:1.5μV per month maximum;Low noise:0.6μV p-p maximum;Wide input voltage range:±14 V typical;Wide supply voltage range:3 V to 18 V;125°C temperature-tested dice。
(三) 总结
本设计采用现场可编程门阵列 (FPGA) 实现了一个直接数字频率合成器, 主要由累加器、加法器、寄存器、存储器组成。直接数字频率合成器具有变频范围广、频率步进小、幅度和频率精度高、调谐方便等优点。本系统允许频率调谐、相位调谐, 可以产生正弦、余弦信号。具有设计简单可靠、调谐方便等优点。不过频率步进较大、步长大时波形精度较差, 但这些不是系统设计的缺陷, 可以通过增加控制字位数、增大存储器容量来简单解决, 亦可以改变波形存储的方式, 例如对正弦从0到π进行采样甚至从0到π/2进行采样, 只要在寄存器输出后加上一个相位判断, 即可在同样的步进与波形精度下减小存储器的容量要求 (分别可减小1/2和1/4) , 换句话说, 在同样的存储器的容量下便可以减小频率步进与提高波形精度。
参考文献
[1]罗朝霞, 高书莉.CPLD/FPGA设计及应用[M].人民邮电出版社, 2007
[2]王诚, 吴继华, 等.Altera FPGA/CPLD设计[M].北京:人民邮电出版社, 2005:58-62.
[3]Altera Corporation.Cyclone Device Handbook.US:Altera Corporation, 2005:239-246.
[4]Altera Corporation.Serial Configuration Device Features.US:Altera Corporation, 2005:4-10.