USB2.0协议学习笔记---基本概念
概念
USB是一种串行通信总线(Universal Serial Bus),经历的版本有USB1.0,USB1.1、USB2.0等。USB是一种主从模式的结构,因此它无法在设备与设备。主机与主机之间互连进行数据交换。直到USB OTG的出现,它通过在不同场合下将身份切换,从而做到主从分时共存一个设备中。
| 版本 | 低速(LS) | 全速(FS) | 高速(HS) |
| USB 1.0 | 1.5Mb/s | 12Mb/s | 不支持 |
| USB 1.1 | 1.5Mb/s | 12Mb/s | 不支持 |
| USB 2.0 | 1.5Mb/s | 12Mb/s | 450Mb/s |
USB的优点想必用过的人都有所体会。比如即插即用,接口标准统一,扩展性好。。。 USB是一种主从结构的工作模型,主机叫HOST,从机设备叫DEVICE,一个USB主控制器就是可以一个HOST,他可以同时连接127个设备。USB的另一个优点就是极少的链接电缆线,现在常见的USB设备大多数都是仅需要4个线就可以进行快速的数据交换传输,标准USB有4根线缆 :5V Vbus、差分数据线正D+、查分数据线负D-、最后是地线。USB OTG中又增加了一条身份识别的ID线。且在USB低速和全速传输过程中采用的是电压传输模式,到了后来的2.0的高速模式采用了电流驱动传输模式。
USB的设备接入检测机制
主机端在两条差分线上各接了一个15k的下拉电阻,因此在没有设备接入是D+ 和D-就都是低电平。而在设备端会通过将D+或者D-上接一个1.5k的上拉电阻,具体接在那条线上根据设备的速度决定,低速设备接在D-线上,高速和全速设备接在D+上。因此当设备通过USB接口接入主机端时就会有一根差分数据线会在两个电阻的作用下将一条差分数据线电平钳位到3V左右,主机端将检测出这一状态就认为有设备接入了。
USB 描述符与USB的关系
USB只是一种串行通信总线,提供了数据通路在设备和主机之间,主机要区分不同的设备都有什么样的功能同时获取设备的相关信息,这些信息就在描述符中进行定义,为了方便并标准化USB的描述符,USB标准定义了一系列的描述符,有设备描述符(Device Descriptor)、配置描述符(Configuration Descriptor),接口描述符(Interface Descriptor)、端点描述符(End-point Descriptor)、字符串描述符(String Descriptor)、特殊类描述符(class Descriptor)等。这些描述符就是USB标准中指定的一些用来定义USB设备的特性功能的一些profile。

设备描述符
每个USB设备只有一个设描述符下面是USB描述符的结构,它长度固定为18个字节。设备描述符主要记录的信息有:USB协议版本号、设备类型、端点0的最大包长、厂商ID(VID)、产品ID(PID),设备版本号,厂商字符串索引,产品字符串索引,设备序列号和可能的配置数等。
配置描述符
配置描述符主要记录的信息有、配置所包含的接口数,配置的编号,供电方式。是否支持远程唤醒,电流需求量等。
接口描述符
接口描述符主要记录的信息有接口的编号,接口端点数、接口所使用的类、子类、协议、等。
端点描述符
端点描述符主要记录的信息有、端点号及方向、端点的传输类型,最大包长度、查询时间,间隔等
字符串描述符
字符串描述,服务主要是提供一些方便人们阅读的信息,但不是必须。
USB主机在检测到USB设备接入之后就会开始枚举,这个过程后面在仔细研究。现在我理解的意思就是开始和USB设备协商,相互了解,了解的途径就是向USB设备要各种“证件”信息(描述符),从这些证件信息就能知道接入的USB设备是谁,他能干什么活,他的名字和身份证号等信息,等USB主控制器查完所有证件后他就会接受一个USB设备到他的门下,然后给USB设备分配一个7比特的学号,以后就叫学号点名“做题”了。这就是USB描述符的作用,USB设备就是靠这些描述符定义功能等特性的,后面在逐个详细介绍描述符的组成和意义。
参考:《圈圈教你玩USB(第二版)》
2019-05-29 22:24:11
USB2.0协议学习笔记---基本概念的更多相关文章
- USB2.0协议学习笔记---USB数据包结构
USB包类型和传输过程 USB是一种串行总线,因此数据都是一位一位传输的,如同串口那样,但是USB在真实物理电路上却不是TTL电平,而是一种差分信号采用NRZI编码,就是用变化表示0,不变表示1,同 ...
- USB2.0协议学习笔记---描述符
USB设备描述符 字段名 长 度(字节) 地址偏移 含 义 bLenth 1 0 描述符长度 bDescriptorType 1 1 描述符类型 (这里为 1) ...
- USB2.0协议学习笔记---USB工作过程(类的方法)
前面学习了那么多的概念,这里需要记住一点分层概念即设备 ---> 配置 ---> 接口 ---> 端点,这种分层的概念结构 . 也可以理解为端点构成接口,接口组成配置,配置组成设备. ...
- usb2.0 规范学习笔记
1.一个USB HOST 最多可以同时支持128 个地址,地址0 作为默认地址,只在设备枚举期间临时使 用,而不能被分配给任何一个设备,因此一个USB HOST 最多可以同时支持127 个地址,如果一 ...
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- HTTP协议学习笔记(一)
HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定 ...
- HTTP协议学习笔记(二)
HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. H ...
- jQuery学习笔记之概念(1)
jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...
- Java IO学习笔记:概念与原理
Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...
随机推荐
- 解决JS获取中文参数出现的乱码问题
在代码中增加如下js函数: function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + " ...
- css animation @keyframes 动画
需求:语音播放动态效果 方案:使用如下图片,利用 css animation @keyframes 做动画 html <span class="horn" :class=& ...
- Linq.Expressions扩展ExpressionExtension
手上有一个以前项目用到的.NET工具类封装的DLL. 正好又想试一下动态LAMBDA表达式,用.NET Reflector看一下源码. public static class ExpressionEx ...
- yoctoproject 地址
第一次接触到yoctop. 在这里分享yoctoproject地址 https://www.yoctoproject.org/docs/2.3.3/ref-manual/ref-manual.html ...
- TCP 延迟
https://mp.weixin.qq.com/s/fKWJrDNSAZjLsyobolIQKw 直击案发现场!TCP 10倍延迟的真相是? 原创 蛰剑 阿里技术 2019-11-01
- 前置时间(Lead Time),也称前置期、备货周期
https://wiki.mbalib.com/wiki/前导时间 什么是前导时间 所谓的前导时间(leading time),就是产品从设计,到生产.物流.销售的过程. BELLWETHER:&qu ...
- dotnet .NET
小结: 1.一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序. Microsoft .N ...
- java画海报二维码
package cn.com.yitong.ares.qrcode; import java.awt.BasicStroke;import java.awt.Color;import java.awt ...
- automake的简单使用
https://blog.csdn.net/zhengqijun_/article/details/70105077 xxxxx https://blog.csdn.net/initphp/artic ...
- 四:Spring Security 登录使用 JSON 格式数据
Spring Security 登录使用 JSON 格式数据 1.基本登录方案 1.1 创建 Spring Boot 工程 1.2 添加 Security 配置 2.使用JSON登录 江南一点雨-Sp ...