kevinc

主攻ZYNQ及RTOS开发,关注Flash存储

USB接口是否需要上拉电阻

0
阅读(6842) 评论(0)

经常在一些开发板上看到USB接口的D+/D-线上接上下拉电阻,有的则什么都不接。对这点比较困惑。

在USB协议的官网上,http://www.usb.org/developers/docs/usb20_docs/#usb20spec

查看了resistor_ecn文档。

blob.png

首先USB总线也会有idle状态和transmit态。

在刚开始的时候usb host会检测总线的状态,如果都为低则说明暂时没有device请求接入。所以host侧才会有两个下拉电阻默认设置为idle态。

而D+/D-上的上拉电阻则是来指明usb device是low或full/high设备。D+上拉说明是full/high设备,D-上拉说明是low设备。

上下拉的阻值有个比较大的范围,spec上有详细说明。一般都习惯host的下拉是15K,device的上拉是1.5K,精度5%。但是也有些设计为了提高信号质量,会在末端做戴维南匹配,device侧也会有下拉。

上拉到3.3V电平,范围是3.0V~3.6V。如果有戴维南匹配的话,下值可以到2.7V。也可以用7.2K电阻上拉到5V电平。好像最新的规范都修改到下值2.7V。

当D+/D-线上高电平消失超过2.5us,则总线释放device进入idle状态。

设计中都会直接上拉的3.3V电平,也有的使用三极管或mos串电阻来控制状态。我打算直接用一个stm32的IO来控制这个电平。


这有一篇非常好的研究文档:https://wenku.baidu.com/view/98d223156c175f0e7cd13766.html?re=view

“USB设备端上拉电阻功能研究”


Micro USB Receptacle 母座(正视左边是pin1)

blob.png

Plug公头(公头母座都有AB两种类型)

blob.png

blob.png

Pin

名称

线的颜色

描述

1

VBUS

Red(红)

电源正5 V

2

D−

White(白)

数据线负

3

D+

Green(绿)

数据线正

4

ID

none(无)

支持OTG功能

A:接地,host

B:悬空,device

5

GND

Black(黑)

信号地线


Low-Speed(1.5Mb/s),Full-Speed(12Mb/s),High-Speed(480Mb/s)