adc和dac的工作流程

1、adc工作流程

  ADC(模数转换器)将模拟信号转换为数字信号的过程可以概括为采样量化编码三个核心步骤。下面以生活中常见的声音信号转换为例:

①采样(Sampling)——“定格” 连续信号

  模拟信号(如声音、温度)是连续变化的(时间和幅度都连续),而数字信号是离散的。采样就是按照固定时间间隔,“抓取” 模拟信号在特定时刻的幅度值,将连续时间信号转化为离散时间信号。如:

当你对着麦克风说话时,声音(模拟信号)通过麦克风转化为连续变化的电压(比如范围在 - 1V~+1V 之间)。ADC 会按照固定频率(如 44.1kHz,即每秒采样 44100 次)“读取” 这个电压值,得到一系列离散的电压点(如 t=0 时刻 0.3V,t=1/44100 秒时刻 0.5V,t=2/44100 秒时刻 0.4V 等)。

关键参数:采样频率需满足奈奎斯特准则(采样频率≥2 倍信号最高频率),否则会出现信号失真。

②量化(Quantization)——“分级” 幅度值

  采样得到的离散电压值仍是连续的(理论上可以是无限多个值),而数字信号只能表示有限个离散值。量化就是将采样得到的幅度值 “四舍五入” 到最近的预设等级,将连续幅度转化为离散幅度。如:

假设 ADC 是3 位(可表示 8 个等级:0~7),基准电压范围为 0~1V(即 0V 对应等级 0,1V 对应等级 7)。

  • 若采样得到 0.3V,计算得:0.3V ÷ (1V/8) = 2.4 → 四舍五入到等级 2;
  • 若采样得到 0.5V,计算得:0.5V ÷ 0.125V = 4 → 对应等级 4;
  • 若采样得到 0.4V,计算得 3.2 → 四舍五入到等级 3。

关键参数:位数越高(如 12 位、16 位),等级越多(如 12 位有 4096 个等级),量化误差越小,精度越高。

③编码(Coding)——“翻译” 为二进制

  量化后的等级值(如 0~7)需要转化为计算机可识别的二进制代码,这一过程称为编码。如:

3 位 ADC 的等级与二进制对应关系为:

  • 等级 0 → 000;
  • 等级 2 → 010;
  • 等级 3 → 011;
  • 等级 4 → 100。

因此,上述采样电压最终会被编码为:
0.3V → 010,0.5V → 100,0.4V → 011。

完整流程总结(以声音信号为例)

模拟信号:你的声音→麦克风→连续变化的电压(-1V~+1V);

  采样:ADC 每秒 44100 次 “读取” 电压值,得到离散时间点的电压;

  量化:将每个电压值对应到 16 位 ADC 的 65536 个等级中(如 0.3V 对应等级 19660);

  编码:等级 19660 转化为二进制代码(如 1001100010001100)。

最终,连续的声音信号就变成了一串二进制数字,可被计算机存储或处理(如保存为 MP3 文件)。 

  常见 ADC 类型:逐次逼近型(SAR ADC):通过多次比较逼近采样值,适用于中速、中精度场景(如传感器);Δ-Σ ADC:通过高频过采样降低量化误差,适用于高精度场景(如音频设备);闪存型 ADC:并行比较实现高速转换,适用于高频信号(如雷达)。

2、dac的工作流程

  DAC(数模转换器)的核心功能是将离散的数字信号(二进制代码)转换为连续的模拟信号(电压或电流),其过程可概括为解码数字权重合成模拟量平滑输出三个步骤。以下以音频播放中的 DAC 转换为例,结合R-2R 梯形电阻网络 DAC进行说明

  核心原理:按 “权重” 合成模拟信号,数字信号由二进制代码组成(如 3 位二进制 “101”),每个二进制位(bit)的 “权重” 不同(高位权重是低位的 2 倍)。DAC 的作用是将每个位的权重按数字代码的 “有无”(1 表示有,0 表示无)进行叠加,最终生成与数字代码成比例的模拟信号。

  假设我们有一个 3 位 R-2R DAC,基准电压 Vref=8V(决定模拟输出的最大范围),目标是将二进制代码 “101” 转换为模拟电压:

①解码数字信号的 “权重”:

  二进制代码的每个位(从高位到低位)对应不同的权重,权重大小由位数决定:

    • 3 位 DAC 的位编号:最高位(MSB,第 2 位)、中间位(第 1 位)、最低位(LSB,第 0 位);
    • 权重计算:第n位的权重 = Vref/23n(总位数为 3)

具体如下:  

最高位(MSB,第 2 位):权重 = 8V/21=4V(二进制 “1” 时贡献 4V,“0” 时贡献 0V);

中间位(第 1 位):权重 = 8V/22=2V;

最低位(LSB,第 0 位):权重 = 8V/23=1V。

②按数字代码合成模拟量:

  数字代码的每个位通过开关控制是否接入权重。例如,二进制 “101” 表示:

    • 最高位(第 2 位)为 “1”:接入 4V 权重;
    • 中间位(第 1 位)为 “0”:不接入(贡献 0V);
    • 最低位(第 0 位)为 “1”:接入 1V 权重。

  总模拟电压 = 各有效位权重之和 = 4V+0V+1V=5V。

平滑输出(滤波去噪):

  合成的模拟信号初期是 “阶梯状” 的(因数字代码离散变化),需通过低通滤波器去除高频分量,得到连续平滑的模拟信号。例如:  

    • 若数字信号是 “101→110→111”(对应 5V→6V→7V),阶梯状信号经过滤波后会变成连续上升的电压曲线。

完整例子:音频信号的转换过程

  当你用手机播放音乐时,存储的数字音频信号(如 MP3 文件)是一串二进制代码(例如 16 位二进制),转换过程如下:

    数字输入:16 位二进制代码 “1001100010001100”(对应某个声音的振幅);

    权重解码:16 位 DAC 的最高位权重为 Vref/2(如基准电压 3V,最高位权重 1.5V),低位权重依次减半(第 15 位 0.75V,…,第 0 位≈46.57μV);

    模拟合成:代码中 “1” 对应的权重相加(如 “1001100010001100” 对应约 1.23V);

    平滑输出:阶梯状的 1.23V 信号经低通滤波器(截止频率 20kHz,匹配人耳听觉范围)处理后,变成连续的电压信号,驱动扬声器振动,最终还原为声音。   

关键参数:位数与精度,位数越高(如 16 位、24 位),权重分级越细(16 位有 65536 个等级),模拟信号越接近原始连续信号(失真越小)。例如,16 位 DAC 的最小电压变化(LSB)为 Vref/65536(如 3V 基准下约 46μV),远小于 3 位 DAC 的1V

常见 DAC 类型:R-2R 梯形 DAC:结构简单,成本低,适用于中精度场景(如音频);电流舵 DAC:通过电流源阵列切换实现高速转换,适用于高频场景(如通信);Δ-Σ DAC:通过数字滤波提升精度,适用于高精度音频设备。

 

posted @ 2025-07-21 20:20  叉叉星  阅读(278)  评论(0)    收藏  举报