问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

理解ADC:Delta-Sigma ADC如何工作?

创作时间:
作者:
@小白创作中心

理解ADC:Delta-Sigma ADC如何工作?

引用
CSDN
1.
https://blog.csdn.net/gilbertjuly/article/details/144044657

前言

Delta-Sigma ADC,也有称为Sigma-Delta ADC、ΔΣ ADC、ΣΔ ADC。

Delta-Sigma ADC的应用非常广泛,特别是对于低频、高分辨率的信号处理场景,我们可能在不经意之间就使用到了Delta-Sigma ADC,比如音频Codec、生理监测、环境/过程控制,还有树莓派扩展板“ADC Pi”中的MCP3424也是一颗Delta-Sigma ADC。

然而,相比于SAR ADC,Delta-Sigma ADC的工作原理有点令人费解,今天就尝试为大家介绍一下。

Delta-Sigma ADC框图

在TI的应用笔记“How delta-sigma ADCs work, Part 1”(详见参考资料[1])中给出了这类ADC的框图:


图1 Delta-Sigma ADC框图,来源[1]

它由两部分组成,ΔΣ调制器与数字/抽取滤波器:

  • ΔΣ调制器:是一种调制器,将模拟信号调制成频率很高的1 bit数字信号,很多芯片手册里提到的过采样(Oversampling)和噪声整形(Noise shaping)就发生在这里。
  • 数字/抽取滤波器:数字滤波器是为了去除目标信号以外的频谱成分,而抽取滤波器是为了将输出数据降低到合适的速率。

我们在此主要看ΔΣ调制器,因为它是这类ADC的基础。

ΔΣ调制器

在TI文中提供了“1 bit一阶ΔΣ调制器”的示意图,它由微分器(Difference Amplifier)、积分器(Integrator)、比较器(Comparator)、DAC组成:


图2 一阶ΔΣ调制器,来源[1]

其中:

  • 对于1 bit的ΔΣ调制器,每次量化结果只有二进制“1”或“0”的1 bit;
  • DAC也是1 bit,量化结果经DAC反馈到输入端,与输入信号相减,两者之差就是量化误差,体现的是“Delta”的部分;
  • 积分器累积量化误差,因为是一阶的,只记录过去1个延时单位,累积后送到比较器,体现的是“Sigma”的部分;
  • 比较器相当于1 bit的ADC,如果量化误差大于参考值,输出二进制的“1”,反之输出二进制的“0”。

这套系统以高频时钟运作,多次的量化结果输出一连串的二进制码流,每个码的速率是固定的。

时域表示

我发现在ADI的一个在线教程中(详见参考资料[2]),提供了上述系统运作的单步骤运作演示,你可以打开网页尝试一下,一步步点击“Next Step”查看结果,如下是Vin = 1.0V的例子截图:


图3 ΔΣ调制器单步骤演示,来源[2]

图中,DAC的参考电压Vref = 2.5V,当量化结果为“1”时,DAC = 2.5V;当量化结果为“0”时,DAC = -2.5V;这意味着输入信号的幅度范围可以是-2.5V至+2.5V(+/- Vref)。

此时,对于输入信号Vin = 1.0V,显示了前30个量化结果,分别为:1、0、1、1、1、0、1、1、0、1、1、0、1、1、1、0、1、1、0、1、1、0、1、1、1、0、1、1、0、1。

那么,这些量化结果是如何表示Vin呢?

重点来了,是用密度。在上述30个量化结果中有21个“1”,说明输入信号是满量程的21/30 = 70%,即:-2.5 + (2.5 *2) * 70% = 1V。注意,是从底部-Vref开始算起的。

又因为是纯粹数字化的步骤运算,很容易用Excel表格来模拟,比如以下是我用Excel模拟上述Vin = 1.0V的例子,前30个输出结果(Camparator Out列)与网页是一致的,右侧的波形图分别是Vin(蓝色波形)和DAC输出(橙色波形),并且,Excel下侧的状态栏显示Average是0.7(字比较小):


图4 Excel模拟ΔΣ调制器过程,输入为直流信号

那么,如果将Vin改为正弦波,会得到怎么样的结果?

再次用Excel表格模拟如下,右侧波形图分别是Vin(蓝色波形)和DAC输出(橙色波形):


图5 Excel模拟ΔΣ调制器过程,输入为正弦信号

可以看出,对于1 bit一阶ΔΣ调制器,它就像是脉冲密度调制PDM(Pulse Density Modulation),在输入信号的幅度越接近+Vref时,用越多“1”表示,在输入信号的幅度越接近-Vref时,用越多“0”表示。

WiKi百科上还列举了这种“1 bit一阶ΔΣ调制器”的公式,推算出图2中Yi与Xi的关系,以及Python代码实现,有兴趣可以参阅(详见参考资料[3])。

频域表示

回到TI的文章(详见参考资料[1])中,后续讲述的是这套ΔΣ调制器系统的频谱特性,它能将量化噪声的频谱成分推向高频区域:


图6 ΔΣ调制器的频谱特性,来源[1]

并阐述了不同阶数情况下的转移函数,以及对应的频谱特性:


图7 ΔΣ调制器不同阶数的频谱特性,来源[1]

可以看到阶数越大(与过往更多数据有关),量化噪声越集中于高频区域,这就是所谓的噪声整形Noise shaping。经过后续滤波,能过滤除噪声,有利于目标信号频谱区域内的信噪比。

小结

本文介绍了Delta-Sigma ADC中的ΔΣ调制器,通过ADI的在线演示(参考资料[2])或自行编写Excel能够模拟“1 bit一阶ΔΣ调制器”的运作过程,对于这种调制器,其量化结果与PDM脉冲密度调制类似(参考资料[3])。

关于Delta-Sigma ADC的详细介绍,可以查看TI的slyt423a和slyt438(参考资料[1]和[4]),其中讲述了过采样、噪声整形、数字/抽样滤波等内容。

参考资料

参考资料均可以通过搜索关键词获取,查阅原文:

  1. slyt423a: How delta-sigma ADCs work, Part 1
  2. https://www.analog.com/en/resources/interactive-design-tools/sigma-delta-adc-tutorial.html
  3. https://en.wikipedia.org/wiki/Pulse-density_modulation
  4. slyt438: How delta-sigma ADCs work, Part 2
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号