☰
AFD芯片设计实战:信号链、噪声预算与版图调试全解析
2026/10/26 5:00:10 网站建设 项目流程

做AFD芯片这几年,我最大的感受是:模拟前端这活儿,拼的不是哪个模块做得多惊艳,而是整条信号链能不能在噪声、功耗、面积这三座大山之间,找到一个让人睡得着觉的平衡点。很多朋友一听说“AFD芯片设计”就觉得很玄乎,其实说白了,它就是传感器和数字世界之间的那个“翻译官”——负责把电极采到的心电信号、热电偶输出的微小电压、超声探头的微弱回波,一路放大、滤波、调理成ADC能啃得动的干净信号。这篇文章我就从自己流片回来的真实经验出发,把AFD芯片从系统指标分解、核心电路设计、版图布局到测试调试的完整链路,一件件拆开讲清楚。

不管你是刚接触模拟IC的学生,还是已经在做信号链项目的工程师,只要手头在碰AFD相关的东西,这篇应该能帮你少走不少弯路。我会把那些文档里不会明说、但流片后才会痛的细节,尽量都交代一遍。

1. AFD芯片到底是什么,为什么它是模拟设计的试金石

1.1 从传感器到ADC:信号链里最容易被误解的一环

先说说AFD到底承担什么角色。AFD,全称Analog Front-End,模拟前端。它夹在传感器和ADC之间,干的事说起来很简单:把传感器输出的微弱模拟信号,搬到一个适合ADC量化的幅度和频带上。但就是这么“简单”的定位,却能让无数工程师挠破头皮,原因在于传感器信号的情况太杂了。

拿我做过的一个心电(ECG)采集芯片来说,人体皮肤表面的电极阻抗可以到几十千欧甚至更高,而心电信号本身的幅度只有0.5mV到4mV,还叠加了50Hz工频干扰、肌肉抖动伪迹、电极极化产生的直流偏置。如果直接在ADC前面加个运放怼上去,大概率是什么都测不到——信号源阻抗高、信号弱、共模干扰大、直流偏置离谱,这四个问题一起压过来。AFD的任务就是在一开始就把这些问题“消化”掉一部分:用高输入阻抗的仪表放大器结构去匹配电极源阻抗,用斩波稳定技术把低频1/f噪声和失调压制下去,用高通或交流耦合把直流极化电压挡在外面,再用可编程增益放大器把剩下的有效信号放到合适幅度,最后让ADC看到一个干净的、幅度合适的差分信号。

这里有个很多人容易误解的地方:AFD不是简单的“运放+滤波器+ADC拼在一起”。如果只是把模块堆起来,你会发现系统总噪声不是按简单的加法算的,而是每一级的噪声都要折合到输入端再叠加,前级的噪声贡献基本决定了系统天花板。所以AFD设计的核心矛盾,恰恰不是你单个电路模块做得多好,而是你能否在系统层面把噪声、功耗、失调、带宽、输入阻抗这些指标统筹起来。

1.2 为什么AFD不能靠“堆模块”做出来

我见过不少设计,单独仿真LNA,噪声特别漂亮,单独仿真PGA,带宽也够,结果整个信号链拉通之后,实测总噪声比理论估算高出四五倍,查了半天发现是第二级的电源耦合噪声串进来了,前级做得再好也被后级毁掉。这类问题在系统级设计中几乎每天都会发生。

为什么会这样?因为AFD芯片是一个典型的混合信号系统,片上有模拟部分、数字控制部分、时钟产生部分,甚至还有电荷泵或者DC-DC。数字信号通过衬底、电源、地线注入到模拟前端的噪声,往往比电路本身的热噪声大得多。举个例子,一个10-bit的SAR ADC在转换时会产生大量数字开关电流,这些电流通过电源线和衬底耦合回到LNA的输入节点,如果在版图上没有做足够的隔离和屏蔽,输入端看到的毛刺可能直接超过心电信号本身的幅度。

所以我说AFD是模拟设计的试金石,因为它逼着你在做每个模块之前就把系统级问题想清楚。比如:

  • 给ADC的采样时钟,它的回流路径会不会经过模拟输入区?
  • 参考电压缓冲器的输出阻抗,能不能扛得住ADC采样瞬间的电流抽取?
  • LNA的电源PSRR够不够,如果直接用电池供电,电源内阻在信号频率上会带来多大影响?

