详解USB总线工作原理

时间:2019-07-27
  一、问:当一个USB设备插入PC机,PC机怎么知道有设备插入?
  答:如图1-1和图1-2所示,USB接口只有4条线: VCC(5V),GND,D-,D+。 PC机的USB插孔的D-和D+数据线均连接15K欧姆的下拉电阻。而USB设备端的D-或D+数据线连接1.5K欧姆的上拉电阻。当设备插入PC机的时候,会将PC机的D-或D+端的电压拉高,当PC机在D-或D+端检测到高电平时,就知道有设备插入了。如果是PC机D-端被拉高,接入的则是USB低速设备;如果是PC机D+端被拉高,接入的则是USB全速或高速设备,具体是全速设备还是高速设备,会由PC机和USB设备发包握手确定。
   二、问:当USB设备插入后,PC机 会提醒我们“某某设备接入”,PC机怎么知道我们插入的设备的信息的呢?
  答:如图2-1所示,当PC机检测到有USB设备插入后,会主动向设备发送命令包,要求设备告诉PC机,设备信息。这时设备必须向PC机回复自己的信息(以描述符形式)。明确一点:USB设备不会主动给PC机发数据,只能被动的等待PC机来拿。
   三、问:PC机上接有非常多的USB设备,怎么分辨它们?
  答:每一个USB设备接入PC时,USB总线驱动程序都会给它分配一个编号,接在USB总线上的每一个USB设备都有自己的编号(地址)。PC机想访问某个USB设备时,发出的命令都含有对应的编号(地址)。
  四、问:USB设备刚接入PC时,还没有编号;那么PC怎么把“分配的编号”告诉它?
  答: 新接入的USB设备的默认编号是0,在未分配新编号前,PC使用0编号和它通信。
  五、其他一些概念
  1、USB是主从结构所有的USB传输,都是从USB主机这方发起;USB设备没有“主动”通知USB主机的能力。例子:USB鼠标滑动一下立刻产生数据,但是它没有能力通知PC机来读数据,只能被动地等得PC机来读。
  2、USB传输速度有:低速1.5Mbps(USB1.0协议)、全速12Mbps(USB1.1协议)、高速480Mbps(USB2.0协议)和超高速5Gbps(USB3.0协议)。
  3、 USB的传输类型:
  a. 控制传输:可靠,时间有保证,比如:USB设备的识别过程
  b. 批量传输: 可靠, 时间没有保证, 比如:U盘
  c. 中断传输:可靠,实时,比如:USB鼠标
  d. 实时传输:不可靠,实时,比如:USB摄像头
  4、所有USB通信数据的来源和目的都是基于端点,每个USB外设只有一个地址,多包含16个端点,注意:3.(IN) 和3.(OUT)是两个不同的端点。
  5、USB传输的对象:端点(endpoint)
  每一个端点都有传输类型,传输方向。我们说“读U盘”、“写U盘”,可以细化为:把数据写到U盘的端点1,从U盘的端点2里读出数据。除了端点0外,每一个端点只支持一个方向的数据传输。注意:端点0用于控制传输,既能输出也能输入。 术语里、程序里说的输入(IN)、输出(OUT) “都是” 基于USB主机的立场说的。比如鼠标的数据是从鼠标传到PC机, 对应的端点称为“输入端点”。
上一篇:如何选择汽车LED驱动器
下一篇:各类常用温度传感器的优点和缺点分析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料