许多嵌入式应用都会用到A/D转换器。然而,如果错误连接了A/D转换器输入端的电路,就会无意识的破坏A/D转换的测量。
图1是A/D转换器和集成采样保持(S/H)电路的典型应用实例。这是一个非常简单的应用,几乎不可能出现错误连接。然而它确实是错误的,由此检测到的A/D转换器的数值将低于预期的数值。
要了解错在哪里,我们就得先检查采样保持电路。如今的采样保持电路远比图例中的电路要复杂得多,但基本的原理还是相同的。在采样过程中开关处于闭合状态,并对采样电容进行充电。为了保护外部电路,防止由于电容突然与自己的输出相连而对外部电路形成冲击,我们在片上集成了一个模拟缓冲器。我们在理论设计和图纸设计时都会用到理想的缓冲器,但真实的电子世界里并不存在这样的理想状况。在这里,缓冲器更像是一个阻抗变换器,它会把自己输出端电容量的变化转化为其输入端电容量的变化。
A/D转换器的输入端与一个外部放大器相连。由于采样过程非常迅速,比外部放大器的带宽快得多,因此无论A/D转换器的输入端怎样变化,都不受外部放大器的影响。
图2是一个等效电路,它使我们能够了解整个采样过程。在采样发生前,PCB导线和芯片引脚的组合电容(CT+CP)被充电为输入电压VIN。在采样时,由片上输入缓冲器的电容与放电的采样保持电容合并而成的(CX),与这些组合电容处于并联状态,因此输入引脚的电压将下降。在这种情况下,唯一能向这些电容器传递更多电荷并抬高输入电压的器件就只有外部放大器,但它的反应非常迟缓。此时,输入的电压值会下降多少呢?
我们先假设某些合理值,例如(CT+CP)=5pF,CX=0.5pF。根据上面的公式计算,输入电压将下降到95%!
很明显,通过提高依附于A/D转换器输入端的电容量,就可以减轻压降。我们先来计算一下要想使压降低于A/D转换器的1/2 LSB,所需要的最小电容量。
当输入电压为允许的最大值时,情况将最糟糕。如果假设A/D转换器的解析度为N位时,其允许的最大输入电压相当于2N.LBS。
因此如果我们用12位A/D转换器、输入电容的变化值为0.5pF时,与A/D转换器输入端相连的最小电容必须大于2130.5pF(例如4nF),以便使压降小于1/2LSB。
众所周知,芯片制造商通常不能为设计师提供足够的数据。我看过许多A/D转换器的datasheet,发现它们都没有提供采样过程中输入电容的变化数据。但我们能够通过测量轻松得到这个参数,而测量所需要的设备仅为一台示波器和一台信号发生器。值得说明的是,这一简单测量的结果并不准确,但至少可以让我们粗略地估计出这一参数值。我们可以通过观测芯片引脚的压降,计算出电容值的变化情况。
测量方法如图3所示。为了方便测量,RC网络的时间常数要足够长,因此输入电阻RI的阻值要足够大。我在测量中就用了1MOhm的电阻。图4和图5显示的测量采用了飞思卡尔开云棋牌官网在线客服的混合控制器DSP56F805。这些测量值是适用于整个DSP56F80x系列的快速A/D转换器的典型值。首先,我们得测量与A/D输入端相连的电容值(C=CO+CT+CP)。我们先对输入电阻施加一个方波信号,然后通过显示屏观察结果波形的时间常数(如图4)。我们可以从显示屏上直接推算出这一时间常数,但最好把数据输入到excel中以求计算结果更精确。在图4的例子中,时间常数大约为28.5μs。
因此在上面的例子中,C≈28.5μs/6.2832/1M Ohm≈4.54pF.
现在,我们将在允许的范围内对输入电阻施加最高的DC电压,启动A/D转换。图5显示了最终的压降:在3.3V时,压降约为176mV。
一旦我们测量到了压降值,我们就可以计算出A/D转换器输入电容量的变化情况。
在这个例子中,CX=4.54pF?(3.32/3.1242-1)≈4.54pF?0.116≈0.53pF。
放大器通常不是电容性负载。因此图6中增加了一个外部输入电阻。由此形成的RC网络还具有滤波功能,可以滤除高频噪音。
A/D转换器的输入漏电流通常低于1μA。如果我们采用几百ohm的电阻来充当输入电阻,则通过该电阻的压降将为100μV左右,低于1/2LSB。