这些问题的答案不在任何教科书里,只能在一次次流片测试和debug中积累。但一旦你能把AFD做通,混合信号设计的大部分套路你也就摸透了。

1.3 一个典型AFD的系统预算实例

为了后面讨论有共同语言,我拿一个典型的生物电采集AFD芯片来举例,目标指标如下:

参数目标值说明
输入噪声< 1µVrms(0.5~100Hz)心电检测的底线
输入阻抗> 500MΩ @10Hz不加载电极
增益范围1/2/4/8/16/32/64/128可编程增益
CMRR> 90dB抑制工频共模
ADC分辨率16 bit,SAR架构中等功耗选择
功耗< 500µW(全链路)便携设备要求
电源电压1.8V 模拟/1.8V 数字单电池系统

先别急着写电路,先把噪声预算摊开算。假设总噪声要求1µVrms,我们一般给LNA分配70%的噪声预算,也就是0.7µVrms,剩下的给后级和ADC量化噪声。换成噪声谱密度的话,在0.5~100Hz带宽内,等效输入噪声密度需要控制在大约68nV/√Hz以内(0.7µVrms除以√99.5)。这个指标对单极性CMOS工艺来说,不算苛刻但也不轻松,关键是低频段的1/f噪声非常棘手,这就直接决定了LNA一定要用斩波稳定结构。

功耗这边也要提前算。如果模拟链路总电流250µA、电源1.8V,那LNA最多分到80µA左右,因为PGA、ADC、基准、偏置都要吃电流。你在选输入管尺寸的时候,就要在热噪声、1/f噪声和功耗之间做拉锯:管子面积大了,1/f噪声小,但寄生电容变大,斩波时钟馈通变大;偏置电流大了,热噪声小,功耗又超。这些都是在预算表上打架的决定。

系统预算这一步千万别省。我通常的做法是先建一个Excel或Python表格,把每一级的增益、噪声、带宽、功耗都列出来,用“折合到输入端”的方式算总噪声,确定每一个模块允许消耗的噪声预算。这个过程看起来很枯燥,但它能省掉后面无数次的返工。

2. 核心模块拆解:每一级都是权衡游戏

2.1 LNA设计:噪声匹配与斩波稳定

LNA是整个AFD的命根子,它决定了系统噪声地板。大部分生物电和传感器信号都集中在低频段(从几赫兹到几千赫兹),而CMOS器件的1/f噪声在这个频段非常嚣张,所以现代AFD的LNA几乎默认采用斩波稳定结构。

斩波稳定的核心原理,可以通俗理解成“先让信号坐一趟高频电梯”,然后再把干扰挤到墙外面去。具体来说,输入信号在进入主运放之前,先经过一个斩波开关(Chop Switch),被调制到一个比1/f噪声拐角频率高得多的载波频率上,比如50kHz或100kHz。信号在主运放里放大时,虽然叠加了1/f噪声和失调电压,但因为是低频干扰,而且此时信号已经变成高频调制波,两者在频谱上分开了。到了输出端,再用另一个同样频率的斩波开关把信号解调回基带,同时把1/f噪声和失调调制到高频上,最后用一个低通滤波器把它们滤掉。

原理听起来简单,但实际设计中有几个细节非常要命。

第一,斩波开关本身会引入电荷注入和时钟馈通。每次开关切换,沟道电荷会被注入到输入节点,形成一个与开关频率同步的电压尖峰。如果输入阻抗很高,这个尖峰会因为充放电时间常数不足而变成明显的纹波。处理办法有几个:开关用互补CMOS传输门,让N管和P管的注入电荷互相抵消;输入节点加一个小电容吸收注入电荷;再就是选择合适的斩波频率,既不能太低(否则1/f噪声滤不干净),也不能太高(会加剧动态功耗和时钟馈通)。我一般选在50kHz到200kHz之间,具体值要结合主运放的带宽和开关尺寸一起扫。

