一次涉及emc的debug过程
(注:本文转自作者的EETOP BLOG)
用座机打电话,当旁边的手机有短信或者来电时,座机会提前嘟嘟嘟的响。一般查资料会认为这是手机的辐射干扰到了座机,专业术语叫emi/emc,i对于发射,c对应接收。
虽然对这个现象早已熟悉,对这个原理也看了一些书籍,但真正碰到要解决的时候,还是兜了个大圈子。
前一阵做一颗芯片,旁边一打手机,芯片的输出也是会附带“来电显”。同样类似功能的芯片就没这个问题。因此作为一个bug开始抓虫过程。
先是有先锋官去不管三七二十一的实验。他先根据现象,反推受干扰的pin,然后用示波器观察,的确看到这个pin上有脉冲跟随手机拨号过程。很显然这是一个emc过程。这个pin是一个比较器的输入,为了防止干扰在外部还有一个小电容滤波。作为实验,我们增大了电容,效果更差,而减小电容效果更好。最后他的结论是应该把电容去掉。
但是我们的常识是电容是为了滤波用的,所以这里有严重的实践与理论偏离。
我也是从干扰从空间电磁辐射传来出发的。不过仅仅这点理论储备似乎显得不足,电路板上的各个环路会引入什么样的干扰,似乎基础知识都还回去了。于是先做实验,用示波器在各处看波形,希望能直接看到在哪个回路引入了干扰。另一方面就是把pcb进一步简化,看哪个回路去除后就好转。没想到这个实验方法把我们引入了歧途。经过几天的排除法,我们似乎看到了引入干扰的回路。但顺着这个思路继续,做出一个毫无意义的结果:芯片放在那里,就能看到pin上的干扰波形,与pcb回路无关。这简直是出乎意料,难道是芯片内走线有问题?最后我直接用示波器观察一个导线,发现同样有干扰波形。结论就是示波器本身引入了新的干扰回路。这有些像量子力学了。所以接下来是不能用示波器这里看来看去了,只能从芯片表现来猜测干扰的大小。(根据许多文献的记载,需要把示波器的接地线去掉,换一个自制的局部接地线就可以避免这个问题)
刚才说了,输入pin有一个电容。这个电容的地没直接和芯片地连接,而是在电源输入处实现星形连接。从这个事实出发,我飞了一根线把这两个地连起来,然后断开原来的走线。芯片的表现有所不同。但是由于这个干扰源本身就不可靠,所以没法直接认定这个方法是对的。从理论出发,这时我才想通了干扰是从地回路引入的:两边的地在输入连接,然后一头去了电容,达到比较器的输入,比较器的输入另一端参考相当于芯片地,又走另一根线去了输入。当有辐射时,等于在这个回路里引入了一个电压源,电压源除以整个回路的阻抗形成电流,然后根据不同位置的阻抗决定了各处的电压。那么解决办法一种是减小回路面积,这已经通过实验确认。另一种是改变这个回路的阻抗。去除电容,等于在高频下增加了阻抗,那么另一种就是增加电感,于是我给这个地方加了个磁珠,也起到了效果。再一种方法就是改变pcb,减小回路面积。在新改的pcb上,也确实验证没有问题。至此,这个问题基本算解决了。不过还是留下了一些技术问题需要进一步思考。