资讯动态

手机摄像头模组CCM拆解:Sensor、VCM与ISP内部构造与工作原理详解

发布时间:2026/9/28 13:47:35 来源:尧图企业网站定制
1. 手机摄像头模组CCM拆解从Sensor到VCM一文看懂内部构造与工作原理1.1 为什么我要写这篇拆解前阵子帮一个做嵌入式视觉的朋友调一块RV1126B的板子sensor点亮之后图像一直发灰、暗部噪点爆炸他问我是不是sensor坏了。我让他把模组拆下来用放大镜看了一遍FPC上的元件布局又对着datasheet核了一遍供电和MIPI走线最后发现是VCM的驱动电流设置不对导致对焦马达一直在微震长曝光下画面自然糊。这件事让我意识到很多人天天在代码里调ISP、写CCM矩阵、跑OpenCV的color correction但对手机摄像头模组CCM里面到底装了些什么、每个部件干什么活其实是没有物理概念的。CCM这个词在不同语境下含义不一样。做图像算法的说CCM通常指Color Correction Matrix颜色校正矩阵做硬件和模组的说CCM指的是Compact Camera Module紧凑型摄像头模组。这两个概念经常被混着用热搜里“ccm和dcm怎么选”问的其实是模组选型而“opencv ccm”问的是颜色校正矩阵怎么算。这篇内容我打算从物理拆解的角度把CCM模组从外到内扒一遍顺带把Sensor、VCM、ISP这几个核心角色串起来讲清楚。不管你是刚入行的驱动工程师、还是做图像调试的算法同学或者只是好奇手机背面那个小凸起里到底塞了什么看完应该都能建立起一个完整的物理图景。1.2 一颗模组的基本盘CCM到底由哪些部分组成先把结论摆出来。一颗典型的手机摄像头CCM从下到上大致是这么几层最底下是FPC柔性电路板上面贴着连接器和若干被动元件FPC上面是Sensor芯片通常用COB或FC工艺绑定Sensor正上方是支架和IR滤光片再往上是对焦马达VCM最顶上才是镜头Lens。有些模组还会集成OIS光学防抖线圈、闭loop霍尔传感器、EEPROM存储校准数据。整个堆叠高度控制在几毫米以内这也是为什么手机摄像头凸起一直压不下去——物理光学决定了焦距和法兰距塞不进更薄的机身。拆解的时候我习惯从FPC那一面入手。先用热风枪在连接器背面均匀加热温度控制在180到220摄氏度之间用镊子轻轻挑起连接器。这里有个坑很多模组的FPC是多层板加热不均匀容易把焊盘拉掉。我一般会先在边缘涂一点助焊剂让热量传导更均匀。连接器取下之后用刀片沿支架边缘划开胶水注意刀片角度要平别戳到Sensor表面的微透镜。支架通常是LCP或PPS材料耐温不错但脆性大用力过猛会裂。取下支架之后就能看到IR滤光片它一般用点胶固定在支架内框上。IR滤光片的作用是滤掉近红外光因为硅基Sensor对红外也敏感不滤掉的话画面会偏红、色彩饱和度下降。有些拆机视频里把IR滤光片拆了当红外摄像头用就是这个原理。滤光片下面是Sensor的感光面肉眼能看到一层淡淡的蓝紫色镀膜那是微透镜阵列。再往下就是Sensor的硅衬底和焊线这部分不建议继续拆了焊线直径通常只有十几微米碰一下就断。VCM通常套在镜头外面和支架通过螺纹或卡扣连接。拆VCM的时候要注意里面有两根细如发丝的弹片连接着动子和定子。弹片一旦变形对焦行程就会偏移表现为近距离对不上焦或者对焦时发出咔咔声。我拆过一颗报废的模组弹片被我镊子碰了一下装回去之后对焦直接废了只能当备件拆Sensor用。1.3 Sensor把光子变成电子的第一站Sensor是整个模组的核心没有它就没有图像。手机里用的几乎都是CMOS Sensor主流尺寸从1/3英寸到1英寸不等。Sensor的像素阵列由一个个像素单元组成每个单元包含光电二极管、传输管、复位管和源极跟随器。光子打到光电二极管上激发出电子电子被收集起来形成电荷电荷量正比于光强。曝光结束后电荷被逐行读出经过列并行ADC转换成数字信号再通过MIPI接口送给ISP。这里要提一个热搜词“cis isp 坏点矫正”。CIS就是CMOS Image Sensor的缩写坏点矫正是ISP pipeline里很靠前的一步。Sensor制造过程中难免有缺陷像素表现为永远亮或者永远暗。ISP在去马赛克之前会先做坏点检测和补偿通常用邻域像素的中值或均值来替换坏点。如果坏点矫正没做好去马赛克之后坏点会被扩散成彩色斑点后期很难修。Sensor的读出方式有 rolling shutter 和 global shutter 两种。手机几乎全是 rolling shutter逐行曝光成本低、像素密度高但拍高速运动物体会有果冻效应。全局快门每个像素同时曝光适合工业检测但像素做大之后良率低、成本高手机里基本见不到。选Sensor的时候除了分辨率和尺寸还要看量子效率、读出噪声、满阱容量、动态范围。量子效率决定弱光下的信噪比读出噪声决定暗部纯净度满阱容量决定高光不过曝的能力。这几个参数互相制约没有哪颗Sensor是全能的。我个人的经验是弱光优先看量子效率和读出噪声白天优先看满阱容量和动态范围。1.4 VCM让镜头动起来的那只小手VCM是Voice Coil Motor的缩写中文叫音圈马达。它的原理和扬声器差不多通电线圈在永磁场中受到安培力推动镜头沿光轴方向移动改变镜头到Sensor的距离从而实现对焦。手机模组里常见的有开环VCM、闭环VCM和OIS VCM。开环VCM便宜、结构简单但受重力影响大手机倒过来拍对焦会变慢。闭环VCM里面加了霍尔传感器能实时反馈镜头位置对焦更快更准。OIS VCM除了对焦方向还能在垂直于光轴的方向上补偿手抖结构复杂得多成本也高。VCM的驱动电流通常在几十到一百多毫安驱动电压2.8V到3.3V。驱动IC通过I2C接收目标位置然后输出PWM或DAC电压给VCM线圈。这里有个细节VCM的行程和电流不是严格线性的靠近行程两端会有磁滞和饱和。调试的时候要在整个行程上打表拟合出电流-位置曲线存到EEPROM里。ISP或驱动在运行时查表输出才能保证对焦精度。热搜里“rv1126b sensor”和“利用 ethernetkrl interface (eki) 作为通信桥梁来启动和控制 robot sensor inte”这两个词其实指向的是嵌入式平台上的sensor驱动和通信。RV1126B是瑞芯微的一颗视觉芯片内置ISP支持多路sensor输入。在机器人或工业视觉场景里sensor和主控之间可能隔着以太网这时候就需要一个通信桥梁把控制命令和图像数据传过去。EKI在这里扮演的就是协议转换的角色把I2C控制命令封装成以太网帧再把MIPI图像数据打包发送。这种架构在分布式视觉系统里很常见好处是sensor可以放得很远坏处是延迟和同步要仔细处理。1.5 ISP图像质量的幕后操盘手ISP是Image Signal Processor的缩写中文叫图像信号处理器。它接收Sensor输出的RAW数据经过一系列处理最终输出YUV或RGB图像。ISP pipeline通常包括坏点矫正、黑电平校正、镜头阴影校正、去马赛克、白平衡、颜色校正、伽马校正、锐化、降噪。每一步都有大量参数调好了画面通透调不好画面发灰、偏色、噪点爆炸。去马赛克是ISP里最核心的一步。因为每个像素只感应一种颜色Bayer阵列需要根据邻域像素插值出另外两种颜色。最简单的双线性插值会带来伪彩和拉链效应所以实际ISP会用更复杂的算法比如边缘导向插值、方向滤波。FPGA做ISP去马赛克的时候通常用流水线结构每个时钟处理一个像素保证实时性。我见过一些开源ISP方案去马赛克用的是梯度检测加中值滤波效果比双线性好不少但资源消耗也大。颜色校正矩阵CCM是ISP里另一个关键模块。Sensor的RGB响应曲线和人眼不一样需要用一个3x3矩阵把Sensor RGB映射到标准sRGB。这个矩阵通常用24色卡在标准光源下拍一张然后用最小二乘法拟合出来。OpenCV里可以用cv2.calcColorCorrectionMatrix或者自己写最小二乘。矩阵系数会存在模组的EEPROM里ISP启动时加载。如果CCM矩阵不对画面会偏色比如肤色发青、天空发紫。“isp调试”和“自动isp图像效果调试”这两个热搜词反映的是ISP调试的复杂性。一颗Sensor从点亮到画面可用通常要调几十个参数跑几百组场景。自动调试工具现在也有用算法搜索参数空间但最终还是要人眼判断。我个人的经验是先调黑电平和白平衡把画面拉正再调CCM和伽马把颜色和对比度做对最后调锐化和降噪把细节和纯净度平衡好。顺序不能乱否则后面调好了前面又歪了。1.6 从RAW到JPEG一条完整的图像链路把前面几个部件串起来一颗手机摄像头从按下快门到生成照片大致经过这么几步。光线穿过镜头经过IR滤光片打到Sensor的像素阵列上。Sensor曝光、读出输出RAW数据。RAW数据通过MIPI接口送到ISP。ISP先做坏点矫正和黑电平校正然后镜头阴影校正补偿边角暗角接着去马赛克把Bayer变成RGB再做白平衡和CCM颜色校正然后伽马校正把线性响应变成人眼舒适的非线性响应最后锐化和降噪输出YUV。YUV再送给编码器压缩成JPEG或HEVC。这条链路里任何一个环节出问题都会影响最终画质。镜头解析力不够画面会肉IR滤光片漏光画面会偏红Sensor读出噪声大暗部会脏VCM对焦不准画面会糊ISP去马赛克算法差边缘会有伪彩CCM矩阵不对颜色会偏伽马曲线不对对比度会怪锐化过度画面会有白边降噪过度画面会涂抹。所以调一颗模组本质上是在这条链路上找平衡。1.7 拆解实操我一般怎么下手拆一颗CCM工具不用太复杂。热风枪、恒温烙铁、精密镊子、刀片、放大镜或显微镜、防静电手环基本就够了。第一步先拆FPC连接器用热风枪从背面加热温度别超过250度时间别超过30秒。第二步用刀片沿支架边缘划胶注意刀片要平别戳到Sensor。第三步取下支架和IR滤光片这时候就能看到Sensor和VCM了。第四步拆VCM如果是螺纹连接的逆时针拧下来如果是卡扣的用镊子轻轻撬开。第五步拆Sensor这一步风险最高焊线很细建议用热风枪从背面加热FPC让Sensor自然脱落别用镊子硬撬。拆下来的部件可以单独测试。Sensor可以用FPGA或专用测试板点亮看RAW输出是否正常。VCM可以用驱动板加电流看镜头是否移动。IR滤光片可以放在白纸上用红外遥控器对着照如果能看到紫光说明滤光片还在起作用。镜头可以反过来当放大镜用看解析力。注意事项有几个。一是防静电Sensor和VCM都怕静电操作前一定要戴手环。二是温度控制热风枪温度太高会烤坏塑料支架和FPC。三是力度控制镊子夹焊线必断夹弹片必变形。四是记录顺序拆之前拍几张照片记下每个部件的位置和方向装回去的时候才不会错。1.8 常见问题与排查思路模组不亮先查供电。Sensor通常需要几路电源模拟电源、数字电源、IO电源。用万用表量一下电压是否正常再看I2C是否能读到ID。如果ID读不到可能是I2C地址不对或者上拉电阻没焊。如果ID能读到但不出图查MIPI时钟和数据线用示波器看有没有信号。如果MIPI有信号但ISP不出图查ISP配置和时钟。画面偏色先查白平衡和CCM。用标准色卡拍一张看哪个色块偏得最厉害。如果整体偏红可能是IR滤光片漏光或者白平衡增益不对。如果肤色偏青可能是CCM矩阵不对。如果暗部偏绿可能是黑电平没校正好。对焦不准先查VCM驱动。用驱动板给VCM加不同电流看镜头是否移动。如果不移动可能是线圈断了或者驱动IC坏了。如果移动但不线性可能是弹片变形或者磁铁退磁。如果移动正常但对焦还是不准可能是EEPROM里的校准数据丢了需要重新打表。画面有噪点先查Sensor读出噪声和ISP降噪。如果暗部噪点像雪花可能是读出噪声大或者增益太高。如果噪点有彩色斑点可能是坏点矫正没做好。如果噪点有规律条纹可能是电源纹波或者MIPI干扰。1.9 选型与调试的一些个人经验选CCM模组的时候我一般先看应用场景。如果是手机主摄优先看Sensor尺寸和量子效率弱光表现决定用户体验。如果是工业视觉优先看全局快门和帧率运动物体不能有果冻效应。如果是机器人视觉优先看接口和同步多路sensor要能硬件同步。如果是车载优先看动态范围和工作温度隧道进出不能过曝或全黑。调试ISP的时候我习惯先跑一遍标准场景包括室内日光、室外阴天、室外晴天、夜景、逆光、微距。每个场景拍几张看直方图和色卡。然后针对问题调参数每次只调一个模块调完再跑一遍场景。这样虽然慢但能保证不引入新问题。自动调试工具可以加速搜索但最终判断还是要人眼。CCM和DCM怎么选这个问题其实要看定义。如果DCM指的是Depth Camera Module那就是另一类模组通常包含红外投射器和红外接收器用于深度测量。CCM是彩色成像DCM是深度感知两者用途不同不是替代关系。如果DCM指的是Display Camera Module那就是屏下摄像头对透光率和体积要求更高选型逻辑又不一样。所以问这个问题之前先明确DCM到底指什么。1.10 最后分享几个小技巧拆模组的时候如果FPC连接器焊盘拉掉了可以用细铜线飞线但要注意线长尽量短否则MIPI信号会变差。如果IR滤光片碎了可以用手机屏幕的偏光片临时替代但透光率和截止波长不一样只能应急。如果VCM弹片变形了可以用镊子轻轻掰回来但精度很难保证最好换新。如果Sensor表面有灰尘用气吹吹别用棉签擦微透镜很脆弱。调ISP的时候如果画面发灰先看黑电平和伽马。黑电平没校正好暗部会浮起来伽马曲线不对中间调会平。如果画面偏色先看白平衡和CCM。白平衡增益不对整体会偏CCM矩阵不对特定颜色会偏。如果画面噪点多先看增益和降噪。增益太高噪点自然多降噪太强细节会丢。这颗模组后续还可以这样扩展把拆下来的Sensor接到FPGA开发板上自己写一个简单的ISP pipeline从RAW到RGB全流程跑一遍对理解图像处理帮助很大。或者把VCM接到驱动板上用单片机输出PWM做一个自动对焦的小装置。或者把IR滤光片拆了做一个红外摄像头晚上看小动物很清楚。这些玩法我都试过踩过不少坑但也学到了很多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