第二,斩波稳定的LNA,输入管尺寸和偏置电流的选择跟普通运放完全不同。为了抑制斩波时钟馈通,输入对管通常要做成比较大的面积,用长的沟道来降低1/f噪声,但大管子意味着更大的栅极电容,这又要求前面的传感器或电极能够驱动这个电容。好在生物电传感器的源阻抗虽然高,但工作频率极低,输入电容几十皮法都还能接受。还有一个操作是给输入管加自举(bootstrapping)电路,把输入P管栅源的交流电压恒定,从而把等效输入电容从几百fF压到几十fF,输入阻抗就能做到GΩ级别。

第三,LNA的共模反馈(CMFB)环路必须单独优化。AFD的LNA输出要接到下一级,输出共模电平必须稳定,否则后级PGA和ADC的输入共模会飘。这个环路在斩波频率处需要有足够增益,同时相位裕度要留够,因为斩波开关会带来额外的延迟。很多初学设计的人把主运放的环路调得很稳,却忘了CMFB环路才是最容易振荡的地方。

LNA的版图也特别挑,输入对管必须做交叉共质心布局,周围用保护环包起来,输入走线尽量短,而且两边走线长度要一致。这些在后面的版图部分我还会展开。

2.2 PGA与滤波器:增益切换里藏着的坑

LNA后面一般接一个可编程增益放大器,把信号拉到ADC最喜欢的满量程范围。PGA的结构比LNA简单,但它的坑不在这,而在于增益切换时信号连续性、带宽变化和建立时间。

PGA的增益通常通过切换反馈电阻网络实现。这里第一坑是:切换开关的导通电阻不能简单忽略。如果你在反馈路径上串联了一个10kΩ的开关管,它的导通电阻可能有几百欧姆,这会导致实际增益偏离理想值,而且在温度变化时电阻漂移,增益精度就没法保证。靠谱的做法是把开关放到电阻网络的末端去切,让开关等效电阻不串入信号主通路,或者用多个开关并联,把导通电阻压到足够低。

第二个坑是增益切换瞬间的瞬态毛刺。比如从1倍切到128倍,如果两个开关不是同步动作,电路会在中间状态出现一瞬间的高增益,输出直接打到电源轨,恢复时间可能长达几百微秒。这在ECG采集里尤其致命,因为R波检测可能正好撞上这个过冲。解决方法是增益切换要采用“先断开、再切换、后闭合”的时序,也就是先让PGA回到单位增益或断开输出,完成电阻网络切换后再把开关合上。这个时序还要注意和模拟开关的驱动电路配合,避免在切换时产生短暂直通电流。

至于滤波器,AFD里至少需要两个地方用到。第一个是抗混叠滤波器,放在ADC前面,目的是把带外噪声和高频干扰衰减到ADC量化噪声之下。对于SAR ADC,通常需要高阶抗混叠;对于Delta-Sigma ADC,因为它本身有过采样和数字滤波,抗混叠要求低很多,有时一级RC就够了。我比较推荐用有源二阶滤波器加一个额外的极点做缓冲,无源RC虽然成本低,但带载能力和精度都不如有源方案。

第二个是斩波纹波消除滤波器。斩波稳定后的信号虽然解调回基带,但斩波频率附近还残留不少纹波能量,需要在信号链中滤掉。这里有两种思路:一是直接在主运放输出端加陷波或低通;二是用“三态斩波”(tri-state chopping)技术,在对斩波纹波敏感的时刻让输出端处于高阻态,从源头掐掉纹波。我实测下来,三态斩波的效果很干净,但它需要额外的时序控制逻辑,而且输出共模波动会变大,是否采用要看系统对共模范围的要求。

2.3 ADC与基准:接口驱动与稳定度要求

AFD的最后一级通常是ADC。在低功耗生物电和传感器场景下,我见过的大多数设计选SAR ADC或Delta-Sigma ADC。SAR的好处是功耗随采样率变化、无延迟,适合逐拍处理;Delta-Sigma的好处是分辨率高、内置抗混叠,但对时钟抖动更敏感,而且建立时间更长。选哪个取决于系统需要的采样率和有效位数。

