2、USB接口
一、种类,连接,连接检测
usb2.0:标准TypeA ,标准TypeB,都是4线
miniA,miniB,常用的有4线,也有5线
连接线 TypeA–TypeB
TypeA–miniA
TypeA–miniB
usb的D+D-,除了传输数据外,还兼有主机host来检测是否有外部设备接入的功能
无设备时,D+和D-都是0V
如果D+被拉高3.3,那么,接的外部设备是高速设备
如果D-被拉高3.3,那么,接的外部设备是低速设备
5线mini usb2.0中,多的那根线ID,是用来判断是否启动OTG的
如果ID线检测到悬空,那么自己当从设备,接受外部供电和控制
如果ID线检测到被拉到GND,那么自己当主host,向外供电,并读从设备数据
二、协议规范
三、D+,D-处要接上拉下拉电阻呢,具体阻值
① 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拉低
>>https://blog.csdn.net/houyichaochao/article/details/80539057
//暂时写到这,22:40多了,先做点别的
< 2021726
https://blog.csdn.net/qq_38960810/article/details/83831918
https://blog.csdn.net/weixin_42005993/article/details/100046714
https://www.zhihu.com/question/28081066
>