模拟多路复用器CD4051/4052/4053设计指南:多通道切换与导通电阻误差预算

多通道采集系统的精度上限,往往不是被 ADC 位数决定的,而是被前面那颗模拟多路复用器吃掉的。本文以 CD4051BC/CD4052BC/CD4053BC 数据手册为准,讲清三种通道结构怎么选、导通电阻与漏电如何折算成 LSB、3.3V 逻辑直接驱动为什么会失效,并给出四种 ADC 前端接法与 STM32 切换采集代码。

2026-09-26
模拟多路复用器CD4051信号采集ADC前端STM32嵌入式开发

结论先行:多通道采集的精度天花板,往往不在 ADC 身上,而在它前面那颗模拟多路复用器上。导通电阻、通道间失配、关断漏电流和串扰这四项非理想特性,足够让一颗 12 位 ADC 的有效位数掉到 10 位以下。所以在工业数据采集、RTU 远程终端、物联网传感器节点这类需要轮询十几路模拟量的场合,选型的第一件事不是比 ADC 位数,而是算清模拟开关引入的误差。本文以 Fairchild CD4051BC、CD4052BC、CD4053BC 三颗经典 CMOS 模拟多路复用器为样本,把结构选型、误差预算、逻辑电平陷阱与切换时序一次讲透,并给出可直接移植到 STM32 的通道切换采集代码。

一、多通道采集为什么绕不开模拟开关

场景很常见:一块采集板要同时读 8 路 4-20mA 变送器,板上的 MCU 只有 3 到 4 个可用的 ADC 通道。两条路可选,一条是加一片多通道 ADC,另一条是在现有 ADC 前面挂一颗模拟多路复用器做通道扩展。后者成本低、改板小,是绝大多数低成本终端的实际选择。

麻烦在于,理想的开关并不存在。CMOS 传输门在导通时是一个几十到几百欧姆的电阻,在关断时也不是完全断路;控制信号还会通过栅极电容耦合到模拟通道上。这些非理想特性直接叠加在传感器信号上,于是问题从"ADC 多少位"变成了"整条模拟前端还剩多少位"。

二、三颗器件的分工:先确定通道结构

CD4051BC、CD4052BC、CD4053BC 出自同一份数据手册(DS005662),封装与引脚数一致,差别只在内部开关的排列方式,因此选型的第一步是数清楚信号的路数和共模关系。

器件通道结构控制输入典型用途
CD4051BC单路 8 选 1(单端)A、B、C 三位地址 + INH8 路单端传感器轮询,如多点温度、4-20mA 电流环
CD4052BC差分 4 选 1(双 4 通道)A、B 两位地址 + INH4 路差分或桥式信号,可抑制共模与地环流
CD4053BC三组 2 选 1(单刀双掷)A、B、C 各控一组 + INH量程切换、信号旁路、可编程增益的反馈电阻选择

三者都有一个 INH(inhibit,禁止)引脚,为高电平时所有通道同时关断,这一特性在多路复用器后面直接接单通道 ADC 时非常有用:切换到目标通道前先把所有通道断开,避免相邻通道之间的瞬时短路电流。

另一组容易被忽略的参数是数字侧与模拟侧的电压范围。数字控制信号可以是 3 到 15V,模拟信号可摆到 15Vp-p;当 VDD 取 +5V、VSS 取 0V、VEE 取 −5V 时,器件可以切换 −5V 到 +5V 的双极性信号,这也是它能直接处理工业 ±5V 传感器输出的原因。

CD4051BC、CD4052BC、CD4053BC 引脚分配连接图与通道选择真值表(Fairchild DS005662 数据手册第 2 页)

上面这张连接图与真值表出自数据手册第 2 页,用它可以快速核对三颗器件的引脚差异,并确认 INH 为高电平时(真值表最后一行)CD4051B、CD4052B、CD4053B 的输出通道全部为 NONE,即所有通道同时关断。

三、四项非理想特性如何折算成 LSB

把数据手册里的参数翻译成采集误差,是这篇文档最核心的一步。下表把与精度直接相关的参数按电源电压列出,均为数据手册保证值。

参数VDD−VEE = 5VVDD−VEE = 10VVDD−VEE = 15V
导通电阻 RON(25°C 典型 / 最大)270Ω / 1050Ω120Ω / 400Ω80Ω / 240Ω
导通电阻 RON(125°C 最大)1300Ω550Ω320Ω
通道间失配 ΔRON(最大)10Ω10Ω5Ω
单通道关断漏电(25°C 典型 / 最大)±0.01nA / ±50nA±0.01nA / ±50nA±0.01nA / ±50nA
单通道关断漏电(125°C 最大)±500nA±500nA±500nA
静态电流 IDD(最大,25°C)5µA10µA20µA