很多人容易低估的是ADC驱动问题。SAR ADC在采样阶段会给前级一个动态负载,采样电容从信号源抽取电荷,如果PGA输出级的建立时间不够,采样值会比真实信号偏低,等效于多了谐波失真。特别是在多路复用场景下,AFD要轮流采集ECG、呼吸阻抗、皮肤电极阻抗等多个通道,PGA的输出必须在复用开关切换后一个采样周期内建立到18位精度,这对输出级的摆率和带宽要求相当苛刻。我常用的做法是在PGA后面加一个专门的采样保持缓冲器,或者提高PGA末级偏置电流,让它在最恶劣通道切换场景下仍能建立到位。

基准电压和偏置电路,看起来不起眼,却是AFD里翻车概率最高的地方之一。ADC的参考电压稍有波动,转换结果就直接漂移。假设SAR ADC的参考电压是1.8V,要保证16位精度,参考电压在采样瞬间的波动不能超过约27µV(1.8V除以2的16次方)。参考电压缓冲器必须能在极短时间内补充采样电容抽取的电荷,同时不引起振铃。设计要领是缓冲器的输出级带宽要足够,并且参考电压通路上不能有大阻值的ESD保护电阻。

温度和工艺角漂移也不能忽视。低功耗带隙基准在-40℃到85℃范围内做到10ppm/℃不难,但难的是基准噪声和PSRR。实测下来,很多AFD系统的低频噪声异常,排查到最后发现源头不是LNA,而是基准电压上的噪声通过ADC参考端耦合到了输出码。所以基准输出端一般要加一个高质量的低通滤波电容,同时让基准核远离数字电路和电感类器件。

3. 实操记录:从一个心电图AFD项目看完整流程

3.1 指标定义:先把系统级的账算清楚

我接手过一个便携式心电监护AFD项目,就按前面那张预算表展开。但真正动手前,我花了将近一周时间只做一件事:跟系统组和算法组反复确认每个指标的“真实边界”。

比如ECG信号幅度,教科书写的是1mV左右,但实际佩戴场景下,电极接触不良时信号可以衰减到0.2mV,这时如果增益档位不够高,算法根本检测不到R波。所以PGA的增益上限要设到128倍甚至更高,同时要保证128倍下的总噪声仍然满足1µVrms。这里就出现一个连锁反应:增益越高,前级LNA的噪声被放大的倍数也越高,如果LNA的等效输入噪声是0.7µVrms,128倍增益下输出噪声就有90µVrms,后级ADC的LSB必须显著小于这个值,否则量化噪声会成为新瓶颈。算下来,ADC至少需要14位有效分辨率,我再留2位裕量,选16位就顺理成章了。

还有一个容易被忽略的指标是输入共模范围。心电电极接触人体时,会叠加一个几十到几百毫伏的直流极化电压,这是电极和皮肤之间电化学效应产生的,不是缺陷。LNA如果不做高通或交流耦合,这个直流信号会直接把后级PGA顶到饱和。我们最终选了1Hz左右的高通拐点,既滤掉了直流极化电压,又保留了心电信号里ST段和T波这些低频信息。这个拐点频率的实现通常是一个片外大电容加片内电阻,或者是片内基于电容倍增技术的有源高通,后者更集成但噪声更大,取舍很明显。

系统预算表摊开之后,我把它发给每个模块负责人,让所有人对着同一张表做设计。这张表里每个模块的噪声、带宽、功耗、增益精度都被分配好了,谁超标一目了然。这么做表面上是管理流程,实际上是为了防止“局部优化、全局恶化”——这在AFD设计里太常见了。

3.2 电路实现:管子怎么挑、仿真怎么跑

到了具体电路设计阶段,核心工作是选择器件尺寸和偏置点。以LNA为例,我一般按这样几个步骤来推:

第一步,定电流。LNA总电流80µA,输入差分对分配40µA,负载和共模反馈各分一部分。为什么输入对要占一半?因为在固定电流下,输入管的跨导gm决定了热噪声,gm越大,等效输入热噪声越低。而gm和电流的平方根成正比,所以电流大头给输入管是划算的。

