低成本频率合成器


使用电脑和声卡制作功能强大的频率合成器

作者:乔治 R. Steber(George R. Steber),呼号是WB9LVI

翻译:LifeWieller

本文已发表于《电子制作》2015年8月刊

 

在电子工作室里,最方便的仪器之一可能就是信号发生器了。借助一个稳定并且准确的信号发生器,你可以测试电台是否工作正常,为面包板电路提供信号,确认示波器、频率计等测试仪器工作正常,测试其他信号发生器,甚至可以校准旧的电台或其他仪器的模拟表头。

你有没有怀疑过模拟表头指示的频率是否准确?这篇文章可以解除你的疑问,同时这还是一个很好的周末小制作。如果你不喜欢自己动手制作,也可以从这篇文章中了解到锁相环、频率合成、接收机校准相关知识,并且了解到如何使用电脑、声卡和一些廉价的元器件制作属于自己的单边带/CW接收机。

这个制作最初的想法起源于我的Clemens SG-83B,在1960年前后为美军生产的晶体管RF信号源。在使用它测试我的Drake R4B接收机时,我发现它们两个的模拟表头读数有明显差别,因此我需要一个准确的RF信号发生器作为参考。最后测试结果在此我先留做一个悬念,但你一定能够猜到和频率合成器有关。

在这篇文章中,我会介绍一种全新的RF频率合成器的制作思路,即使用电脑声卡作为RF频率合成器的一部分。虽然还存在一些问题,但是这种频率合成器制作简单,成本很低,能够在若干频率范围内产生频率可变的信号,分辨率能够达到1Hz,并且稳定性和精度还不错。在下文中我会讨论这种频率合成器存在的问题,包括信号抖动,频率漂移和其他一些问题,并介绍作为信号源的使用方法及如何使用这种方法校准接收机。此外,在ARRL 网站上介绍了一个小制作【注释1:www.arrl.org/files/qst-binaries/】,采用软件实现的单边带/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美元,其中用到的元件市面上很容易买到。你可以和我一样使用面包板搭建电路,或者自己设计印刷电路板和外壳。频率合成的原理可以参考侧栏Frequency Synthesis 101。

 

频率合成器电路图

图1是我制作的频率合成器。整个频率合成器只需要很少元件,为方便起见,我用面包板搭建整个电路。图1中面包板左边是频率合成器部分电路,右边是单边带/CW接收机电路。如果想长期使用,最好能制作印刷电路板和外壳。良好的印刷电路板和外壳设计同时也能提高频率合成器的射频性能。

因为频率合成器需要放在电脑旁边,我用屏蔽线将声卡线路输出信号引出,用鳄鱼夹连接到频率合成器电路。声卡通常为3.5mm双声道插座,所以你需要制作一根转接线将声卡输出信号引出,或者购买现成的转接线。这种连接线在电子商店或音像店有售。

频率合成器电路图如图2所示。电路非常简单,只需要一个音频变压器,三个芯片,和一些电容电阻。合成器只需要连接一路声卡线路输出(左声道或右声道均可),为简单起见,图中声卡输出部分只表示出一路,实际上是从声卡双声道线路输出插座中分离出一路连接至频率合成器。

声卡输出首先连接至600Ω转20kΩ音频变压器T1(可从Mouser Electronics购买,元件编号是42TL017)。变压器有两个主要功能,首先可以抑制共模信号干扰,抑制比可达100dB。共模信号干扰同时干扰输入的两端,常见的干扰信号为60Hz工频干扰。使用其他方式,如仪表运放等难以抑制音频频率范围的共模干扰,并且成本会很高。变压器的另一个主要功能是提供电压增益。通常线路输出电平在1.5V左右,变压器可以在几乎不引入过零失真的情况下提供约5.8倍的电压增益。

然后通过施密特触发器芯片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的相邻周期抖动影响会大大减弱。

