警惕!CAF效应导致PCB漏电
最近碰到一个PCB漏电的问题,起因是一款低功耗产品,本来整机uA级别的电流,常温老化使用了一段时间后发现其功耗上升,个别样机功耗甚至达到了mA级别。仔细排除了元器件问题,最终发现了一个5V电压点,在产品休眠的状态下本该为0V,然而其竟然有1.8V左右的压降!耐心地切割PCB线路,惊讶地发现PCB上的两个毫无电气连接的过孔竟然可以测试到相互间几百欧姆的阻值。查看该设计原稿,两层板,过孔间距焊盘间距>6mil,孔壁间距>18mil,这样的设计在PCB行业中实属普通的钻孔工艺。洗去油墨,排除油墨或孔表层的杂质导电问题,实测过孔间阻值依然存在!百思不得其解一段时间后,才发现原来是“CAF效应”导致的漏电问题!

什么是CAF效应:
CAF,全称为导电性阳极丝(CAF:Conductive Anodic Filamentation), 指的是PCB内部铜离子从阳极(高电压)沿着玻纤丝间的微裂通道,向阴极(低电压)迁移过程中发生的铜与铜盐的漏电行为。
如下图片,对两个相邻的两个过孔进行纵向研磨,置于电子显微镜下放大100倍,板材呈黯淡颜色,亮金色部分则为铜,可以看到在两个过孔间,有铜点、铜丝存在。

CAF产生的机理:
1. 常规的FR4 PCB板材是由玻璃丝编织成玻璃布,然后涂环氧树脂半固化后制成。树脂与玻纤之间的附着力不足或含浸时胶性不良,两者之间容易出现间隙,加之在钻孔等机械加工过程中,由于切向拉力及纵向冲击力的作用对树脂粘合力的进一步破坏,可能造成玻纤束被拉松或分离而出现间隙。在高温高湿的环境下,环氧树脂与玻纤之间的附着力更加出现劣化,并促成玻纤表面硅烷偶联剂化学水解,沿着玻纤增强材料形成可供电子迁移的通路;

2. 基于上面的条件,此时距离较近的两个过孔若存在电势差,那么电势较高的阳极上的铜会被氧化成为铜离子,铜离子在电场的作用下向电势较低的阴极迁移,在迁移过程中,与板材的杂质离子或OH-结合,生成了不溶于水的导电盐,并沉积下来,由此两个绝缘孔之间的电气间距急剧下降,严重的甚至可以直接导通形成短路。
阳极:
Cu → Cu2++2e–
H2O → H++OH-
阴极:
2H++2e– → H2
Cu2++2OH– → Cu(OH)2
Cu(OH)2 → CuO+H2O
CuO+H2O → Cu(OH)2 → Cu2++2OH–
Cu2++2e– → Cu
在还没有意识到CAF效应导致的不良之前,我对于相互绝缘的两个过孔间出现阻值的现象感到不可思议,后来经过资料查询,才发现许多同行也为这个问题困扰过,甚至CAF效应已经是PCB业内一个较为热门的可靠性问题之一!
如何防止或减少CAF的发生?
1. 提高板材在抗CAF方面的能力。对于电路板基材工艺,可以从提高材料中离子纯度、使用低吸湿性树脂、玻璃布被树脂充分浸泡结合良好等方面进行提高。对于应用端的工程师,在板材选型时,可以考虑使用耐CAF板材。如下板材供应商生益的板材选型中,就有耐CAF的板材可供选型。

2. PCB的机械钻孔或镭射烧孔会产生高温,超过板材的Tg点时会融溶并形成残渣,这些残渣附着于孔壁会造成镀铜时接触不良,因此在镀铜前必须进行除渣作业,除渣作业中的浸泡处理会对通孔造成一定的侵蚀并可能带来渗铜问题,使后续的铜迁移现象更加容易;
3. PCB设计时,增加通孔间距,另外,由于CAF通道几乎沿着同一玻璃纤维束产生,因此,将相邻的通孔交叉发布有助于降低CAF的发生;


