摘要:本文介绍了一种自适应控制A/D转换编码电路,着重分析了调理电路自动增益控制、误差补偿与A/D转换编码原理,探讨了该电路的局限性,给出了自适应控制A/D转换编码电路设计方案及其与微处理器的接口应用。
关键词:自动增益控制 自适应控制 误差补偿 A/D转换 微处理器
在数据采集系统中,通常需要尽量将模拟信号子样放大到接近A/D转换电路的满度值,以充分利用A/D转换器的分辨能力。然而,在某些应用领域,一方面信号子样有效幅值输入范围较小,另一方面信号又极其微弱,因此,一般需要调理电路具备100dB以上的信号放大能力,而运放和采样装置引入的失调可能高达100~200μV,同时还具有一定的时、热漂移。而在某些应用领域,信号子样有效幅值输入范围又可能较大。显然,固定增益信号调理电路无法兼顾对上述两类信号子样的高分辨率A/D转换。为提高信号调理电路对信号的自适应能力,设计者往往希望系统能根据信号的强弱自动调整增益并实现高保真信号调理。本文介绍一种采用自适应控制A/D转换编码电路来实现信号自适应调理的方法。该方法同时具有自动增益控制、失调与温漂自动补偿和A/D转换编码控制等功能。
1 自动控制循环放大及误差补偿
利用图1所示电路可直接完成对±10μV~±5V信号的自动增益放大并实现12位A/D转换编码,并在信号调理过程中使增益随信号的强弱自动调节,运放失调误差可被自动补偿,从而实现极高的信噪比。该电路主要由模拟开关S1~S10、运放OP1与OP2(主放大器、精密电平比较器)、比较器OP3与OP4、精密电阻R1~R3及Rf、采样保持器A1与A2构成。OP1与OP2选择低漂移运放,OP3、OP4为普通集电极开路输出比较器。电路工作过程为信号及误差采样、自动增益控制循环放大和循环编码A/D转换3个阶段。
1.1 信号及误差采样
一般放大电路主要存在三个误差:主运放OP1的失调误差E0、采保器A1与A2的误差E1和E2。E0、E1及E2均折算于OP1同相输入端。
在第1采样周期,开关S1、S4及S10闭合,其它断开。电路完成对E0、E1的采样。OP1同相组态增益K1=1+Rf/R1=7/4。此周期结束后,采保器A1的输出电压为:
Vp=(7/4)E0+E1
在第2采样周期,开关S2、S7及S11闭合,其它断开。OP1同相组态增益K2=1+Rf/R2=2。这时第一采样周期输出Vp被放大,同时再计入E0、E1的影响,采保器A2的输出电压为:
VQ=2Vp+2E0+E2
输入信号采样过程在第3周期内完成。此时,开关S3、S5及S10闭合,其它断开。对误差电压VQ而言,OP1呈反相组态,反相增益K3=-(Rf/R3)=-(2/3)。对信号子样VE,OP1呈同相组态,同相增益K4=1-K3=5/3。此周期结束后,电容C1上的电压为:
VM=(5/3)VE+(5/3)E0-(2/3)VQ
1.2 自动增益控制循环放大与误差补偿
前三个周期完成对输入信号VE及三个误差信号E0、E1、E2的采集,并将其结果保存于电容C1中。从第4周期开始,将通过对电子开关S6、S10、S7、S11的交替切换完成对输入电压的循环放大。在第4、6、8、…等周期,S7、S11闭合,在第5、7、9、…等周期,S6、S10闭合。在整个循环放大过程中,S2一直闭合,主运放OP1的同相组态增益为2。电子开关经n次交替切换后,原输入信号子样被放大(5/3)×2 n倍。由于完成一次循环放大的时间很短,因而时漂可以忽略。在对信号进行循环放大的同时,误差也参加循环,正是前三个周期对误差、信号的特殊采集方法确保了失调误差在各次循环放大过程中的自动补偿,从而使之不会随信号被循环放大。其放大过程如下:
第3周期结束时(第n=0次循环放大),A1输出电压为:
V3=VM+E1
=(5/3)VE-2E0-(1/3)E1-(2/3)E2
第4周期结束时(第n=1次循环放大),A2输出电压为:
V4=2V3+2E0+E2
=(5/3)×2 1 VE-2E0-(2/3)E1-(1/3)E2
第5周期结束时(第n=2次循环放大),A1输出电压为:
V5=2V4+2E0+E1
=(5/3)×2 2 VE-2E0-(1/3)E1-(2/3)E2
依此类推,经n次循环放大后,有效信号达(5/3)×2 n VE,而误差一直为-2E0-(1/3)E1-(2/3)E2或-2E0-(2/3)E1-(1/3)E2,仍然是信号采样周期结束时所获得的初始误差采样值。经n次循环放大后,信号被放大到满刻度的1/2~1倍。其值已达数伏之高,而输出误差总额却不超过300μV,从而实现了极高的信噪比。
自动增益控制通过控制循环放大的次数来实现,循环放大次数取决于以下两个条件之一:第一,通过溢出判断电路OP3、OP4判断输出电压,如果输出已超过满刻度的1/2时,应停止再进行循环放大,否则,下次循环的输出直将溢出;第二,循环放大次数已超过规定的限值时(一般取n≤18,循环增益≤2 18,约110dB,说明被测信号太弱,已超出电路的处理能力,应停止循环。)
2 循环编码式A/D转换的实现
利用电子开关S8和S9分别将基准电压+VR和-VR加到运放的反相输入端,可在放大阶段结束后接着对输出信号进行循环编码式A/D转换。A/D转换电路的参考基准电源VR=+5V,它同时也代表放大电路的满刻度值。主运放OP1的反相放大倍数为-1,同相放大倍数为2。
在循环编码过程中,S7、S11和S6、S10两组开关轮流切换,以完成信号的循环传递。整个循环编码过程中的误差仍然是自动补偿的,这里不再赘述。在OP1的输出端接了一个极性检测器OP2.放大阶段结束时,运放OP1输出被用于循环放大后的信号(已保存于C1或C2中),极性检测器OP2同时产生一个二进制编码B0,它表示被编码电压的极性,即A/D转换结果的二进制编码的符号位。各编码周期的二进制编码输出位Bi及S8、S9的状态选择逻辑如下:
Vo(i)>0时,取Bi=1,下次S8闭合,基准源+VR加到运放反相输入端,运放执行以下运算:
Vo(i+1)=2Vo(i)-VR
Vo(i)<0时,取Bi=0,下次S9闭合,基准源-VR加到运放反相输入端,则执行:
Vo(i+1)=2Vo(i)+VR
转换结果为二进制小数形式,Bo为二进制编码结果的符号位,B1至BN分别表示最高至最低位数值位。B0=1时,被测信号为正,B1至BN表示转换结果的原码;B0=0时,被测信号为负,B1至BN为二进反码形式。每转换一位需要一个控制周期,转换的总周期数决定了A/D转换的分辨率。需指出,上述循环编码A/D转换电路与普通逐次逼近式A/D转换在理论上是一致的(证明过程略)。
3 时序控制电路设计
该电路还需设计一个时序控制电路与之配合,以产生各操作周期所必需的时钟节拍。一次完整操作最多需33个时钟节拍。图2给出了模拟开关的控制时序。可采用通用门器件或可编程门阵列构成的硬件时序逻辑电路来实现,也可应用微处理器控制产生所需时序。硬件实现图2的控制时序可获得较高的整机速度,约为几μs~μs。这主要取决于采样保持器及硬件时序逻辑电路的工作速度 。用微处理器产生所需时序时,完成图2所示的一个时钟节拍的电子开关状态设定约需数条至十数条指令周期,因而速度较低。因此只适用于500μs左右的低速数据采集系统。
某离子浓度测定仪的循环放大与编码电路采用了8031单片机控制接口电路,应用P1口输出8位控制数据以控制S1~S11,T0、T1接8031的状态测试端。为提高程序执行效率,提高电路工作速度,程序设计采用简单的顺序执行方式,这种方式所实现的图2时序控制周期可能是非等时间间隔的,但这不会影响控制时序的执行性能。单片机系统时钟为6MHz,指令周期TCY=2μs,一次数据采集转换约需要390个TCY,即约需时780μs。
4 结束语
在本文所述的自适应控制A/D转换编码电路中,A/D转换编码与信号放大共用一套电路,工作过程由数字电路或微处理器控制,结构简单,对信号的自适应能力强,可实现自动增益控制、失调与温漂的自动补偿、A/D转换循环编码控制,工作稳定可靠。在中速以下数据测量应用场合,该电路具备较高的性能价格比,特别适宜于各种单片机智能仪器、移动型微数字检测设备及虚拟仪器系统使用。在实际应用中,应注意采样保持误差对系统精度的影响。用微处理器生成控制时序时,由于周期较长,因而应选用低顶降率的采保器,采用其它硬件电路产生控制时序时,周期较短,则应选用低获取时间的采保器。
在某离子浓度测定仪的应用实例中,其输入信号为30μV~200mV,A/D转换字长为12位,平均信号处理时间为600μs。OP1与OP2笔者选用AD707极低漂移运放(偏置电压15μV、偏置电压漂移0.1μV/℃、噪声0.1μVp-p、回转率0.1V/μs),OP3与OP4选用LM339普通集电极开路输出型比较器(失调2mV),A1与A2选有SMP-04EP经济型采保器(精度0.01%、获取时间7μs、顶降率为0.025μV/μs)。