基4-FPGA的大动态范围数字AGC的实现
1 引言
在数字中频接收机中,把A/D转换提前到中频部分,为保证A/D转换的动态范围和系统带宽,要求低噪声放大器和自动增益控制AGC(Automatic Gain Control)电路能够提供大动态范围的自动增益控制。AGC系统由可变增益放大器和反馈回路组成。反馈回路从可变增益放大器的输出中提取幅度自动调节可变增益放大器的增益,当输入可变增益放大器的信号幅度增大时,反馈回路控制其增益按一定关系减小;减小时,其增益则按一定关系增大。这样无论输入信号的强弱,经AGC放大后都能得到电平基本恒定的输出信号,从而保证系统的动态范围。数字AGC的反馈部分由数字处理实现,与模拟AGC相比,降低调试难度而且增强了稳定性、收敛性和精确性。
2 数字AGC的原理与设计
采用ADI公司的可变增益放大器、数字可控增益放大器和FPGA实现大动态范围的自动增益控制,这两个增益放大器均采用ADI公司的先进工艺技术,且能提供精确的线性放大,受温度影响很小。
图1为数字AGC系统原理框图,包括可变增益放大器AD603、数字可控增益放大器AD8320、A/D转换器AD9220、D/A转换器AD7801,而FPGA用于实现串行转并行以及根据AD9220的ORT指示引脚进行大动态范围的自动增益控制。
图1中,AD603是电压可控增益放大器,增益由GPOS和GNEG引脚电压差确定。当GNEG=0.5V,GPOS在0~1 V变化时,AD603增益为-lO~30 dB,增益线性变化率为25 mV/dB。AD7801是8 bit D/A转换器,其8 bit控制寄存器由FPGA控制CS和WR信号写入,为AD603的GPOS端口提供增益控制电压,输出电压为0~2.5 V。通过电阻网络后输出电压变为0~1 V,实现AD603的增益可控。AD8320是数字可控增益放大器,具有一个8 bit串行输入控制端口,可实现256个可编程增益设置,增益与8 bit串行控制字Code的关系为:
Gain(dB)=20log10(0.077×Code+0.316) (1)
式中,Code的范围为0~255。
该控制接口支持SPI输入控制标准,包括串行输入字,时钟和使能信号,增益变化为-10~26 dB,可达到36 dB的输出增益范围,8 bit串行输入字随8个CLK上升沿送入移位寄存器(高位在前),在这8个时钟周期内,使能信号为低时,不更新原来的控制字。经过8个时钟周期整个新的控制字全部送入移位寄存器后,使能信号变为高,此时,数据锁存,控制字更新,内部时钟屏蔽,禁止新的控制字输入。
由于AD603的控制字为电压,而AD8320的控制字为8bit控制字,为使用同一个控制字同时控制两个增益的变化,以达到增大AGC动态范围的目的。因此,将FPGA产生的8bit串行控制字:一方面经串行转并行运算送入8 bit D/A转换器AD7801实现数模转换,从而由电压控制字控制AD603的增益变化;另一方面则采用8 bit串行控制字控制AD8320的增益变化,这样由AD603和AD8320共同控制信号的AGC,当控制字从0~255变化时,理论增益从- 20~56 dB,因此,达到76 dB的动态范围。
AD9220是12 bit高速A/D转换器,其输出范围指示OTR信号和最高位指示MSB位的真值表和逻辑关系如表1所列。
当模拟输入信号在A/D转换范围内时,OTR引脚产生低电平指示;当模拟输入信号电平溢出时,OTR引脚产生高电平指示;如果此时MSB位为低,则表示模拟输入信号电平下溢出,此时应该增大AGC;MSB位为高,则表示模拟输入信号电平上溢出。FPGA根据OTR信号和MSB位对AGC进行设置和调整。 OTR引脚将保持高电平,直到模拟输入被调整在A/D转换范围内且完成新的A/D转换。
根据真值表得到AD9220的输出OTR信号和MSB位与FPGA输入信号OVER和UNDEROVER具有图2所示的逻辑和时序关系,其中,逻辑关系图 2a也反映了AD9220的输出OTR信号和MSB位与FPGA的输入信号OVER和UN-DEROVER之间的连接关系。
3 实验及仿真结果
AD603动态范围为40 dB且增益由GPOS和GNEG引脚的电压差确定,并非由数字控制,而AD8320增益由数字控制,但动态范围只有36 dB。系统设计特点在于用同一个控制字同时更新可变增益放大器AD603和数字可控增益放大器AD8320,这样,当控制字从0~255变化时,理论上增益为-一20~56 dB,达到76 dB的大动态范围且增益由数字控制字决定。图3为单独的AD8320、AD603以及由同一控制字同时更新AD8320和AD603时控制字与增益的变化关系,可以看出该系统在信号很小时并不十分有效,所以实际AGC的动态范围达不到76 dB,图4为输出信号频谱图,在频率为42 MHz时,最大增益可达61 dB。
数字AGC的功能主要由FPGA程序设计实现,该系统中送入两个放大器控制字SDATA,由FPGA根据AD9220的输出范围指示端OTR信号和最高位指示端MSB位给出,仿真结果如图5所示。
可见,当A/D转换器的输入上溢出时,FPGA输出8 bit控制字到反馈回路,控制增益字从255逐渐减小,直到A/D转换器的输入降低到其动态范围之内,上溢出标志OVER为0,此时控制字为247,如图 5a所示;当A/D转换器的输入下溢出时,FPGA输出8 bit控制字到反馈回路,控制增益从上次锁存的控制字247逐渐增大,直到A/D转换器的输入增大到其动态范围之内,下溢出标志UNDER-OVER为 0,此时控制字为255,如图5b所示。这样使不在A/D转换器动态范围之内的输入信号在经数字AGC后,在A/D转换器的输入端都能得到电平基本恒定的信号,从而保证系统的动态工作范围。
4 结束语
该系统设计的创新之处在于采用可变增益放大器AD603、数字可控增益放大器AD8320和FPGA实现大动态范同的自动增益控制,充分利用AD9220的两个指示输入信号范围的输出端口,利用FPGA编程,同时控制可变增益放大器和数字可控增益放大器,即用同一个控制字同时控制两个增益变化,达到增大AGC动态范围的目的,机理简单,易于实现。该系统设计在一定程度上克服了传统AGC存在的缺陷,由于控制回路采用FPGA实现,所以响应和收敛速度更快,性能更稳定,从而简化电子设备的调试,提高电子设备接收能力和接收机的工作性能。
评论