SylixOS USB总线原理浅析

1. USB总线的工做原理对象

1.1 USB总线的硬件接线接口

如图 1.1和图 1.2所示,USB接口只有4条线:VCC,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全速或高速设备。文档

                          

图 1.1 USB全速(高速)设备硬件接线图原理

                            

图 1.2 USB低速设备硬件接线图硬件

1.2 USB设备获取设备信息过程请求

如图 1.3所示,当PC机检测到有USB设备插入后,会主动向设备发送命令包,请求设备的设备信息。设备必须向PC机回复设备的信息(以描述符形式)。程序

                                                   

图 1.3 USB设备获取设备信息过程im

2. USB总线的一些概念通信

USB结构类型是主从结构。全部的USB传输,都是从USB主机方发起。例如:USB鼠标滑动一下马上产生数据,可是它没有能力通知PC机来读取数据,只能被动地等待PC机读取它的数据。
USB传输速度有:低速1.5Mbps(USB1.0协议)、全速12Mbps(USB1.1协议)、高速480Mbps(USB2.0协议)和超高速5Gbps(USB3.0协议)。
USB的传输类型:
控制传输:可靠,时间有保证,好比:USB设备的识别过程;
批量传输:可靠,时间没有保证,好比:U盘;
中断传输:可靠,实时,好比:USB鼠标;
实时传输:不可靠,实时,好比:USB摄像头。
USB传输的对象:端点(endpoint)
每个端点都有传输类型和传输方向。所谓的"读U盘"、"写U盘",能够细化为:把数据写到U盘的端点1,从U盘的端点2里读出数据。除了端点0外,每个端点只支持一个方向的数据传输。注意:端点0用于控制传输,既能输出也能输入。术语里、程序里说的输入(IN)、输出(OUT)都是基于USB主机的立场说的。好比鼠标的数据是从鼠标传到PC机,对应的端点称为"输入端点"。
全部USB通讯数据的来源和目的都是基于端点。每一个USB设备最多包含16个端点,注意:3(IN)和3(OUT)是两个不一样的端点。
 
3.免责声明数据

内部交流文档,若发现相关错误或者建议,请及时联系文档建立者进行修订和更新。

相关文章
相关标签/搜索