第二步,定尺寸。根据1/f噪声要求确定输入管面积。PMOS管的1/f噪声通常比NMOS小一个数量级,所以在低噪声LNA里我几乎无脑选PMOS输入对。面积越大,1/f噪声越低,但栅电容变大,斩波时钟馈通变强。具体面积可以这样粗算:如果目标输入噪声密度是60nV/√Hz@100Hz,查工艺PDK的1/f噪声模型参数,估算需要的栅面积可能在数千平方微米量级。

第三步,跑仿真。这里要特别提醒一点:AFD这类应用,仿真一定要跑带斩波时钟的周期性噪声分析(Periodic Noise Analysis),不能用普通的AC噪声分析。因为斩波电路的噪声频谱是周期时变的,普通AC仿真会完全算错低频噪声。我用Spectre的pnoise仿真,设置斩波时钟作为periodic operating point,把噪声输出从DC到1kHz扫出来,这样得到的结果和实测数据吻合度非常高。

第四步,跑PVT(工艺角、电压、温度)全corner。加斩波结构后,温度变化会影响开关导通电阻和电荷注入,必须确保全corner下噪声、失调、增益仍然达标。仿真时还要把失配(Monte Carlo)一起跑掉,因为斩波虽然能消失调,但它消的是“静态”失调,开关本身的电荷注入失配会产生残余失调,这个量直接决定了批量产品的一致性。我见过一个设计,斩波时钟布线和开关尺寸完全相同,但因为没有跑MC,流片后失调分布超出规格3倍,最后只能通过芯片内部修调(trim)补救,代价是测试时间增加了一大截。

3.3 版图布局:敏感节点的艺术与纪律

AFD版图是整个项目里“艺术感”最强的地方,但也是新手最迷茫的地方。说几个我常年用的硬规矩。

第一,输入对管一定是交叉共质心布局。四管或八管交叉摆放,让工艺梯度对差分对的影响互相抵消。周围围一圈保护环(Guard Ring),接模拟地,把衬底噪声挡在敏感节点外面。保护环不能省,尤其是在数字电路比较多的混合信号芯片上,衬底噪声会通过输入对管的背栅直接调制跨导,表现为输出噪声底抬高。

第二,模拟区和数字区之间必须有隔离带。我习惯在版图上把数字标准单元区放在芯片一角,用一条宽的地线环围起来,模拟前端放在对角,两种电源和地分开走,只在片外连接点单点汇合。斩波时钟发生器虽然逻辑上算“数字”,但它的开关动作直接驱动模拟开关,所以我会把它放在模拟区边缘,并确保时钟驱动器的回流电流不经过LNA输入节点下面。

第三,输入pad和ESD保护要小心处理。ESD器件的寄生电容和漏电,在低频高阻应用里是灾难。如果pad直接接LNA输入,ESD二极管在常温下漏电就有皮安到纳安级别,乘以信号源阻抗(比如100kΩ)会变成微伏到毫伏级别的输入偏置误差。我现在都会在输入pad和LNA栅极之间串一个小电阻,再靠LNA输入端的钳位二极管做二级保护,牺牲一点点ESD能力换来漏电的大幅下降。这个细节如果你做的是高精度传感器AFD,一定要记住。

4. 流片回来后的调试:问题比你想得多

4.1 优先测什么:通电后的第一件事

芯片回来后,很多人的第一反应是赶紧看信号波形。我建议把这个冲动按住,先做三件事。

第一件,测电源电流。每个电源域的静态电流都要和仿真值对比。电流偏大偏小,往往意味着某个模块工作点异常。有一次我拿到一颗样片,模拟电流比仿真高出30%,查了很久,最后发现是版图上一个偏置电阻的接地点位置不对,导致偏置电流镜复制比例偏离设计值。这种问题在功能测试阶段根本测不出来,但电源电流一照妖就现形。

第二件,测输入端直流偏置点。在LNA输入悬空的时候,测输出共模电压和静态输出电压。如果共模电压偏离设计值,说明内部共模反馈或偏置链有问题。如果输入悬空时输出高频振荡,那十有八九是共模反馈环路补偿不够,必须回炉改版图或者调补偿电容。

