信号串扰:线缆寄生电容

ADC 通道 1~4 全是悬空,没有接传感器。板载 10 kHz 测试方波却出现在波形上;把红端子从 ADC 引脚拔掉后,四路又一起变平。这组对照把干扰源指向外部线缆的寄生电容,并排除了板内串扰作为主要来源。

步骤一:接线实物

测试板输出 10 kHz 方波,业务采集侧用 ADC Stream Scope 同时看 ADC 通道 1~4 四路。四路 ADC 引脚都悬空。测试线一端是黑、红两个香蕉端子,另一端线芯外露、什么也没接。

测试工程:github.com/createskyblue/STM32L496_ADC_DMA_MuChannel_Sample

黑端子接 10 kHz 方波,红端子接 ADC 业务通道 1,线缆另一端悬空

步骤二:耦合波形

红端子接到悬空的通道 1 后,通道 1 出现与测试信号同频的方波,游标处约 2.733 V,幅度接近满量程。悬空引脚本身不产生信号,作为高阻抗节点却容易通过寄生路径拾取外部信号;这里的方波来自黑端子上的 10 kHz 经线缆寄生电容耦合。通道 2~4 同样悬空,也在波形上露出同相位的残余小波。

通道 1 耦合进 10 kHz 方波,后续通道出现残余波形

通道 现象 视窗统计
ADC 通道 1 完整 10 kHz 方波 min 0.000 V / max 2.823 V
ADC 通道 2 同步残余小波 min 0.361 V / max 1.070 V
ADC 通道 3 台阶起伏更弱 min 0.438 V / max 0.567 V
ADC 通道 4 近平坦,仍有细小起伏 约 0.516 V

通道 2~4 上的小波,是单 ADC 规则组切换留下的。MCU 里通常只有一个 ADC,按通道 1→2→3→4 分时采样。通道 1 被耦合方波充到对应电平后,切到后面几个悬空通道,内部采样电容还带着上一通道的残余电荷,转换结果里就留下同相位的小波形。越靠后,残余幅度越小。悬空通道上的小波,是电荷被带到下一通道的结果,并非它们也直接吃到了方波。

四路 ADC 均悬空,通道 1 被耦合,通道 2~4 残留电荷

步骤三:断开对照接线

只改一处:红端子从 ADC 引脚拔掉,黑端子仍接 10 kHz,线缆其余接法不变。

红端子离开 ADC 引脚,其余接线保持原样

步骤四:断开后波形

四路同时变平,游标附近都在 0.503 V 附近,视窗统计几乎没有起伏。

断开 ADC 引脚后四路通道全部变平

通道 断开前 断开后
ADC 通道 1 0~2.823 V 方波 约 0.503 V 平线
ADC 通道 2 0.361~1.070 V 残余 约 0.503 V 平线
ADC 通道 3 0.438~0.567 V 起伏 约 0.503 V 平线
ADC 通道 4 细小起伏 约 0.503 V 平线

线缆寄生电容路径

线缆内寄生电容把 10 kHz 方波耦合进 ADC 通道 1

通道 1 上的方波从线缆进来:四路 ADC 引脚都悬空。两根导线并行走线时存在寄生电容,黑端子上的 10 kHz 方波经这层电容送进红端子连接的悬空通道 1。万用表粗测线间电容约 0.389 nF,量级与寄生耦合相符。红端子一拔,耦合路径断开,四路一起归平。

万用表粗测线间电容约 0.389 nF

结论

经对照,四路悬空 ADC 上的 10 kHz 方波属实,板内串扰并非主要来源。原因分两层:外层是测试线缆两根导线之间的寄生电容,把黑端子上的方波送进了红端子连接的悬空通道 1;内层是单 ADC 规则组分时切换,后续悬空通道因采样电容残余电荷留下同相位小波。

验证方式是断开红端子后波形归平。后续用这根线做信号注入时,应把远端悬空、通道间距和走线长度当作可控变量;板级排查若只见业务通道异常,先断外部引线再查 PCB 走线,可以把板内串扰和线缆耦合分开。