[经验分享] ADC采样中单端和差分区别

[复制链接]
1645|0
荣陶陶 发表于 2025-9-6 08:57 | 显示全部楼层 |阅读模式
AD7768-1的单端与差分输入详解
一、基本概念对比
1. 单端输入(Single-ended)
信号连接方式:
         信号源
           │
           ├──→ AIN+ (信号输入)
           │
           └──→ AIN- (接地GND)

特点:信号相对于地测量




2. 差分输入(Differential)
信号连接方式:
         信号源
           │
           ├──→ AIN+ (正信号)
           │
           └──→ AIN- (负信号)

特点:测量两个输入端之间的电压差


二、图片中的具体配置说明
根据您图片中的说明:

单端模式配置(±2.5V输入)
硬件连接(图中下方电路):
- R18 = 68K, R13 = 15K
- R43 = 0Ω (短路), R44 = NC (不接)
- AIN- 通过R18/R13分压接地
- 输入范围:±2.5V (相对于2.5V中点)

实际电压计算:
AIN+ = ((Code - Midscale Code) × 4.096) / 0xFFFFFF × 83/68
其中:Midscale Code = 0x800000 (中间值)


差分模式配置(±5V输入)
硬件连接(图中上方电路):
- R18 = 0Ω, R13 = NC
- R43 = R44 = 4.7K (对称配置)
- 形成真正的差分输入
- 输入范围:±5V (差分电压)

实际电压计算:
(AIN+) - (AIN-) = ((Code - Midscale Code) × 2 × 4.096) / 0xFFFFFF × 83/68


三、两种模式的详细对比




四、动平衡仪应用选择建议
1. 加速度传感器信号 → 建议差分输入
原因分析:
1. 振动传感器输出通常是差分信号(如IEPE传感器)
2. 工业现场电磁干扰严重
3. 需要高精度测量(μg级别)
4. 传感器可能离主板较远

连接示例:
┌─────────────┐      屏蔽双绞线      ┌──────────┐
│ 加速度传感器 │ ==================== │ AD7768-1 │
│   OUT+      ├────────────────────→ │  AIN+    │
│   OUT-      ├────────────────────→ │  AIN-    │
│   SHIELD    ├────────────────────→ │  GND     │
└─────────────┘                      └──────────┘



2. 光电传感器信号 → 可选单端输入
原因分析:
1. 光电传感器通常输出单端TTL/CMOS信号
2. 信号幅度大(0-5V)
3. 主要关注过零点时刻
4. 对精度要求相对较低

连接示例:
┌─────────────┐                      ┌──────────┐
│  光电传感器  │                      │ AD7768-1 │
│    OUT      ├────────────────────→ │  AIN+    │
│    GND      ├────────────────────→ │  AIN-    │
└─────────────┘                      └──────────┘




五、实际配置代码示例
配置差分输入(振动信号)
// 差分输入初始化
void AD7768_ConfigDifferential(AD7768_Handle_t *adc) {
    // 1. 硬件跳线设置(根据图片)
    // R18 = 0Ω, R13 = 不接
    // R43 = R44 = 4.7K

    // 2. 软件配置
    uint8_t config[3];

    // 设置PGA增益(根据信号幅度)
    config[0] = AD7768_REG_CH_MODE;
    config[1] = 0x00;  // 增益=1,差分模式
    AD7768_WriteReg(adc, config, 2);

    // 3. 校准偏移
    AD7768_CalibrateOffset(adc);
}

// 读取差分数据
float AD7768_ReadDifferential(AD7768_Handle_t *adc) {
    int32_t raw_code = AD7768_ReadData(adc);

    // 转换为电压(差分±5V范围)
    float voltage = (raw_code - 0x800000) * 10.0f / 0xFFFFFF;

    // 转换为加速度(根据传感器灵敏度)
    float sensitivity = 100.0f;  // mV/g
    float acceleration = voltage * 1000.0f / sensitivity;

    return acceleration;  // 单位:g
}



配置单端输入(键相信号)
// 单端输入初始化
void AD7768_ConfigSingleEnded(AD7768_Handle_t *adc) {
    // 1. 硬件跳线设置
    // R18 = 68K, R13 = 15K
    // R43 = 0Ω, R44 = 不接

    // 2. 配置为单端模式
    uint8_t config[3];
    config[0] = AD7768_REG_CH_MODE;
    config[1] = 0x80;  // 单端模式标志
    AD7768_WriteReg(adc, config, 2);

    // 3. 设置参考电压
    AD7768_SetVref(adc, 2.5f);  // 2.5V参考
}

// 读取单端数据
float AD7768_ReadSingleEnded(AD7768_Handle_t *adc) {
    int32_t raw_code = AD7768_ReadData(adc);

    // 转换为电压(单端0-5V)
    float voltage = raw_code * 5.0f / 0xFFFFFF;

    return voltage;
}




六、噪声性能对比
实测噪声水平(RMS):
┌───────────────────────────────────┐
│ 模式      │ 输入短路 │ 实际信号   │
├───────────────────────────────────┤
│ 单端模式  │ 15 μV   │ 50-100 μV  │
│ 差分模式  │ 5 μV    │ 10-20 μV   │
└───────────────────────────────────┘

信噪比提升:
差分模式SNR = 20log(5V/5μV) = 120dB
单端模式SNR = 20log(2.5V/15μV) = 104dB




七、动平衡仪最佳实践
推荐配置方案
通道1(加速度传感器1):
- 模式:差分输入
- 范围:±5V
- 增益:根据传感器调整
- 滤波:SINC5 + 50Hz陷波

通道2(加速度传感器2):
- 模式:差分输入
- 配置同通道1

通道3(光电键相):
- 模式:单端输入(如果信号质量好)
- 或差分输入(如果距离远)
- 范围:0-5V
- 用于触发和相位参考



PCB设计注意事项
差分信号布线规则:
1. AIN+和AIN-必须等长(±0.5mm)
2. 平行走线,间距<0.2mm
3. 远离数字信号和电源
4. 差分对下方铺地平面
5. 使用屏蔽线或双绞线连接传感器



总结
差分输入:抗干扰强,精度高,适合振动传感器
单端输入:接线简单,适合近距离低噪声信号
动平衡仪建议:振动信号用差分,键相信号看情况
根据实际传感器类型和现场环境选择合适模式
————————————————
版权声明:本文为CSDN博主「m0_55576290」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_55576290/article/details/150612696

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

240

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部