TI论坛
直播中

李海洪

7年用户 183经验值
私信 关注

连续热插拔连接在am3352处理器USB接口上的4G通信模块,出现无法识别4G模块的问题,请问这是为什么?如何解决?

本帖最后由 一只耳朵怪 于 2018-6-21 08:47 编辑

在使用am3352的USB接口时遇到了一个很奇怪的问题,我将am3352的两个USB接口(USB0、USB1)都配置为了host,USB1接口连接一个4G模块,上电启动时,am3352能识别USB1接口上的4G模块,但每次都会打印ti81xx_interrupt 1145: VBUS error workaround (delay coming)提示。我们用示波器抓取了下4G模块热插拔时USB1_DRVVBUS(蓝色线)和USB1_VBUS(黄色)引脚的电平变化,如下图所示:

USB1接口上没有接任何设备时,USB1_DRVVBUS(蓝色线)和USB1_VBUS(黄色)都为高电平,当此时把4G模块插上时,USB1_VBUS上的电压会立即下降,这个我理解的是可能是由于4G模块连上时瞬间需要一个大电流,此时造成了USB1_VBUS上的电平拉低了,这个时候USB host会出现一个VBUS中断,也就是会打印ti81xx_interrupt 1145: VBUS error workaround (delay coming)提示,这个不知道理解的对不对?
另外,我们在做USB的极限测试时,当我连续多次热插拔4G模块后,有两种会出现USB接口无法识别4G模块的情况,当出现无法识别4G模块时,我们用示波器测量USB1_DRVVBUS和USB1_VBUS的电平,发现两者都为高,这个时候只有重新热插拔一次4G模块,USB接口才能识别4G模块;另一种情况就是USB1_DRVVBUS和USB1_VBUS的电平用示波器测得都是低电平,这个时候无论你怎么热插拔4G模块,USB接口都不会识别,只有断电重启或复位系统后才能够识别。连续热插拔为什么会出现这两种奇怪的现象呢?有没有解决的方法?

回帖(6)

罗兰君

2018-6-21 00:43:07
首先请确认下USB OTG做Host时的原理图设计部分:
http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#USB
举报

李海洪

2018-6-21 00:55:19
引用: 344868615qq 发表于 2018-6-21 00:43
首先请确认下USB OTG做Host时的原理图设计部分:
http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#USB

谢谢您的回复,按照您给的链接,我比对了下我们的电路设计,我们的原理图设计没有问题。我现在的想法是遇到上面的问题可不可以用软件的方法让u***控制器复位重启,怎么设置才能实现在用户态控制u***控制器重启呢?谢谢!
举报

罗兰君

2018-6-21 01:09:55
引用: 滔滔不绝的滔滔 发表于 2018-6-21 00:55
谢谢您的回复,按照您给的链接,我比对了下我们的电路设计,我们的原理图设计没有问题。我现在的想法是遇到上面的问题可不可以用软件的方法让u***控制器复位重启,怎么设置才能实现在用户态控制u***控制器重启呢?谢谢!

USB做为HOST的时候,应该是USB_VBUS_DRV控制USB_VBUS的enable,在不接USB外设的时候,应该是USB_VBUS为低电平才对。
看你的描述,不接USB外设,USB_VBUS为5V电平,这个应该是有问题的。
举报

李海洪

2018-6-21 01:16:56
引用: 344868615qq 发表于 2018-6-21 01:09
USB做为HOST的时候,应该是USB_VBUS_DRV控制USB_VBUS的enable,在不接USB外设的时候,应该是USB_VBUS为低电平才对。
看你的描述,不接USB外设,USB_VBUS为5V电平,这个应该是有问题的。

我又确认了下确实是没接USB外设的时候,USB_VBUS和USB_VBUS_DRV都为高电平,我们的电路设计是这样的:



USB0_VBUS和USB1_VBUS是USB_VBUS,使能引脚USB0_DRVVBUS和USB1_DRVVBUS都连接了下拉电阻,在没插入USB外设时,测得U26芯片的1和4引脚都为高电平,5和8引脚也为高电平。按照您说的应该为低电平才对,这个硬件电路有没有问题?要是软件的原因的话,我修改软件的哪部分能够实现低电平呢?另外,软件部分修改哪部分可以实现u***控制器的复位?谢谢。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分