4. 对PCBA进行表面清洁处理,例如使用高压气枪进行灰尘清理,避免杂质残留导致不必要的杂质发生电解。另外,在PCBA表面涂覆三防漆,避免水汽的侵入,特别是在高温高湿的地理环境。

对于这个CAF问题导致的漏电问题,从一开始的困扰到后面的豁然开朗,这其中有两点让我有了更深的体会:
1. 对于一个bug现象的存在,当自己感到不可思议时,也请保持一种客观的态度面对,因为当前现象与已有认知的相去甚远,很可能只是你的知识体系里有盲区而已。碰到CAF现象时,我向PCB产商抛出“相互绝缘的过孔间为什么会有阻值存在”的问题,产商也觉得不可思议,但对方基于“自己做了几十年的板子也没有客户反应过这个问题”的经验性思维,始终没能客观地面对这个问题的存在,在这个前提下,即使有再好的配合力度,所谓的验证也就只能停留在了自证自己材料、制程属于行业规范的层面上,但CAF对于目前PCB行业来说本来就是一个无法100%规避的问题。由此迫使我找第三方的厂家进行剖片分析,显而易见地看到孔间的铜后,该问题才有了不容反驳的定论;
2. 应用端的电子工程师,对电子器件的认知,除了能用、会用的能力之外,还要对其基础材料有所认知。如同每天都在和电容、电阻、电感等器件打交道,但对于这些器件的制作工艺、基础材料组成却是有很多人都不自知的,而这正是这些器件电气特性的根本所在。例如在不同工作频率特性下,一个电容为什么会有阻性、感性、容性的成分所在;又或者一个铝电解电容反接为什么会爆浆,在反接电压未知的情况下,一定会爆浆吗?关于这些问题,后续我会整理出来进行记录、分享~
本文参考文献传送门:
http://www.anytesting.com/news/543325.html
《PCB漏电流失效案例分析》
http://www.edadoc.com/cn/TechnICalArticle/Show.aspx?id=1239
《谈谈钻孔间距对产品可靠性的影响》
https://mp.ofweek.com/ee/a345673623826
《印制电路板CAF失效研究》
http://www.researchmfg.com/2014/12/caf/
《电路板内微短路现象》
https://www.researchmfg.com/2015/08/caf-cause-solution/
《CAF形成的原因及改善对策》
http://www.researchmfg.com/2016/06/3d-x-ray-ct/
《3D X-Ray CT非破坏性立体扫描分析PCBA不良》
==================================================================================================================================================================================================
更多交流,可微信关注:

