自供电的USB设备是否必须从主机端口连接到VCC?


18

自供电的USB外设提供自己的电源,因此可以仅将D +,D-和GND连接到主机端口,还是总是必须连接+ 5V,然后等待设备的协商阶段告诉主机它是自供电的,因此不需要任何电源,非常感谢。

我正在查看的特定外设基于FTDI FT4232H USB到串行适配器,但我确实希望能对此问题有一个通用的答案。


1
FTDI在其数据表中有很多应用笔记和信息。你在那里看了吗?
Gustavo

FTDI数据表ftdichip.com/support/Documents/DataSheets/ICs/DS_FT4232H.pdf显示了通过电阻桥连接到RESET#的VBUS,因此(大概)拔下USB电缆会导致设备重置(如果设备是由总线供电的,则,显然,拔下USB电缆会完全切断设备电源!)。但是问题是,VBUS上的负载对USB主机意味着什么,是否由于使VBUS n / c丢失而导致USB握手中的某些负载不足?
kbro

USB通常不知道是否有任何连接。除非您拉出的电流超过100mA,否则无法确定是否连接了任何东西。
古斯塔沃·利托夫斯基2013年

@GustavoLitovsky,实际上,USB主机根本无法区分从其端口汲取的无电流还是100 mA电流。USB规范中定义的唯一方法是发生过电流(超过500或900 mA)时。但是,可以使用额外的电路和额外的GPIO引脚来设计一切。
Ale..chenski,

Answers:


7

这个问题的一般答案是肯定的,即使设备是自供电的,也必须将VBUS(电缆的+ 5V)连接到设备。原因如下:

要在主机端启动连接过程,设备必须上拉D +(在FS / HS模式下)或D-(在LS设备下)。

但是,USB规范有一项强制性要求,除非USB设备连接到电缆,否则任何USB设备都不应在任何接口引脚上提供任何电流,请参阅第7.1.5.1节,该内容如下:

拉电阻电压源必须来自USB电缆上的电源或由其控制,以便在移除VBUS时,上拉电阻不会在其所连接的数据线上提供电流。

如果USB设备没有此控件,则数据线之一将成为电流源。过早断言上拉是某些旧版USB主机出现问题的根源。这就是为什么要制定此规则的原因,并且USB-IF认证程序对此进行了特殊测试

因此,USB VBUS是USB连接协议中重要的“边带”信号。因此,普通的USB设备IC确实具有单独的输入引脚以检测USB主机的存在。一些IC制造商(例如FT232H,MCP2221等)跳过了此要求,假设他们的芯片将仅用于总线供电的配置中,在该配置中自动满足上拉控制要求。但是,在将这些芯片设计为自供电设计时,需要付出额外的电路努力才能将上拉功能与USB端口上存在VBUS相联系。

关于USB连接“握手”协议,USB不依赖于从VBUS汲取的电流。协议是这样的:主机端口必须激活VBUS;VBUS已连接到设备;设备看到VBUS,并在D + / D-导线之一上拉1.5k;主机看到此连接,并在100ms延迟后断言USB_RESET信号(SE0等)。


18

使用自供电设备时,请勿将其5V连接到主机的5V,您可能会烧坏两个电源。GNDD+D-会很好。

你要知道的是水平D+D-额定为+ 3.6V最大,而不是5V正如您所料!


5
但是,值得监视VBUS以检测断开/连接状态,因为USB的初始协商涉及D +和D-的上拉。我们曾经遇到过这样的问题:除非您观察到VBUS,否则根据自供电集线器和自供电设备的开启顺序,集线器无法正确枚举设备。解决方案是在VBUS上使用一个分压器来处理它。
Jxj 2013年

1
出于同样的原因,上拉电阻(应通知主机已插入设备并确定其初始速度)应参考VBUS,而不是设备的本地电源。
戴夫·特威德

1
-usbmadesimple.co.uk/ums_2.htm上的“自供电设备”标注框也是如此-请勿将D +或D-拉到VBUS上方。更有趣的是,当VBUS关闭时,请勿驱动D +或D-。FT4232H数据表ftdichip.com/support/Documents/DataSheets/ICs/DS_FT4232H.pdf显示了VBUS连接到RESET#的情况,这与“ VBUS断开时不要驱动”相关联,但是似乎没有确保复位时D + / D-始终低于VBUS。我认为关于复位的全部要点是D +高于或低于D-,而不是接近VBUS。
kbro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.