对频率合成器输出信号抖动的容忍程度在一定程度上取决于合成器的用途。如果我们需要准确的射频信号,不太关注相位稳定度,那么只需保持锁相环处于频率锁定状态即可,使用零拍频的方法可以很容易的将合成器和接收机频率调节一致(取决于我们分辨零频点的准确度)。如果我们把频率合成器作为接收机本振,那么随着信号抖动增加,噪声电平会明显升高。我曾把这个频率合成器用作一台自制单边带接收机(在我的网站上有介绍)的可变频率振荡器,效果还不错【注释2:J.Taylor,呼号是K1RFD,“Product Review—Computer Sound Cards for Amateur Radio”,QST,May 2007,pp 63-70。此处注释有误,应该是注释3的内容】。噪声电平确实有所升高,但比我预想的要小,并且我可以轻松地抄收40米和80米波段的CW和单边带信号。这可能和这两个波段原本噪声电平就比较大也有一定关系,相比于原有噪声电平,振荡器增加的噪声电平就显得不是那么明显。

这台频率合成器的频率准确性出乎我的意料。电脑开机预热20分钟后,将声卡设置为每秒48000采样速率,频率合成器设置输出频率为5000kHz,使用HP 5314A频率计测得的VCO输出频率为4999.976kHz,表明声卡采样时钟在500万个采样周期内比标准时间少了24个周期。为了补偿声卡频率偏差,我在电脑的正弦波发生器软件中将原始频率乘以1.0000048,这次频率计读数正好是5000.000kHz。通过软件补偿频率偏移的方法,在频率合成器整个频率范围内能够达到1Hz频率精度。

在电脑刚启动时,声卡采样时钟在500万个采样周期内比标准时间多了12个周期。启动5分钟后,这一偏差降低到6个周期,在10分钟后基本稳定,偏差约1 ~ 2个周期。晶振会有频率漂移问题,但由此引起的频率偏移在这种应用中问题不大,无需担心。经过足够时间预热之后,频率漂移会趋于稳定,可以通过软件校准补偿。

 

声卡设置

声卡需要使用低输出失真、低噪声全双工声卡【注释3:见注释1。此处注释有误,应该是注释2】。Sound Blaster Live—Value Edition以较低的价格很好的满足以上要求。限于条件,我没办法一一测试满足要求的声卡型号,因此只使用这一款声卡进行测试。图2中,A1是声卡线路输出放大器,增益在Windows软件中音量控制面板中控制。线路输出信号电平通过播放部分中的WAVE和SPKR滑块调节,因此只需拖动滑块即可控制输出电平。在我的电脑和设备上,将SPKR滑块调节至最大,WAVE滑块调节至90%位置比较合适。除了WAVE和SPKR之外的其他项都要设为静音,包括LINE OUT,并将平衡器高音滑块设置到50%位置。检查控制面板中的声音设置,确保环绕音效、混响或其他音效没有打开。

早期的Sound Blaster声卡,如SB16,AWE32不适合用于这个制作,因为他们的本底噪声较大。需要注意的是,其他兼容SB16的声卡可能也会有这个问题,我的建议是不要使用它们。在ARRL网站上有关于声卡的讨论可供参考【注释4:见注释1】。

 

频率合成器软件使用

频率合成器软件可以从ARRL网站下载,压缩包大小只有26kB【注释5:见注释1】。将其解压到任一文件夹即可运行。软件在Windows 98和XP上测试通过。如果运行时软件提示“Required DLL file MSVBVM60.DLL was not found.”表明系统中缺少Visual Basic运行库,可以从Microsoft网站或其他软件下载网站免费下载,28.8kbps网速下载大约需要6分钟。下载得到Visual Basic 6.0 SP5: Run-Time Redistribution Pack(VBRun60sp5.exe)自解压文件并安装。如果运行时软件提示“Component ‘COMDLG32.OXC’ or one of its dependencies is not correctly registered: a file is missing or invalid.”,你需要从Microsoft或其他网站下载缺少的文件,并安装到系统中。其他问题可以参考频率合成器软件附带的详细说明。

如果你只是想尝试频率合成器软件,尽管尝试。软件不会修改注册表或留下其他痕迹。如果你不再需要这个软件,只需要删掉软件所在的目录即可。

