020、Sensor 供电设计:AVDD、DVDD、IOVDD 的上电时序与纹波要求
020、Sensor 供电设计AVDD、DVDD、IOVDD 的上电时序与纹波要求一、一个让我熬夜三天的“死机”问题去年做一款50M像素的CIS项目Sensor死活不输出图像。示波器量了MIPI时钟、I2C通信、复位时序全对。最后发现是AVDD的纹波在Sensor启动瞬间飙到了80mVpp——规格书要求最大30mVpp。更坑的是这颗Sensor在常温下能撑到50mVpp才出问题但低温-20°C时纹波稍微大一点就死机。那三天我换了三版LDO布局最后在AVDD路径上加了一颗10μF陶瓷电容0.1μF高频电容的组合纹波压到18mVpp问题解决。从那以后我养成了一个习惯画Sensor供电原理图之前先拿规格书把上电时序和纹波要求用红笔圈出来贴在显示器边上。二、三路供电的“脾气”各不相同Sensor供电通常三路AVDD模拟、DVDD数字核心、IOVDDIO接口。别以为它们只是电压值不同每路的“性格”差异很大。AVDD模拟供电典型2.8V这是最娇气的一路。Sensor的像素阵列、ADC、PLL都靠它。纹波要求通常在30mVpp以内有些高灵敏度Sensor甚至要求10mVpp。为什么因为模拟电路对电源噪声极其敏感纹波会直接耦合进像素信号通路表现为固定图案噪声FPN或行噪声。我见过一个案例AVDD纹波只有20mVpp但频率刚好落在Sensor读出频率的谐波上图像上出现肉眼可见的竖条纹——这种噪声在ISP里很难完全滤除。DVDD数字核心供电典型1.2V或1.8V这路相对皮实纹波容忍度通常在50-100mVpp。但别因此掉以轻心——DVDD的电流瞬态变化很大。Sensor在启动、切换帧率、开启HDR模式时数字逻辑的电流可能从几mA瞬间跳到上百mA。如果DVDD的LDO响应速度不够电压跌落超过5%Sensor内部逻辑可能进入不确定状态轻则输出花屏重则锁死I2C总线。IOVDDIO接口供电典型1.8V这路最容易被忽视。它给MIPI PHY、I2C、GPIO供电。纹波要求通常和DVDD类似但有一个坑IOVDD的电压必须稳定在MIPI D-PHY规范要求的范围内1.7V-1.95V。如果IOVDD纹波过大MIPI时钟的抖动会超标导致接收端误码。我遇到过IOVDD纹波40mVpp时MIPI眼图闭合了20%换了一颗低噪声LDO后眼图立马打开。三、上电时序谁先谁后差之毫厘谬以千里上电时序是Sensor供电设计里最容易踩坑的地方。不同厂商的Sensor要求不同但有一个通用原则先给模拟供电再给数字供电最后给IO供电。为什么模拟电路AVDD需要先稳定因为Sensor内部的参考电压、偏置电流都依赖它。如果DVDD先上电数字逻辑开始工作但模拟部分还没准备好内部状态机可能进入错误状态。IOVDD最后上电是为了避免MIPI PHY在模拟和数字未稳定时误触发输出。具体时序要求看规格书里的“Power Up Sequence”时序图。通常会有三个时间参数t1AVDD稳定到DVDD开始上升的时间典型值0-1mst2DVDD稳定到IOVDD开始上升的时间典型值0-1mst3所有供电稳定到Reset释放的时间典型值1-10ms这里踩过坑某次用一颗国产Sensor规格书写t1≥0ms我理解成可以同时上电。结果批量生产时约5%的模组在低温下无法初始化。后来用示波器抓时序发现AVDD和DVDD同时上升时AVDD的上升沿被DVDD的电流瞬态拉出了毛刺。改成AVDD先稳定1ms后再启动DVDD问题消失。别这样写代码// 错误示范同时使能所有LDOgpio_set_level(LDO_EN_AVDD,1);gpio_set_level(LDO_EN_DVDD,1);// 别这样AVDD还没稳定gpio_set_level(LDO_EN_IOVDD,1);正确做法// 先开AVDDgpio_set_level(LDO_EN_AVDD,1);mdelay(2);// 等AVDD稳定这里用2ms留余量// 再开DVDDgpio_set_level(LDO_EN_DVDD,1);mdelay(1);// 最后开IOVDDgpio_set_level(LDO_EN_IOVDD,1);mdelay(5);// 等所有供电稳定后再释放Reset// 释放Resetgpio_set_level(SENSOR_RESET,1);mdelay(10);// 等Sensor内部初始化完成四、纹波控制不是堆电容就能解决很多人以为纹波大就多加电容结果发现加了100μF电解电容纹波反而更大了。为什么因为电容的ESR等效串联电阻和ESL等效串联电感在高频下会失效。实战经验AVDD路径用一颗10μF X7R陶瓷电容0805封装做低频储能再并联一颗0.1μF X7R0402封装做高频去耦。电容尽量靠近Sensor的AVDD引脚走线宽度至少0.5mm。如果空间允许再加一颗1μF电容在LDO输出端。DVDD路径同样用10μF0.1μF组合但注意DVDD的电流瞬态大LDO的压差Dropout Voltage要留够。比如DVDD需要1.2V输入电压3.3V压差2.1V普通LDO没问题。但如果输入电压只有1.8V压差0.6V必须选低压差LDO如RT9013否则LDO会进入饱和区输出纹波急剧增大。IOVDD路径这路电流小通常50mA但MIPI信号对电源噪声敏感。建议用低噪声LDOPSRR60dB1MHz输出端加0.1μF10pF组合。10pF电容用来滤除超高频噪声很多工程师会忽略这一点。一个容易被忽视的细节PCB布局时Sensor的供电电容地线必须直接打过孔到GND平面不要通过走线绕一圈。我见过一个设计电容地线走了2cm长的细线结果纹波从20mVpp变成了60mVpp——那条细线成了天线。五、调试工具与实战技巧必备工具示波器带宽至少100MHz建议200MHz以上差分探头测MIPI信号时用电流探头测DVDD瞬态电流调试步骤先测空载纹波不接Sensor只测LDO输出。如果空载纹波就超标换LDO或调整电容。再测带载纹波接上Sensor在Sensor启动、拍照、录像等不同模式下测纹波。注意用示波器的AC耦合模式把直流分量滤掉只看纹波。最后测上电时序用示波器的四个通道同时测AVDD、DVDD、IOVDD和Reset信号看时序是否满足规格书要求。一个实用技巧如果纹波在特定频率如1MHz超标检查LDO的开关频率如果是DC-DC或Sensor的内部时钟频率。有时纹波是Sensor自身产生的通过电源路径耦合到LDO输出。这种情况下在Sensor电源引脚附近加磁珠如BLM18PG121SN1可以有效抑制。六、个人经验总结永远不要相信规格书里的“典型值”。比如纹波要求写30mVpp设计时按15mVpp去压。因为批量生产时LDO的PSRR、电容的ESR都有离散性留余量才能保证良率。上电时序的延时不要用us级用ms级。有些工程师为了省那几百微秒用定时器精确控制延时结果不同批次Sensor的启动时间有差异导致偶发失败。多等几毫秒不会影响用户体验但能省去大量调试时间。电容的选型比数量重要。一颗好的MLCC如村田、TDK比十颗杂牌电容效果好。注意电容的电压降额——在2.8V下用6.3V耐压的电容实际容值会下降约20%因为陶瓷电容有DC偏压特性。如果空间允许在Sensor的电源路径上加一个0Ω电阻。调试时可以断开电阻单独给Sensor供电方便排查是电源问题还是Sensor本身问题。最后一条也是最容易被忽略的检查Sensor的Datasheet里有没有“Power Down Sequence”的要求。有些Sensor对掉电时序也很敏感如果先断AVDD再断DVDD可能导致内部电荷泵损坏。我见过一个案例频繁开关机导致Sensor损坏就是因为掉电时序反了。供电设计看似简单但往往是整个影像系统稳定性的基石。下次遇到Sensor死机、花屏、噪声大别急着怀疑ISP算法或驱动代码先拿示波器量一下供电——八成问题出在这里。