STM32F105配置为USB设备时
不知怎么转过来。所以复制了过来。
版权声明:欢迎转载! https://blog.****.net/houyichaochao/article/details/80539057
① usb有主从设备之分,主设备有:pc, 现在市面上的那些插u-disk即可播放mp3的“mp3”之类的,
usb 信号是差分信号,信号线为D+, D-,。 在usb host 端, D+,D- 各接一个15kohm 的下拉电阻, 而在usb device端,这时就有高速低速设备的区别了。usb1.0, 1.1,2.0协议中都有定义高低速设备以满足不同情况的需求,这些在硬件上的区别就是: 高速设备:d+ 接一个1.5kohm的上拉电阻,d-不接;低速设备则相反。
这样当usb device 插入到host中时,如果是高速设备, 则d+被拉高,d-不变;低速设备则与之相反。 这个上拉过程需要大概2.5us的时间,host这这个时间内便检测到了该信号,即可判断有device plug in,和该device的类型,然后开始通讯,枚举。。。等。
② USB OTG(on the go) 就是既可以做host又可以做client
我们一般是作为client接受pc传输数据,作为host时可以接打印机直接把手机中的照片打印出来
判别是host还是client是靠USB_ID这根pin
当作为client时,USB_ID基本是悬空的(内部有上拉)
如果侦测到USB_ID被拉低,就被认为是作为host,向外输出
所以需要外部client设备把USB_ID拉低
---------------------
作者:houyichaochao
来源:****
原文:https://blog.****.net/houyichaochao/article/details/80539057
版权声明:本文为博主原创文章,转载请附上博文链接!
==========================================================================================================信息来源于网络===================================================
当STM32F105配置为USB设备时, PA9/OTG_FS_VBUS是用来检测presense USB主机的。意法半导体设计评估显示PA9/OTG_FS_VBUS引脚通过一个零欧姆电阻连接到5 VBUS 。有这种方法有两个潜在的问题。该第一电势的问题是, PA9/OTG_FS_VBUS输入,虽然它是5V容限,可能损坏(如每ST支持)如果连接到5V时的STM32F105 VDD为0V。这可能发生在两个自供电和主机供电的应用。当电源关闭/拔出,而USB连接到主机仍处于活动状态,这将发生在一个自供电的应用。这将发生在一个主机供电应用过程中所花费的VDD稳压器来达到它的稳压输出电压所需的时间。一些设计师建议之间的PA9/OTG_FS_VBUS引脚和5V VBUS串联电阻。
1、Vcc脚会与主机的5v电源接通。子机这边可以悬空,也可以做供电,还可以做连接识别(电阻分压之后高即为连接主机)。
2、上拉电阻存在D+上拉或者D-上拉两种情况,告诉主机当前的USB通信速度,FS或者HS。
3、电阻接IO上拉,往往是子机为了实现自我复位,通知主机重新识别,效果等同于拔掉USB接头重新插入一次。