产品概况
也许你会以为我做的是USB WIFI的Linux驱动修复。然而事实上,我面对的却是像三星Note7那样的挤压后短路的硬件BUG。
小伙伴们放心,这次没炸。。。。
测试过程中,我先只连上了DC供电线。
USB-OTG线我先不接到电脑上,因为要等分析过USB电源部分的原理图后才能知道是否可以同时两个开关电源一起接入。
RK3066开机后,我发现了一个惊人的
小问题,USB 无线网卡没有被识别,并且USB接口
严重发烫。
我把USB无线网卡拆下
晾凉后插到我的笔记本上,发现这个USB WIFI模块可以在我的笔记本上正常使用。模块的芯片型号也正确识别了。
难道是板子的USB口线序坑爹了?不应该啊!!!这种量产的板子不可能出这种低级错误。
于是我打开了原理图开始分析供电。
首先是DC 的5V,通过一个3A保险丝连到VSYS,这个没毛病。
VSYS与VCC-USB通过一个0欧姆电阻直连。4个USB口是通过一个USB hub分出。USB接口的线序正常,接口外壳接地,没毛病。
下面再看看USB-OTG接口。word亲娘的七舅姥爷啊!怎么VCC-USB直接连到这儿了!
其实开源的电源管理方案也挺多的,为什么不抄一个呢?
大伙儿看看这个arduino的电源切换原理图怎么样。
你抄,或是不抄。开源方案就在那里。不悲,不喜。
通过上面的分析,我们可以发现:
1、板子的USB接口原理图没什么毛病;
2、USB供电是5V,也没毛病;
3、电源设计虽有不妥,但不是导致USB接口严重发烫的主要因素。
那么问题到底在哪里呢?
我这时候已经懵逼了。。。
我们回过头来,再查看一下板子的线路板吧,焊点好像也都正常,没毛病。
那么问题只可能出在那个USB无线模块了。
要检查这个USB无线模块,就必须把它的USB铁壳取下。
框架是ABS树脂的,这是种耐高温的工程塑料,外观上竟然也有些变形了。说明当时插上时候的温度不低。这么高的温度怎么产生的?
我们看看图中这个贴片电容(图中红色箭头),它的高度略高。
当USB接口的另一侧触点受到挤压时,它会被推向铁壳。它两端的触点的焊锡高度又比电容本体高一些。所以,一旦这个电容碰到USB接口铁壳,它就会被短路。这个电容,是模块USB供电的稳压电容,两端电压有5V。
理论上分析,造成这个USB不识别的因素就是这个电容被短路,模块没有足够电压供电。这个电容被USB铁壳短路时,因为接触的电阻不是0,所以短路电流并不是太大,虽然发烫了,但模块应该还是好的。
我对这个模块做了修复。修复原理很简单,用一个透明胶,贴在线路板上,让这个电容与USB接口铁壳绝缘。
为什么一拿到手,第一次装上时会剧烈发烫?
这是产品问题,也是代工工厂的态度问题。
这儿我就不吐槽我们国家制造业的设计水平和品控了。
至于为什么插我笔记本上就没事,分析是我笔记本USB接口的弹簧触片的弹性小,刚好差那么个零点零几毫秒,没让那个电容挤压到铁壳。
最后,还是祝愿我们国家的电子制造业奋发图强,打出像苹果那样成功的品牌。
原创作品,未经权利人授权禁止转载。详情见转载须知。