在Cf和IIN确定之后,还可以算出基频f0,根据系统要求适当改变VFADJ,就可以实现频率的微调。VFADJ的值可由12位双通道D/A转换器LTC5618提供,LPC2114通过3线串行总线对TLC5618实现数字控制,其输出电压范围为基准电压的两倍,其输出电压为:
本电路中,TLC5618的基准电压由MAX038的VREF端提供(为2.5 V),所以,TLC5618的输出电压范围为0~5 V。当TLC5618的OUTA端输出为1.3 V(428H)~3.7V(0BD7H)时,经过一个高输入电阻差分比例运算电路后.就可以得到-2.4V~+2.4 V的电压,从而实现频率的微调。
改变VDADJ的电压可以控制波形的占空比。若用DC表示占空比,那么,当VDADJ为0 V时,Dc为50%;当VDADJ不等于0 v时,VDSDJ=(50-Dc)×0.0575。控制TLC5618的OUTB端的输出(1.35 V(451H)~3.65 V(OBAEH)),再经过高输入电阻差分比例运算电路后,即可得到-2.3-+2.3 V的电压。从而实现占空比在10%~90%范围内的变化。
2.3波形输出与驱动电路
MAX038输出波形的幅值为2 V(P-P),最大输出电流为+20 mA,输出阻抗的典型值为0.1 Ω。可直接驱动100 Ω的负载。为了得到更大的输出幅度和驱动能力,就需要对波形信号作进一步处理,图3给出了一个波形输出与驱动电路。为了滤除高频干扰,波形信号从MAX038的OUT端输出后,可使其通过一个50 MHz的LC低通滤波电路,并经过AD8021进行电压放大。AD8021是解决增益与带宽性能之间的匹配问题的一种定制补偿放大器。当增益为-1时,带宽200 MHz。增益为-10时带宽190 MHz。本电路中,AD8021的闭环电压增益G=(750+82.5)/82.5≈10,输出电压的幅度增至20 V(P-P),有效值为7 V左右。直流分量由OP07高精度运放构成。偏移量在-5~+5 V之间。功率放大级由AD811来担任,AD811是一个宽带高速电流反馈型运算放大器,其小信号带宽(G=+2时)达120 MHz,输出电流达100 mA,短路输出电流可达150 mA。在本电路中,AD811的电压放大增益为1,主要起功率放大的作用。
图3中,通过电位器RW1可以对波形的幅度进行调节。通过LPC2114控制继电器的开通与关断,可以对信号幅度进行0 dB、20 dB、40 dB三个档次的衰减。为了实时测量波形的峰峰值,可使信号经过峰值检波电路后,再经过分压,使其电压保持在0~3.3 V之间,然后送人LPC2114自带的10位A/D转换器进行测量。峰值检波电路可由一级精密二极管电路和一级电压跟随器组成。这里的电压跟随器仍选用AD8021,当信号为正且大于二极管的阈值电压时,可以对电容充电,以锁存峰值,并可通过旁边的电阻为其放电。因为放电是一个相对缓慢的过程,因此,当信号频率很高时,电容两端的电压就近似于正峰值,这样,根据波形,就可以通过编程对其进行处理,从而得到信号的峰峰值。
3软件设计
本设计的所有程序均用C语言编写。软件主要包括主程序、峰值检波子程序和显示子程序。主程序主要完成程序初始化,比如PLC2114的初始化,输出波形、频率占空比的初始化等(默认为1 kHz的正弦波信号),然后不断的检查是否有有效键按下,并根据不同的情况对其进行处理,其中频率的调节相对比较复杂,首先要根据键入的键值来确定输出波形的基频,从而确定所对应的IIN和Cf,再求出微调电压VFADJ,最后把计算的值送到DAC和CD4051。峰值检波子程序则通过定时中断的方式来测量波形的峰值,并送LED显示。其主程序流程图如图4所示。
4结束语
通过LPC2114对MAX038进行实时程序控制可产生高频高精度的输出波形,而且系统运行稳定,输出波形失真小、频率范围宽。通过本文所设计的程控函数信号发生器可以输出0.1 Hz~20MHz范围内的正弦波、方波和三角波,输出幅度为0~20V(P-P),电流可以达到100mA,因而是一个理想的精密信号源。