先看导通电阻的量级。同样是这颗器件,供电从 15V 降到 5V,导通电阻典型值从 80Ω 涨到 270Ω,最大值从 240Ω 涨到 1050Ω,接近四倍。如果前端用 10kΩ 分压网络、ADC 采样电容 10pF,那么总源阻抗约 1.24kΩ(含 240Ω 开关电阻),时间常数约 12.4ns;按 12 位精度需要约 9 个时间常数估算,整定时间约 0.11µs。这说明开关电阻本身不会拖慢采样,真正吃精度的是把它和 ADC 输入漏电流放在一起算的那一项:若 ADC 输入端存在 1µA 漏电流,240Ω 上就会产生 240µV 误差;对参考 2.5V 的 12 位 ADC(1LSB = 0.61mV)而言,这已经是 0.4LSB。

再看关断漏电。25°C 时单通道漏电最大 ±50nA,乘上 1kΩ 源阻抗只有 50µV,约 0.08LSB,可以忽略;但到 125°C 漏电放到 ±500nA,同样 1kΩ 上就是 500µV,约 0.8LSB,且方向随机、无法用软件标定消除。这就是工业现场宽温设备必须把源阻抗做小(建议控制在 1kΩ 量级)的原因。

第三项是通道间失配 ΔRON。15V 下最大 5Ω、10V 下最大 10Ω,它本身不产生绝对误差,但会让不同通道之间产生增益不一致。若每路信号源内阻同为 1kΩ,通道间分压比的差异在 10Ω / 11kΩ 量级,约 0.09%;一旦某一路源阻抗更大,通道间偏差会同步放大,所以多路采集应尽量让各通道的前端网络完全对称。

第四项是串扰与馈通。数据手册给出通道间串扰在 40dB 处的频率为 3MHz,关断通道馈通在 −40dB 处的频率为 10MHz,通带 −3dB 带宽 40MHz。对采样率几十 kHz 的采集系统来说,这四项都不构成威胁;但若把开关用在音频或高频测量路径上,就必须按 1kHz、5Vp-p 下 0.04% 的畸变指标来评估。器件还有一条明确的工程约束:外部负载电阻上的压降在 25°C 时不应超过 0.6V,在 25°C 以上不应超过 0.4V,否则开关电流会在 VDD 上引入额外电流,破坏低功耗特性。

四、四种典型的 ADC 前端接法

同一颗器件,接法不同,解决的问题也不同。下表把四种常见用法与代价并列,供方案阶段取舍。

接法器件选择解决的问题需要付出的代价
单端通道扩展CD4051BC ×1ADC 引脚不足,8 路单端信号轮询引入 RON 压降与关断漏电误差,需匹配源阻抗
差分采集CD4052BC ×1抑制共模与地环流,适合桥式与热电偶信号两路开关参数需一致,布线要成对
量程切换CD4053BC ×1大小信号兼顾,避免弱信号被压到几个 LSB切换瞬间有电荷注入,需留整定时间
可编程增益CD4053BC ×1动态范围大,运放反馈电阻动态选择开关电阻进入反馈回路,需按比值而非绝对阻值设计

其中可编程增益接法最容易被低估。开关电阻一旦串进运放的反馈回路,增益就从理想的 Rf/Rin 变成 (Rf + RON)/Rin。好在 CD4051/4052/4053 系列给出通道间失配 ΔRON 只有 5 到 10Ω,比绝对导通电阻小一到两个数量级,因此只要把增益档位设计成"比值"关系而不是"绝对阻值"关系,开关电阻带来的增益误差可以压到 0.1% 以内。

五、控制逻辑与时序:3.3V 直接驱动为什么会失效

这是现场调试中最常见的坑。数据手册给出控制输入的门限随供电电压变化,且并不宽松:

VDD − VSSVIL 最大VIH 最小3.3V GPIO 能否直接驱动
5V1.5V3.5V不可靠,3.3V 低于 VIH 最小值
10V3.0V7.0V不能,必须加电平转换或专用驱动
15V4.0V11.0V不能,必须加电平转换或专用驱动

注意第一行:当 VDD−VSS 取 5V 时,VIH 最小值为 3.5V,而 3.3V 的 MCU 引脚正好差那么一点。表现是常温下偶尔能工作、一进高温或换批次就随机失灵,非常难查。三种解决办法:把控制脚上拉到 5V 并用开漏输出驱动;用一颗 74HC 系列门做电平转换;或者直接让控制侧也用 5V 逻辑。若为了省事把 VDD 降到 3.3V,导通电阻会进一步升到 1050Ω 量级,是更差的选择。

