尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

模拟开关应用全解析:原理、选型与调试实战

模拟开关应用全解析:原理、选型与调试实战 拿到“Analog Switches”这个标题熟悉硬件的人应该立刻能联想到那些小身材、大用处的芯片。说实话模拟开关在电路里经常是“隐形人”——它不像MCU那样是主角也不像电源芯片那样显眼但音频通道切换、多路数据采集、电池监测这些场景里少了它还真不行。这篇东西我就以自己的实际使用经验为线索把这颗器件从原理、选型到具体电路设计、坑点排查完整梳理一遍。适合正在做硬件选型、画原理图时卡在模拟开关这颗料上的工程师也适合刚接触信号链设计、想搞明白“为什么这个开关会衰减信号”的入门朋友。1. 模拟开关到底是什么一个“可控的阀门”而不是简单的通断很多刚接触的人会把模拟开关和逻辑门、或者普通的数字缓冲器混在一起。这是第一个需要纠正的概念。普通逻辑门处理的是0和1它们的输出电平是确定的要么高要么低而模拟开关处理的信号是连续的、任意幅值的模拟量它的“开”和“关”不是把信号变成高低电平而是决定信号通路是导通还是阻断。1.1 从结构上理解它为什么能“模拟”大多数模拟开关的核心是一个CMOS传输门结构——一个NMOS和一个PMOS并联由互补的控制信号驱动。当控制端有效时两个管子同时导通信号就能从输入端流到输出端控制端无效时两个管子都截止信号通路被切断。这里有一个特别重要的点正因为是PMOS和NMOS并联模拟信号的整个摆幅范围才能都被覆盖。NMOS擅长传低电平PMOS擅长传高电平并联起来后从接近地到接近电源轨的完整信号摆幅都能低失真地通过。这也是为什么模拟开关的导通电阻曲线通常是一条中间略凸、两端稍高的弧线而不是像普通电阻那样是一个恒定值。用一个生活化的类比来理解普通的按键开关像是门锁只有“锁住”和“打开”两种状态而模拟开关更像水管里的阀门但需要注意的是这个“阀门”本身有流阻也就是导通电阻而且流阻大小会随水压信号电压变化而变化。理解了这个后面很多参数和坑就都能解释通了。1.2 模拟开关与继电器、数字开关的本质区别我经常在项目例会上被问“这里用个继电器不行吗用个三极管不行吗”确实功能上它们都能实现信号的切换但适用场景和代价完全不同。继电器最大的优势是导通电阻几乎为零、隔离度极高但它有机械触点寿命有限、动作速度慢毫秒级、体积大、功耗高。对于每分钟切换几次的应用继电器还算可以接受但如果切换频率到几百赫兹甚至更高继电器就完全不合适了。普通三极管或MOSFET单管开关的问题在于它是单向导通的很多情况下无法处理双极性的交流信号而且控制电压和信号电压之间容易互相干扰。模拟开关的独特性体现在它是双向的——输入和输出可以互换它的导通电阻一般在几欧姆到几十欧姆配合后级高阻抗负载信号衰减很小它的切换速度可以做到纳秒级到微秒级它没有机械磨损寿命几乎是无限的。当然模拟开关也不是万能的它过不了大电流承受不了高电压带宽也有限。选型时的关键就在这里搞清楚你的信号特点、负载阻抗、切换频率、精度要求才能判断它合不合适。2. 选型时的关键参数不搞清楚这7个数字板子迟早要返工模拟开关的选型看起来简单——找个SPDT、弄个双通道、买回来焊上就行。但实际项目里信号失真、通道串扰、波形畸变这类问题十有八九都是选型阶段没抠参数造成的。下面这几个参数每一个我都吃过亏。2.1 导通电阻与导通电阻平坦度不是你想象的那个“纯电阻”导通电阻Ron是模拟开关最核心的参数它代表了信号通过开关时遇到的等效串联电阻。对于后级输入阻抗较高的电路比如接到运放的同相输入端几十欧姆的Ron影响不大但如果后级是低阻抗负载比如50欧姆的视频或射频链路Ron就直接参与到分压里信号衰减就明显了。比Ron绝对值更需要关注的是Ron平坦度英文叫Ron Flatness。这个概念说的是在不同输入电压下导通电阻的变化量。模拟开关在导通时输入电压接近地或接近电源轨的区间导通电阻会明显上升这个变化量就是平坦度。为什么要重点看平坦度如果你传输的是一个模拟音频信号导通电阻本身带来的衰减可以通过后级增益补偿掉但电阻值随信号电压变化引起的非线性在示波器上可能看不出明显波形问题听感上却会感觉“声音发干”、“细节没了”其实这就是THDN变差了。说句实在话很多音频电路的失真源头不在运放而在前端模拟开关的Ron平坦度。2.2 漏电流高阻抗电路中的隐形杀手漏电流是指开关处于关断状态时从输入端漏到输出端的微小电流。常温下一般的CMOS模拟开关漏电流在纳安到皮安级别看起来小得可以忽略。但一旦你的电路是高阻抗场景比如光电二极管的前置放大、传感器信号采集、或者采样保持电路漏电流的影响就绝对不能忽略。试想一个信号源内阻是10MΩ开关漏电流是1nA那么关断时的漏电会在输出端产生10mV的误差电压这个误差已经大得足以干扰一个16位ADC的最低有效位了。我做过一个医疗级的心电信号前端前端放大器的输入偏置电流本来就极小结果选择的模拟开关漏电流偏高导致在多通道切换时通道间出现微小的基线漂移。后来查了很多资料才意识到这个参数在低功耗、高阻抗应用里的重要性。2.3 开关速度与建立时间切换动作不是瞬间完成的模拟开关的导通和关断需要一定时间这个时间由内部寄生电容和传输门驱动电路决定。导通时间tON和关断时间tOFF在不同的芯片上差异很大有的在几十纳秒有的到几微秒。另外一个容易被忽视的是建立时间Settling Time——信号经过开关后输出波形需要多长时间才能稳定到最终值的某个精度范围内。如果你在高速数据采集系统中用模拟开关做多路复用切换通道后立刻去采样很可能采到的是开关建立过程中的中间电压导致转换结果错误。我的经验是开关切换后至少等待一个建立时间最好留2-3倍裕量再去启动ADC转换。这看起来是软件层面的时序问题但根源是硬件的开关参数选择。2.4 电荷注入与串扰被忽略的“尖峰”从哪来当控制信号从低到高或从高到低跳变时控制信号会通过MOS管的栅漏、栅源寄生电容耦合到信号通路上产生一个小的电压毛刺这叫电荷注入Charge Injection。对直流信号或低频信号影响不大但如果你的信号是微弱的脉冲信号这个毛刺可能直接淹没有效信号。通道间的串扰Crosstalk则是指一路通道的信号耦合到另一路通道的现象。高频应用中尤其明显。我见过一个音频切换器的设计两路通道的PCB平行布线长度接近5厘米结果一路播放音乐时另一路静音通道也能听到明显的串音。后来加大了两路信号线的间距并在地层上加了一排过孔隔离问题才解决。这再次说明芯片选型只是基础PCB布局同样重要。2.5 电源电压与逻辑电平匹配控制信号不是随便给的模拟开关的电源电压范围决定了它能处理的信号摆幅。如果你的信号范围是±5V那么一个单电源5V供电的模拟开关就不合适因为输入信号超出了电源轨开关内部的体二极管会正向导通引起信号畸变甚至芯片损坏。这时候应该选双电源供电如±5V的型号或者选一个能承受超过电源轨输入信号的特殊架构。控制电平的匹配也常被忽略。很多模拟开关的逻辑输入需要满足特定的高电平阈值VIH和低电平阈值VIL。如果你用1.8V的MCU去控制一个要求3.3V逻辑电平的模拟开关可能出现控制不稳定的情况——时通时断非常折磨人。选型时最好直接找逻辑电平兼容的型号比如逻辑输入能工作在1.8V的。2.6 通道数与配置选对拓扑省一半芯片模拟开关常见的配置有SPST单刀单掷、SPDT单刀双掷、DPDT双刀双掷还有多路复用器比如8通道MUX。选型时要先想清楚系统的信号流向一个常见的误区是“通道数越多越好”其实多通道的型号往往封装更大、导通电阻更高、串扰也更难控制。能用两个双通道SPDT解决的就不要上一个8通道MUX。从信号完整性角度看更少的通道对应更小的寄生电容和串扰实测下来的信号质量通常会更好。2.7 带宽与导通电容别让开关成为信号链的瓶颈每个模拟开关都有它的小信号带宽超出这个频率后信号增益会下降。还有一个参数是导通状态下的输入输出电容接通时的Ciso、关断时的Coff它们会和前后级的阻抗形成RC滤波器限制信号的频率响应。如果传输的是高速信号比如USB 2.0、视频CVBS信号或者百兆以太网就需要选专门的高速模拟开关这类开关的带宽通常在数百兆赫兹以上导通电容也小得多。若只是传输音频、低频传感器信号那普通的通用模拟开关就够了不必过分追求高速型号。做一张选型速查表方便大家对照关键参数影响优先关注场景导通电阻(Ron)信号衰减、功耗损耗低阻抗负载、功率信号Ron平坦度非线性失真、THD精密模拟信号、音频漏电流失调误差、信号泄漏高阻抗源、微弱信号开关速度/建立时间切换时序、采样精度数据采集、多路复用电荷注入开关瞬间的毛刺微伏级微弱信号串扰通道间信号干扰高频信号、并行布局电源/逻辑电平兼容性、可靠性低电压系统、混合电压系统通道数/拓扑电路面积、信号完整性多路切换、信号路由带宽/导通电容高频信号完整性视频、高速数字信号3. 典型应用场景拆解从音频切换到多通道数据采集参数讲得再多也要落到实际电路里才有价值。这里我挑三个最常用到的应用场景详细说一下设计时的思路和选型侧重。3.1 音频信号路由选低THDN而不是最便宜的音频是最常见的模拟开关应用场景之一。比如一个音频矩阵、一个多输入音源选择器、或者是带有耳机检测切换的便携设备里面都离不开模拟开关。音频信号的特点是幅度在几百毫伏到两三伏之间频率带宽20Hz-20kHz负载通常是10kΩ到100kΩ的高阻抗输入。对于这样的负载模拟开关的Ron即使高达几十欧姆插入损耗也非常小因为分压比约等于Ron/(Ron10k)算下来不过0.5%左右的损耗音频电平上连0.1dB都不到。真正决定音频体验的是前面提到的Ron平坦度。如果平坦度差导通电阻随信号电压变化就会产生谐波失真。我建议在音频应用中选择专门的音频开关或者至少选择Ron平坦度在1Ω以内的型号。顺便说一句音频开关的串扰指标通常也标注得比较好多通道切换时相邻通道的串音才不至于明显。实际的切换噪声控制上建议在控制引脚上加一个RC滤波让控制电压的上升沿稍微放缓这样可以降低控制信号突变带来的“噗噗”声。另外音频电路中建议选用先断后合Break-Before-Make类型的模拟开关防止两个音源在切换瞬间短暂短路串音。3.2 多通道数据采集建立时间是王道使用模拟开关构建多路复用采集前端是一种经典的节省ADC成本的方案。通过模拟开关把多个传感器信号分时接到同一个ADC输入端这样就不用每个通道都配一颗ADC了成本省下很多。这个场景下第一个要注意的就是Ron对信号源阻抗的影响。假设你有一个传感器输出阻抗是1kΩ模拟开关Ron是100Ω那么ADC输入端看到的信号源阻抗就是1.1kΩ。如果ADC的采样电容是这个信号源阻抗和采样电容组成的RC那么采样建立时间就会按1.1kΩ的等效电阻来算这个比裸传感器的1kΩ多出来的100Ω就会影响最高可达的采样速率。第二点就是切换后的等待时间模拟开关切换通道后内部寄生电容和外部滤波电容都需要充电建立。在软件控制ADC采集时务必在通道切换后插入一个延时这个延时既包含开关建立时间也包括外部滤波的RC时间常数。图省事的人直接在每个通道采集前加1ms延时虽然慢了点但至少采样结果是可靠的。第三点是ESD保护场景下的漏电流控制。多通道采集前端往往从外部接传感器传感器线缆可能引入静电。外部ESD保护器件的漏电流通常会比模拟开关大几个数量级这在高速、高阻抗应用中也要检查一遍。3.3 电池监测与其他低功耗系统漏电流和功耗必须同时看现在的便携设备基本都有电池电量监测监测电路需要周期性地把电池电压接入ADC。这个场景下模拟开关有两个特殊要求一是静态功耗要极低二是关断时的漏电要尽量小。为什么漏电很重要电池电压是被测对象而模拟开关在被测点正极和ADC之间。如果开关关断时漏电流偏大意味着电池一直通过开关和ADC的输入分压电阻在缓慢放电。虽然这个放电电流可能只有微安级别但在休眠场景下这个电流比整个系统待机电流还大就有可能拖垮整机续航。在低功耗设计里最好的办法是选一个具备“低漏电、低静态电流”特性的型号并且在软件上让控制信号默认处于关闭状态仅在需要采集时短暂开启开关采集完成后立刻关断。这样电池即便在长期存储状态下也只会通过监控链路消耗极小的电流。还有个细节值得提一下如果电池电压高于模拟开关的供电电压尤其是单节锂电池组电压范围3.0V-4.2V配了一个2.8V供电的模拟开关那么这时候就存在信号电平超过电源轨的风险。可以降低输入信号比如先用电阻分压把电池电压分到ADC量程之内再进入模拟开关这个方案更稳妥。4. 实操复盘一个多路音频切换开关模块的设计与调试理论讲了这么多我结合自己最近做的一块多路音频切换模块完整走一遍从需求到调试的流程。这个模块不算复杂但每个环节都有值得记录的细节。4.1 需求定义与器件选型过程项目需求是一个音频测试治具上需要做到4路模拟音频输入切换成1路输出音频信号最大幅度约±2V负载阻抗后端接10kΩ。MCU用3.3V供电控制信号为3.3V CMOS电平。要求切换时尽量无爆音THDN控制在0.01%以下。选型上一开始考虑过用4颗双通道SPDT但发现用一颗4通道单刀单掷SPST开关也能满足需求因为每一路输入只需要控制通断输出端直接并联在一起即可。最终我选用了一颗低导通电阻、低电荷注入的4路SPST模拟开关。它的Ron典型值约0.8Ω平坦度约0.1Ω这在音频频段足以保证信号失真很小静态电流也低适合测试治具长期上电的状态。逻辑电平上这颗芯片的VIH最低是1.4VVIL最高是0.4V所以3.3V的MCU可以直接驱动不需要额外的电平转换。这一步确认干净利落省了很多麻烦。4.2 原理图设计中的细节处理原理图设计时有几个地方刻意做了处理这里逐个说。第一每个开关的输入引脚都串联了一个100Ω的电阻。这个电阻的作用是限制在切换瞬态可能出现的电流尖峰同时也对控制信号的寄生耦合有一点抑制作用。副作用是引入了100Ω的串联阻抗但在10kΩ负载下几乎是零损耗可以忽略不计。第二模拟开关的输出端并联了一个100kΩ到地的下拉电阻。这是为了确保当所有通道都关闭时输出端不会悬空避免后级放大器在没有输入信号时拾取杂散噪声。这个下拉电阻还让系统在开机瞬间输出处于确定状态避免了“开机爆音”这种问题。第三电源引脚附近放了0.1uF和1uF两个去耦电容紧贴芯片放置。去耦电容的位置很关键如果放远了等效串联电感会抵消滤波效果。这边建议所有模拟开关的电源脚都这样处理不要凑合。第四控制信号线上各加了1kΩ串联电阻和47pF对地电容组成的RC滤波。这样能将控制信号的上升沿时间从纳秒级放宽到微秒级让开关导通和关断更“柔和”有效减少了切换瞬间的咔哒声。4.3 PCB布局的考量控制线与信号线要“分开走”PCB布局时我最注意的一点是控制信号线与模拟信号线的隔离。控制信号来自MCU数字噪声比较丰富模拟信号幅度小容易被干扰。走线时控制线和模拟信号线在物理上分开并让它们不平行或交叉中间尽量用地线隔开。芯片的输入输出引脚分布在同一侧4路输入走线呈放射状排列输出端走线尽量短并直接连接到后级放大器的输入端。板子的第二层完整铺地信号走线都在顶层这样信号的回流路径就紧贴在走线下方环路面积最小抗干扰能力也更好。调试时我还发现一个有意思的现象把控制线的RC滤波电容从47pF改成22pF后切换噪声的频谱确实有些变化但幅度差别不大。这说明RC滤波的主要作用还是抑制大幅度尖峰对于极短时间内的毛刺效果有限。真正要彻底解决切换爆音还是得靠软硬件协同——软件上等开关稳定后再打开后级放大器。4.4 调试过程与波形实测分析调试时遇到两个值得记录的问题。第一个是刚上电时即使所有控制信号都是低电平输出端仍能听到非常微弱的声音。用示波器一量输出脚上确实有一个几十毫伏、频率和音频信号一致的小信号说明开关没有完全关闭。查了手册发现这颗芯片的使能端还有一个“高电平关闭”的逻辑选项而我一开始把使能引脚接到了高电平但实际上这个型号的使能逻辑是低电平使能。把使能引脚改接到低电平后关断隔离度恢复了正常。这种逻辑极性搞反的坑排查起来特别容易绕远路建议大家在拿到新芯片时先认真核对控制逻辑真值表。第二个问题是当切换通道后输出电平会在极短时间内出现一个约几百微秒的缓慢爬升。刚开始以为是开关的建立时间有问题后来发现是输出端并联的100kΩ下拉电阻和外部后级放大器的输入耦合电容共同作用的结果。这个下拉电阻的电压建立需要时间而输入耦合电容又叠加在这个建立过程上。把下拉电阻阻值改小到47kΩ后建立时间明显缩短波形也干净了代价是静态功耗稍微大了一点但在这个场景下完全可接受。下面我把这两个问题的现象、原因和排查过程整理成表格方便以后查阅现象可能原因排查方向解决方案关断时仍有微弱信号泄漏使能逻辑极性接反核对控制真值表尤其EN脚按手册纠正使能电平切换后输出建立慢RC常数过大/下拉电阻过大检查输出端对地电阻与电容减小下拉电阻阻值切换瞬间有咔哒声控制信号跳变过陡示波器抓取控制沿、串扰控制端加RC缓启动信号高频段衰减明显开关带宽不足/导通电容过大扫频测试、比对带宽参数换用高速模拟开关5. 常见问题与排查技巧实录模拟开关应用的“避坑清单”文章最后一部分我把这些年攒下的排查经验整理成一份清单。不要等到板子调不出来再翻手册提前看一眼这些点很多问题就能在设计阶段规避掉。5.1 信号失真或衰减严重先算阻抗再测波形遇到信号经过模拟开关后幅度变小或波形畸变不要第一时间怀疑芯片坏了。先用阻抗的视角算一遍前级信号源输出阻抗是多少模拟开关的Ron是多少后级负载输入阻抗是多少三者构成一个串联分压网络如果后级负载阻抗太低信号自然会衰减。另外还要检查信号频率和开关带宽的关系。曾经有一个朋友拿着一个标称带宽100MHz的开关来问我为什么传输1MHz的方波时会明显变形。我一看他的电路输出端挂了一个0.1uF的电容做滤波这个电容和开关的Ron约5Ω构成的RC低通滤波器的截止频率约318kHz1MHz的方波高频分量全被滤掉了。这个锅应该由滤波电容和Ron共同背不是芯片带宽不够。信号失真还有一个常见来源输入信号范围超出模拟开关的共模输入范围。尤其是用单电源供电时接近电源轨的信号会产生明显的非线性。测量时可以用示波器直接看开关输出端在信号摆幅极限附近的波形如果靠近轨处出现削顶或圆弧形失真说明输入范围不够要么提高供电电压要么调整信号电平。5.2 通道间串扰高频信号要重点处理布局串扰的排查思路是先区分是芯片内部的串扰还是PCB布局带来的外部耦合。如果是芯片内部串扰通常跟Coss关断电容有关这种耦合一般比较小在音频频段几乎可以忽略。但到了射频、视频频段这类耦合就不能忽视了。如果是PCB布局带来的串扰典型现象是切换通道时未选通的通道也会在输出端出现幅度不等的信号。这种情况下优先调整PCB走线间距让相邻通道信号线之间的距离至少是线宽的3倍并在中间加地隔离。还有一种特殊情况是控制信号窜入信号通路。如果控制线恰好和信号线平行走了一段长距离控制信号的高频跳变会通过寄生电容耦合到信号线上导致输出端出现与控制沿同步的毛刺。排查时用示波器同时抓控制信号和输出信号观察毛刺是否同步出现同步的话基本可以确认是这种耦合。5.3 闩锁效应与ESD损伤上电顺序和热插拔要注意CMOS模拟开关的输入端如果出现超过电源轨或低于地电平的电压就会触发内部的寄生可控硅结构导通形成闩锁现象——芯片表现为大电流、发热、控制失效严重的会烧毁。这种情况最典型的触发条件是热插拔。如果在系统带电时插拔外部信号线线缆上的感应电荷或瞬间冲击可能会让引脚电压超出电源轨。预防办法是在外部连接器到模拟开关输入之间串联一个几百欧姆到1kΩ的电阻或者在输入输出脚上加钳位二极管到电源和地。另外多电源系统中还容易遇到上电顺序问题。如果先给信号上电后给模拟开关供电信号会通过开关内部的ESD保护二极管直接灌入电源引脚轻则芯片工作异常重则殃及同一电源轨上的其他芯片。设计时建议让模拟开关的电源先上电或者确保信号源与模拟开关共用同一电源域。5.4 控制引脚悬空会导致的“幽灵开关”现象控制引脚悬空是模拟开关应用中的一个非常隐蔽的坑。悬空引脚的电平是不确定的可能正好落在逻辑阈值的中间区域导致芯片内部传输门半导通输出信号时有时无、似断非断。我建议所有控制引脚都不允许悬空哪怕这个引脚在当前的方案中不需要用到。应该在原理图设计阶段就给每个控制引脚加上合适的上拉或下拉电阻默认状态设为“关闭”需要时再由MCU去驱动。还有一种情况是MCU在复位期间IO口为高阻态如果控制引脚没有外部上下拉复位期间芯片状态不受控可能出现输出误动作。特别是在系统上电瞬间这种误动作如果驱动的是扬声器或电机会有明显的冲击声或抖动。给所有控制引脚加上确定的默认电平是治本的办法。5.5 一个高效的排查流程建议排查模拟开关引起的异常时我的习惯流程是先测静态参数用万用表量一下各引脚对地的电阻检查有没有明显短路或开路。再测控制逻辑给控制信号施加固定的高、低电平用示波器测量输出端是否随之导通、关断。然后测信号路径在输入端加入一个1kHz、1Vpp左右的正弦波看输出端是否得到等幅波形。如果基本功能正常但仍有杂音或失真再上频谱分析或THD测试锁定非线性失真来源。最后是做极限测试提高信号频率、加大输入摆幅、切换速度确认芯片在各边界条件下都稳定。这套流程虽然看起来简单但能有效避免在复杂的信号链路里东查西查浪费时间。很多时候问题看起来在模拟开关实际却在前后级的阻抗匹配或电源去耦上。根据我的实际项目经验模拟开关这类器件“不挑食”但它非常在意电源的纯净度、系统的逻辑电平和PCB布局的细节。数据手册里的每个参数都不是白写的只是很多问题的触发条件是组合出现的单看任何一项都看不出来。多留一个心眼在设计阶段把这些细节都盯住了后面调试能省下一大截力气。
返回列表