USB的over-current 问题总结

 

基于8148调试 USB1接口时发现,接口一直不能扫描到外围的设备花了很多时间查找,特此总结

1.usb的drvvbus一直输出为低没找到原因。

2.查看内核的打印信息发现一直会报告:

“hub 2-0:1.0: over-current change on port1”

按照FAE的通过命令设置USB1为host模式:echo

F”>/proc/driver/musb_hdrc.1,发现每次执行都会报告

“hub 2-0:1.0: over-current change on port1“。

3.查看手册没看到芯片如何做过流检测的,如何触发的,特意找了一块8168的板子发现也是usb1报告有问题,可实际上这个接口那个板子都没引出。还好有ti的demo板,同样的kernel测试demo板没有这样的问题!!

4.到此判定了一定是我们的硬件设计问题了,重新看手册,

 

原来是USB作为host时也需要使用USB_VBUS_IN信号,不是作为slave才需要的,8148的板卡没接这个管脚。找8168板卡测试了分别断开和连接上vbusin,果然连接后USB正常。断开后就报告over-current问题!!!

总结:vbus_in是芯片作为是否过流检测的依据之一,需要连接!!!

粽子糖果 发表于08-28 09:23 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

粽子糖果
粽子糖果(总统)
金币:41631个|学分:51991个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号