数字电位器(dpot)是一种常见组件,采用各种封装、电阻和分辨率。但是,除了电阻和设置之间的常规线性函数,它并无其他效用。对于需要广泛的动态增益调整范围(例如数十倍频程)的应用来说,这会造成一些问题。
 
以一款放大器为例,你使用 8 位(256 中的 1 个)分辨率电位器,将其增益设置为 0 至 10,000 (80dB)。当电位器设置与电阻(线性锥度)成线性关系时,dpot 设置与增益成线性关系。在 256 个电位器设置中,每个步进都表示约 40 的增益幅度增加(即增益步进为 0、40、80、120、160 等)。 
 
对于 8 或以上的 dpot 设置(增益>300),这给增益设置提供了不错的分辨率,可以实现每个步进 1dB 或更低的增益控制。但是,当设置值低于 8 时,增益分辨率大幅降低。例如,如果你需要将增益设置为 100 或以下,你没有办法以任何有意义的精度达到必要的值,你只能选择 80 或 120 左右的值。 
 
如果具备准确、稳定、高分辨率,且带有对数抽头的数字电位器(电阻对数与设置成正比),就很容易安排增益控制电路,在整个调整范围内提供恒定的分辨率(增量单位:dB)。遗憾的是,目前并没有具备出色分辨率(例如,步进小于 6dB)的对数数字电位器(对数 dpot)。
 
但并非全无用处。图 1 所示的 Design Idea 采用普通的线性抽头电位器(例如,ADI 提供的价格便宜的双极 AD5200 ),AD5200)实现了相近的对数增益控制。 
 
图 1 线性数字电位器模拟对数抽头
 
如果 Dx(上方所示)表示游标设置(0 – 255),我们可以采用分段求解的方式,轻松得出放大器增益 Vout/Vin 与 Dx 的设计公式。首先,作为 Vin 的函数,求解游标电压(Vw):
 
1.  Vw = −Vin RAB Dx / (255 R1)
 
接下来,作为 Vw 的函数,求解 Vout:
 
2.  Vout = −Vw 255 R2 / (RAB (255 – Dx))
 
然后,将公式 1 和 2 结合在一起:
 
3.  增益 = Vout / Vin = −Vw 255 R2 / (RAB (255 – Dx)) / (−Vin RAB Dx / (255 R1))
 
4.  增益 = (R2 / R1)(Dx / (255 – Dx))
 
5.  Dx = 255 增益 (R1 / R2) / (1 + 增益 (R1 / R2))
 
毫无疑问:
 
6.  dB(增益) = 20 Log10((R2 / R1)(Dx / (255 – Dx)))
 
 
7.  增益 = 10dB/20
 
由此得到:
 
8.  Dx = 255 10dB/20 (R1 / R2) / (1 + 10dB/20 (R1 / R2))
 
图 2 dB 增益(y 轴左半段)和增益集分辨率(y 轴右半段)与 Dx(x 轴)之间的关系
 
认真看看得出的增益公式,可以看到这些有意思的地方:
 
1.  Dx/(255 - Dx)的近似对数性质。如图 2 所示,当 R2/R1=100,Dx = 8 时,得出的增益=~10dB;Dx = 23 时,增益为 20dB;Dx = 128 时,增益为 40dB;Dx = 232 时,增益为 60dB;Dx = 247 时,增益为 70dB。在整个 60dB =1,000 至 1 范围内,增益设置的分辨率仍然不超过 1dB,这一点尤其重要。此外,Dx =0 时,增益设置为 0,同时 Dx = 255 选择开环。
 
2.  采用电位器游标作为输入端子的策略有效地将游标触点移动到放大器 A1 的馈电回路中(图 1),从而消除了作为误差项的影响,提高了增益设置的时间和温度稳定性。
 
3.  同时,在 A1 馈电和 A2 输入(图 1)端使用 RAB 电阻元件可以将 RAB 公差和温度系数(tempco)(AD5200 中为+/-30%和 500ppm/oC)与灵敏度进行比较,R1 和 R2 是增益集精度的唯一决定因素。 
 
如果需要高于 8 位(1/256)的分辨率,可以将 10 位 AD5292 等部件放入拓扑中,获得高于 4×的增益设置精度。谨记,增益公式中出现 255 时,要替换为 1023!或者,更概括地说,如果 N 表示位数:
 
9.  Dx = (2N – 1) 增益 (R1 / R2) / (1 + 增益 (R1 / R2))
 
—W. Stephen Woodward 是 EDN 最多产、创意最多的 Design Ideas 作者,也是仪器仪表、传感器和计量学方面的自由顾问。