在evm开发板中,TPS2051作为一个电源开关,受控于USB_DRVVBUS,对5V和VBUS之间实施通路断路。USBVBUS是由usb phy控制其逻辑电平高低。但是在我们二次开发的时候,没有考虑到drvbus和VBUS这两个管脚,而是采用了传统的接线方法,将usb 接口的1脚直接接到了5V。D+ D-和GND都连接正确。将cpu的USB_DRVVBUS和VBUS两个管脚均悬空了。请问,如果我不采用TPS2051,那么能否通过修改驱动的方式,使AM335x的usb phy默认工作在host模式?(OTG功能我们也不用)谢谢
Jian Zhou:
如果是想设置为OTG,那么电路设计一定要按照参考板原理图设计,请参考:
http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#USB
wayne2:
回复 Jian Zhou:
您好,我并不想使用OTG功能,我只想使用它作为host,所以把VUSB_DRVVBUS 和VBUS都悬空了,但是现在插入usb优盘不识别
Jian Zhou:
回复 wayne2:
对不起,我说错了,如果想设置成HOST功能,必须按照我上面发的那个链接做设计,DRVVBUS和VBUS都不能悬空的
Gino E:
回复 Jian Zhou:
你好,
VBUS是识别USB工作模式的一个检测脚,所以不能悬空,必须要接到你的USB口的VBUS上面,或者如果你是只做HOST模式,你可以直接接到5V。
wayne2:
回复 Gino E:
多谢回复,我现在已经将VBUS接到了5v,但是还是不通,应该是usb_drvvbus管脚还没有处理的缘故吧?目前该引脚是悬空,我看过AM335x的TI 维基,上面有说usb_drvvbus需要接到VBUS的使能源上,也就是TPS2051,所以我做的悬空处理是不行的吗?
我的问题是,如何不接TPS2051也能让usb模块工作?
Gino E:
回复 wayne2:
你好,
你的ID脚是如何处理的,有直接拉地么?
方便的话,可否把usb部分原理图贴出来
wayne2:
回复 Gino E:
ID脚接地,CE VBUS DRVVBUS均悬空,接口部分电路图如附图
Gino E:
回复 wayne2:
你好,
还需要AM335x USB部分的电路图。
无论如何,主要有以下几点,
1. 我们是建议使用TPS2051,这样符合AM335x USB的工作流程。
2. 如果不使用TPS2051,而且只需要作为HOST模式。那你必须满足两点,ID脚接地 & USB上的VBUS管脚接到5v左右的电压(电压不能低于4.4V,否则会有bus error)。这样USB模块在进入kernel初始化后会进到HOST模式。
3. 软件上也可以通过 echo H > /proc/driver/musb_hdrc.0 命令将USB0口强制工作在HOST模式 (我假定你使用的是LINUX系统)
Jian Zhou:
回复 Gino E:
其实用VBUS_DRIVE控制一个导通开关也可以,可以省掉TPS2051
LE chen1:
回复 Gino E:
目前我们使用的是AM335X wince7 ,我们的板子已经满足ID 接地,已经VBUS接5v电源,但是目前出现问题,插着u盘启动时,wince无法识别到U盘,但是如果系统起来后,再去插入U盘,那就能正常识别,麻烦指点下,驱动需要如何修改,才能解决这个问题