频率合成器软件运行界面如图3所示。界面右侧用来控制合成器输出频率。在频率显示框中选中一位或几位数字,然后可以在键盘上输入需要的频率。左边可以存储常用的8个频率。软件下方状态栏显示当前分频比和音频频率。如果设置的频率超过了声卡可以输出的频率,在状态栏中会提示错误信息。

要使用频率合成器,首先将合成器连接至声卡输出,并打开合成器电源。按照前文声卡设置部分检查音量控制面板,确保各项设置正常。打开频率合成器软件,将分频比设置为和实际电路一致,并按照表1确认电路中C1容量和所需的输出频率范围一致。然后点击软件界面START按钮,这时频率合成器应该开始工作。你可以选中频率输入框中的频率,然后输入需要的频率,或者使用UP和DOWN按钮调节频率。

为提高频率合成器输出精度,可以使用频率计进行校准。将频率计探头串联一个4.7kΩ电阻,连接至74HC4046A第4个引脚,然后读数。电阻可以防止加在VCO的负载过大,导致测量结果不准确。首先将软件的校准系数设置为1.0000,然后根据前文描述,用设置输出频率和频率计读数计算出实际校准系数,写进软件并保存。现在实际输出频率应该和频率计读数相同。校准只需进行一次,结果会保存在FSinit文件里以供以后使用。

使用频率合成器校准接收机方法同样简单。首先将接收机设置为单边带或CW模式,将射频线一端连接至合成器输出,另一端放在接收机天线附近,将合成器频率调节到需要的频率,注意软件分频比设置和实际电路一致,然后将接收机拍频调节至零拍,读出刻度对应频率即可。

利用输出方波信号的奇次谐波,可以使合成器输出更高的频率。例如,将合成器频率设置为5120kHz,在15360kHz会得到较强的三次谐波,在25600kHz处会得到较弱的五次谐波。利用谐波可以将合成器频率扩展至短波频段。

在本文开篇我提到使用Clemens信号源校准Drake R4B接收机时,两者频率读数有明显偏差。我换用频率合成器再次校准Drake接收机,这次接收机表头读数和合成器频率显示几乎完全一致。对于老式电子管电台,这样的结果已经让我很满意了。下一步工作是使用频率合成器校准Clemens信号源,在下面一部分我会介绍如何操作。

 

使用频率合成器校准信号源

频率计是最简单的测试信号源的方法,但如果信号源输出电平太低,或需要特别的触发设置,频率计不能满足要求,可以尝试下文描述的方法检测信号源。借助射频混频器和频率合成器,我们可以用零拍频法测试信号源频率准确性。在下面的例子中,我用到了SA602双平衡混频芯片。这是一颗很容易买到的芯片,具有高混频增益,所需的本振和射频信号电平很低,价格大约3美元,可以从DigiKey之类的代理商处买到。混频器的输出频率为两个输入频率的和和差,如果将频率合成器和信号源作为两个输入信号,就可以通过测量输出信号频率得知输入信号频率差。简易电路图如图4所示。

使用时需要将信号源输出电平调节至200mV左右,以防止信号太大损坏混频器。如果输入电平不方便调节,可以用电阻分压方式降低电平。SA602平衡输出信号通过差分放大器(LM358或LM2904)转换成音频频率范围内的信号,C8和C9将输出信号中的“和”信号滤除,留下处于音频频率范围内的“差”信号,可以通过监听拍频声音判断“差”信号的频率。我在实际测试时发现如果将音频放大器和混频电路装在同一块面包板上会产生啸叫,所以我在面包板之外接了一个放大倍数为20倍的音频放大器避免这个问题。当声音频率为零时(零拍)表明信号源和频率合成器频率一样。同时我发现先设置合成器频率,然后调节信号源频率至设定的频率会容易一些,因为信号源频率容易漂移,而频率合成器不会。

 

结语

