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将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...
随机推荐
- Kubernetes之GlusterFS集群文件系统高可用安装,提供动态卷存储
GlusterFS高可用安装 一. 准备工作 安装好的k8s集群,提供其中三个节点给GFS,这三个节点都至少有一个可用的裸块设备 在k8s所有节点安装所需要的组件 # ubuntu16.04 add- ...
- linux设备注册
一.分配cdev cdev表示字符设备,使用cdev_alloc函数,cdev_alloc函数原型如下: /** * cdev_alloc() - allocate a cdev structure ...
- 夯实基础系列四:Linux 知识总结
前言 前三节内容传送门: 夯实基础系列一:Java 基础总结 夯实基础系列二:网络知识总结 夯实基础系列三:数据库知识总结 现在很多公司项目部署都使用的是 Linux 服务器,互联网公司更是如此.对于 ...
- jmeter---线程组执行顺序记录
一.默认未勾选测试计划中独立运行每个线程组时,线程组并行执行,如下,设置三个请求,每个线程组设置5秒启动5个线程. 未勾选独立运行 运行结果如下,三个线程并行执行 勾选后,一个线程组执行完后才执行下一 ...
- 图解ARP协议
前置知识:MAC地址 在说到ARP协议之前,需要了解MAC地址,在OSI七层模型中,第三层是网络层,要解决的是下一跳机制确定的设备位置,具体来说就是网卡地址,MAC地址用于在网络中唯一标示一个网卡,一 ...
- IDEA SSM后端框架入门
SSM框架 如果对SSM一无所知,推荐先去看这本书,可以在微信读书上看. 知识点 控制器返回对象时,对象需要有getter,setter方法,才能自动转化为json数据类型. 一个服务管理者对应多个业 ...
- assert False 与 try 结合 在开发中的使用
让错误抛出 发现其中的问题 # coding=utf-8 from rest_framework.views import exception_handler from rest_framework. ...
- vue初始化页面闪动问题
使用vue开发时,在vue初始化之前,由于div是不归vue管的,所以我们写的代码在还没有解析的情况下会容易出现花屏现象,看到类似于{{message}}的字样,虽然一般情况下这个时间很短暂,但是我们 ...
- OPC UA 统一架构) (二)
OPC UA (二) 重头戏,捞取数据,才是该干的事.想获取数据,先有数据源DataPrivade,DataPrivade的数据集合不能和BaseDataVariableState的集合存储同一地址, ...
- 【题解】洛谷P3119 Grass Cownoisseur G
题面:洛谷P3119 Grass Cownoisseur G 本人最近在熟悉Tarjan的题,刷了几道蓝题后,我飘了 趾高气扬地点开这道紫题,我一瞅: 哎呦!这不是分层图吗? 突然就更飘了~~~ 用时 ...