时序上有两个数字必须记住。第一,地址建立到信号输出的传播延时在 5V 供电下最大 1000ns,10V 时 360ns,15V 时 240ns;第二,INH 使通道导通的延时在 5V 时最大 1200ns。ADC 启动转换前若不等这段时间,读到的是上一通道的残留值,表现为"数据整体错位一路",且轮询越快错得越明显。

六、电源、地与布板

模拟多路复用器的布板原则与运放一致,但多了一条:VEE 负压必须与 VSS 分开走线。切换双极性信号时,VEE 是真正的模拟负轨,若与数字地混走,数字回流会直接把噪声注入模拟通道。推荐的顺序是模拟地单点汇聚、VEE 就近去耦(0.1µF 陶瓷并联 10µF 钽电容)、控制线与模拟线垂直交叉不平行。此外,未使用的模拟通道不要悬空,建议各自通过一个电阻接模拟地,防止浮空节点在切换瞬间通过关断电容把干扰耦合进被选通道。

七、STM32 通道切换采集代码

下面是基于 STM32 HAL 库的最小实现,重点是把"先断开、再选通、后整定、再转换"的顺序固化成函数,而不是在业务代码里随手写 GPIO。

#include "stm32f1xx_hal.h"

/* CD4051BC 控制脚:A->PB0, B->PB1, C->PB2, INH->PB3(低电平使能) */
static void mux_all_off(void)
{
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET);   /* INH = 1,全部关断 */
}

static void mux_select(uint8_t ch)
{
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, (ch & 0x01) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, (ch & 0x02) ? GPIO_PIN_SET : GPIO_PIN_RESET);
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, (ch & 0x04) ? GPIO_PIN_SET : GPIO_PIN_RESET);
}

/* 整定延时:数据手册标注地址到输出最大 1000ns@5V,
   此处余量按模拟前端 RC 整定与运放建立时间预留,
   循环次数必须在实际主频下用示波器校准,不可直接照搬 */
static void mux_settle_delay(void)
{
    for (volatile uint32_t i = 0; i < 720; i++) {
        __NOP();
    }
}

/* 单通道单次采样:断开 -> 选通 -> 整定 -> 转换 */
uint16_t mux_sample(uint8_t ch)
{
    uint16_t raw;

    mux_all_off();          /* 1. 先全部关断,避免通道间瞬间串流 */
    mux_select(ch);         /* 2. 写入通道地址 */
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET);  /* 3. INH = 0,选通 */
    mux_settle_delay();     /* 4. 等整定完成 */

    HAL_ADC_Start(&hadc1);
    if (HAL_ADC_PollForConversion(&hadc1, 10) == HAL_OK) {
        raw = (uint16_t)HAL_ADC_GetValue(&hadc1);
    } else {
        raw = 0xFFFF;       /* 超时标记,由上层决定是否重试 */
    }
    HAL_ADC_Stop(&hadc1);
    mux_all_off();          /* 5. 采完即断开,降低串扰 */
    return raw;
}

工程上还有两点补强。其一,用 DMA 扫描模式一次搬运 8 通道时,通道切换必须与 ADC 触发同步,建议用定时器触发 ADC、并让 GPIO 地址线由同一中断服务程序改写,避免"地址改了、ADC 还没转"的竞争。其二,对慢变信号(如温度、液位)加一级一阶数字滤波,可以显著压制切换瞬间的电荷注入毛刺,具体系数按采样周期与被测信号带宽整定。

八、小结

多通道采集的精度是整条链路共同决定的,模拟多路复用器是其中最容易被忽略、又最容易失控的一环。选型时先按信号路数与共模关系确定 CD4051(8 选 1)、CD4052(差分 4 选 1)、CD4053(三组 2 选 1),再按 VDD−VEE 查导通电阻并折算成 LSB,最后把源阻抗压到 1kΩ 量级、把控制电平与整定时间算准。

可被直接引用的三句话:模拟开关的导通电阻随供电电压下降而急剧上升,5V 供电下最大值可达 1050Ω;关断漏电在 125°C 会放大到 ±500nA,是宽温设备的主要误差源;VDD−VSS 为 5V 时控制端 VIH 最小值为 3.5V,3.3V GPIO 不能可靠驱动,必须做电平转换。

本文基于《CD4051BC/CD4052BC/CD4053BC 单路 8 通道与差分 4 通道模拟多路复用器数据手册》(Fairchild DS005662)、《CD4066BC 四路双向开关数据手册》(Fairchild DS005665)等资料整理优化。

需要定制开发?

沧州艾诺威电子 — 国家高新技术企业,20+项国家专利
嵌入式系统开发 · 物联网方案 · AI智能硬件 · 一站式交付

立即微信咨询

电话:13930711029 | 邮箱:tech@czinv.com | 24小时内响应