我用自制的频率合成器测试过我的几个信号源、几台模拟式短波接收机和两台数字式短波接收机,结果还不错,频率合成器的频率读数相当准确。我的Clemens信号源输出的正弦波波形很不错,但频率会发生漂移,其他几台模拟式信号源也有类似情况。相比之下,即便考虑到信号抖动,这台频率合成器精度和漂移都很不错。

我没有测试笔记本电脑或主板集成声卡的情况。如果你进行过测试,请务必告诉我结果。我不打算将合成器直接用于发射信号,因为这需要增加复杂的滤波器电路。

我正在尝试将频率合成器扩展为单边带/CW接收机【注释6:见注释1】。在拖延了几年之后,我决定加快速度。如果你成功了,请务必告诉我。对于这类自制接收机,其性能无法与市售接收机媲美,但其制作过程带来的乐趣是市售接收机远无法提供的,将业余无线电与电脑结合为这个项目增添了更多乐趣。我相信你也一定能乐在其中。

 

乔治 R. Steber博士(George R. Steber),呼号是WB9LVI,曾在位于密尔沃基的威斯康星大学担任研究员35年。几年前从工作岗位退休,后被聘为名誉教授。乔治是ARRL及IEEE终身会员,并持有业余无线电高级执照【注:此处原文为Advanced class license,为旧的执照分级,为所有等级中的第4级(共5级)】。乔治拥有丰富的行业经验,持有18项专利,目前仍不时以顾问身份参与产品设计。乔治具有丰富的业余爱好,包括喜欢阅读、壁球、天文学、音乐和视频录制等,并在当地一个乐队演奏小号。他的联系地址是9957 N River Rd,Mequon,WI 53092,电子邮箱是steber@execpc.com,发送邮件时请使用文本格式,并在主题注明SYNTHESIZER。

图1:使用面包板搭建的频率合成器。

图2:频率合成器与声卡连接示意图及频率合成器电路图。

图中:以小数表示的电容容量单位为uF,其他电容容量单位为pF;电阻阻值单位为欧姆,k=1000,M=1000000。V+=6V dc;电阻为1/4W,5%精度;除另外标注外,电容均为瓷片电容;NC表示没有连接。

图3:频率合成器软件的主界面。

图4:用于测试信号源的电路图。

图中:以小数表示的电容容量单位为uF,其他电容容量单位为pF;电阻阻值单位为欧姆,k=1000,M=1000000。V+=6V dc;电阻为1/4W,5%精度;电容C12和C13为电解电容,其他为瓷片或独石电容;NC表示没有连接。

表1:频率合成器频率锁定范围和元件参数
序号 分频比 C1(pF) PLL频率锁定范围(MHz)
1 512 50 2.4 ~ 9.2
2 512 270 1.0 ~ 2.6
3 256 430 0.5 ~ 1.6
4 256 100 1.5 ~ 5.0
5 256 270 1.0 ~ 3.0
6 128 470 0.5 ~ 1.7

Frequency Synthesis 101

频率合成器并不是一项新技术,事实上在几乎所有较新的无线电设备上都有用到。常见的一种方式,有时也成为间接方式,是使用锁相环(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输出频率等于声卡输出信号频率乘以分频器倍数,以此实现倍频。

许多频率合成器参考频率输入保持为一定值,通过改变分频比改变输出频率。例如,选择分频器分频比为4可以得到4倍于参考频率的输出频率。本文介绍的频率合成器使用了另一种方法,即通过改变参考信号频率来改变输出信号频率。因为参考信号频率可以通过软件调节,所以可以方便的改变输出信号频率。这种方法需要锁相环频率锁定范围足够大。在本文的频率合成器设计中,锁相环的频率锁定比可以达到4:1,即最高频率是最低频率的4倍,使用表1的频率范围1中的元件参数,输出频率范围从2.4MHz到9.2MHz,足以覆盖短波报时信号(3.33MHz)、美国时间和频率短波广播电台信号(5MHz)和80米和40米业余频段,包括8.42MHz附近的NMN和WLO电台等。

图A:74HC4046A锁相环芯片原理框图

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据