第三件,测噪声谱密度。用低噪声仪器直接测输出端噪声,折算回输入,看看和仿真pnoise结果差多少。有差异不可怕,可怕的是一上来就是几倍的差距,那通常不是测试问题,而是设计或版图问题。我建议这一步先别急着加屏蔽罩,先把裸片放在干净环境下测,再盖上屏蔽罩测,两次结果一对比就能判断外部干扰的贡献有多大。

4.2 常见故障速查表

调试踩坑多了,我整理了一张速查表,每次碰到问题先查表,大多数情况能直接命中病根。

现象可能原因排查方向
低频输出有周期性纹波斩波时钟馈通过大检查斩波开关尺寸和时钟非交叠时间
输出噪声比仿真高2倍以上数字噪声耦合或电源滤波不足查看电源纹波、版图隔离、屏蔽效果
增益准确性差开关导通电阻串入反馈网络重新检查PGA开关位置
输入失调随温度漂移斩波残余失调或偏置链温漂跑MC失配仿真,查看修调系统
高增益下振荡共模反馈环路补偿不足调大补偿电容,扫描相位裕度
采样后码值持续偏小SAR ADC采样建立时间不够提高PGA输出级带宽或加采样保持
通道间串扰明显衬底耦合或电源共阻抗检查地线布局,增加隔离保护环

这张表只列了最典型的几种,真实情况往往更隐蔽。比如有一个项目里,我们测到50Hz处有一个窄带干扰峰,起初所有人都认为是工频干扰,加了屏蔽和滤波都不见好,最后发现是芯片内部一个高频时钟的谐波跟50Hz有点数上的差频关系,通过衬底耦合进来的。这种干扰在仿真阶段几乎不可能预见,只能靠测试时的频谱分析一点点追。

4.3 几个我亲手踩过的坑

第一个坑,是斩波频率选择太激进。我早期做第一版AFD时,觉得斩波频率越高,1/f噪声滤得越干净,就把斩波频率定到了2MHz。结果实测噪声反而变大了,因为高频斩波让每个开关周期内的建立时间都不够,时钟馈通变成了大包络。后来降到150kHz,问题立马解决。那次的教训是:斩波频率不是越高越好,它要和主运放带宽、开关尺寸、功耗做联合优化,最好在仿真阶段扫多个频率点,看哪个点噪声最低。

第二个坑,是三态斩波的时序毛刺。后期为了进一步优化纹波,我在一个版本里引入了三态斩波,觉得逻辑只是多一个状态而已。结果流片后发现,三态和短接两个状态切换之间如果时序上有一点不交叠时间过短,输出端会出现几十纳秒的窄毛刺,这个毛刺被后级低通滤波器的非线性检波后,变成了一个直流偏移。当时排查了两天才找到原因,最后是加一个简单的数字延迟单元把三态时间拉长解决的。所以玩三态斩波,时序上的精细化不可省。

第三个坑,是ESD结构调整带来的漏电。我有个项目为了提高输入级ESD能力,把输入保护二极管尺寸加大了一倍,结果在高阻电极场景下,输入端漏电流比预期大了五倍,心电信号的基线漂移到了完全没法看的地步。后来只能把ESD结构调整回小尺寸,再额外在第二级加保护。ESD和模拟性能之间的平衡,永远要先想想漏电对前端意味着什么,不要只盯着打静电那一下。

最后一个坑,是关于基准端口的。因为PCB上走线距离较长,我在基准电压引脚附近加了一颗0.1uF电容,想着滤个波总是好的。结果电容的介质吸收效应结合缓冲器环路形成了一个低频极点,基准建立时间从几微秒变成了几百微秒,ADC在前几百个采样点的码值明显不准。这个事之后我就记住了:基准端口的滤波电容不是越大越好,要和缓冲器一起做闭环分析,甚至要做瞬态仿真验证。

回到我自己最深的体会。做AFD芯片,最难的不是任何一个模块的原理,而是你永远要带着“整条链”的视角去审视每一个设计决定。每次流片回来,我第一步永远是测底噪,这个习惯帮我挡掉了好几批原本要报废的样片。如果你也在做或者准备做AFD,我的建议就一个:把系统预算表做得越细越好,然后在每个环节都问自己一句——这个决定,对整个信号链的噪声和建立时间意味着什么。这个问题问多了,你自然就知道该往哪儿使劲了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询