警惕!CAF效应导致PCB漏电的更多相关文章
- PCB布线经验
查看: 3645|回复: 11 [经验] PCB设计经验(1)——布局基本要领 [复制链接] ohahaha 927 TA的帖子 0 TA的资源 纯净的硅(中级) 发消息 加好友 电 ...
- PCB的封装尺寸
PCB封装主要分为贴片式与插件式 1)贴片元件封装说明发光二极管:颜色有红.黄.绿.蓝之分,亮度分普亮.高亮.超亮三个等级,常用的封装形式有三类:0805.1206.121 (常用封装为RB.1/. ...
- Cadence PCB层的概念
Slikscreen_Top :顶层丝印层 Assemly_Top :装配层,就是元器件含铜部分的实际大小,用来产生元器件的装配图.我自己感觉这一层如果对于贴片的元器件,如电容,就是两个贴片铜 ...
- PCB 钻孔补偿那点事
没有优秀的个人,只有优秀的团队,在团队共同的协作下,PCB CAM自动化[net处理]与[钻孔处理] 第一阶段开发项完成了,,后续工作可以转向PCB规则引擎开发了.这里说说PCB工程钻孔补偿的那点事, ...
- PCB SQL SERVER 数据库阻塞进程关系以思维导图方式呈现的实现方法
最近公司服务数据库同步机制常发生阻塞,时不时的导致PCB工程系统卡死现象,只有找到阻塞源头并处理掉,才以消除阻塞,但数据库中查看会话阻塞是通过二维表方式展示的父子会话进程ID的,是很难清楚的展示各会话 ...
- 避开PCB假八层结构的温柔陷阱---浅谈六层板的叠层
https://blog.csdn.net/qijitao/article/details/51505611 作者:王辉东 一博科技高速先生团队队员 在<PCB的筋骨皮>一文中,我们提 ...
- CodeReview Learning
目录 . 引言 . 代码检视的指导思想 . 代码检视的内容 . 回归测试 0. 引言 代码检视(Code Review)是指软件开发人员在完成代码设计.编写.调试后展开的个人或群体性的代码阅读过程,代 ...
- fMRI数据分析处理原理及方法(转载)
原文地址:http://www.cnblogs.com/minks/p/4889497.html 近年来,血氧水平依赖性磁共振脑功能成像(Blood oxygenation level-depende ...
- fMRI数据分析处理原理及方法
来源: 整理文件的时候翻到的,来源已经找不到了囧感觉写得还是不错,贴在这里保存. 近年来,血氧水平依赖性磁共振脑功能成像(Blood oxygenation level-dependent funct ...
随机推荐
- PATA 1065 A+B and C (64bit)
1065. A+B and C (64bit) (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming G ...
- 我在生产项目里是如何使用Redis发布订阅的?(二)Java版代码实现(含源码)
上篇文章讲了在实际项目里的哪些业务场景用到Redis发布订阅,这篇文章就讲一下,在Java中如何实现的. 图解代码结构 发布订阅的理论以及使用场景大家都已经有了大致了解了,但是怎么用代码实现发布订阅呢 ...
- C语言学习书籍推荐《C程序设计语言(第2版•新版)》下载
克尼汉 (作者), 等 (作者, 译者), 徐宝文 (译者) 下载地址:点我 <C程序设计语言(第2版•新版)>是由C语言的设计者Brian W.Kernighan和Dennis M.Ri ...
- 使用Optional摆脱NPE的折磨
在目前的工作中,我对Java中的Stream和Lambda表达式都使用得很多,之前也写了两篇文章来总结对应的知识. 024:Java流实现Shell:cat 1.log | grep a | sort ...
- 满足高密度设备存储需求 一颗ICMAXLPDDR4X 8GB就行
通讯技术在当代无疑更新越来越快速,随着5G时代即将到来,对通讯的设备的要求也将提出更高的要求.具备AI功能的硬件设备将普及化,其智能化程度也将越来越高,同时对手机等智能移动设备的内存容量和带宽也提出了 ...
- C程序中文标点惹的祸,你可长点儿心吧
想必你在编程时,即使写了一个很小很简短的程序,本以为编译一定不会有问题,自信满满,结果编译完了,编译器 给了几个大大的error,比如:error C2018: unknown character'0 ...
- Mysql常用语法及入门开篇(一)
数据:信息,记录.阅读: 数据库:数据的仓库,存储许多的数据(信息).按照数据结构来组件.存储和管理数据的,建立在计算机存储设备上的仓库. DBMS: database management Sy ...
- CentOS 7.3 安装python3
1.排查 CentOS 7.3 默认安装的是python2,使用命令 python -V 可以看到 python 的版本 Python 2.7.5 然后使用命令 which python 查看一下Py ...
- 实现一个代码自动生成(一):模板引擎Freemarker
目录 前言 模板引擎FreeMarker 前言 在现在的开发当中,代码生成已经是必不可少的一个功能,每个公司都会有自己的一套定制的项目骨架,而实现代码自动生成,模板引擎是必不可少的,所以在这篇博客中, ...
- xpath路径的写法
关于xpath路径的写法 1.选取节点 表达式 描述 nodename 选取此节点的所有子节点. / 从根节点选取. // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置. . 选取当前节点 ...