前面学习了那么多的概念,这里需要记住一点分层概念即设备 ---> 配置 ---> 接口 ---> 端点,这种分层的概念结构 . 也可以理解为端点构成接口,接口组成配置,配置组成设备. USB设备的枚举过程 前面说过了,USB只是一种串行通信总线.也就是说USB是一种物理通信通道.但是实际中我们使用了各种各样的USB设备,如U盘,鼠标.键盘等.这些设备都是使用USB总线和主机(PC)进行通信的,但是主机却可以区分不同的设备,这里靠的就是,前面定义的描述符.当我们将USB设备接入主机后主机很…
USB包类型和传输过程  USB是一种串行总线,因此数据都是一位一位传输的,如同串口那样,但是USB在真实物理电路上却不是TTL电平,而是一种差分信号采用NRZI编码,就是用变化表示0,不变表示1,同时在USB中数据时低字节先发送的即LSB.USB中的数据交互最小单位是包一个包由许多域组成,但是统一的是每个包都有同步域开始,然后紧接着PID,这里的PID不是指PID,而是指类似包命令码这么一个意思.PID只用到了低四位,高四位是低四位的取反用于校验PID字段,常见的PID由USB标准中查到如下,…
概念  USB是一种串行通信总线(Universal Serial Bus),经历的版本有USB1.0,USB1.1.USB2.0等.USB是一种主从模式的结构,因此它无法在设备与设备.主机与主机之间互连进行数据交换.直到USB OTG的出现,它通过在不同场合下将身份切换,从而做到主从分时共存一个设备中. 不同USB协议版本的对比  版本 低速(LS) 全速(FS) 高速(HS) USB 1.0 1.5Mb/s 12Mb/s  不支持 USB 1.1 1.5Mb/s 12Mb/s 不支持  US…
 USB设备描述符 字段名 长  度(字节)  地址偏移 含           义 bLenth   1  0  描述符长度 bDescriptorType   1  1 描述符类型 (这里为 1) bcdUSB   2  2 USB规范版本号(BCD码)  bDeviceClass   1  4 类代码  bDeviceSubClass   1  5 子类代码  bDeviceProtocol  1  6 协议代码  bMaxPackSize0   1  7 端点0最大支持数据包长度  id…
USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2.0目前比较常用,USB是主从模式的结构,设备与设备之间.主机与主机之间不能互连,为解决这个问题,扩大USB的应用范围,出现了USB OTG,全拼 ON The Go.USB OTG 同一个设备,在不同的场合下可行在主机和从机之间切换. 1.USB特点 USB1.0和USB1.1支持1.5Mb/s的低速模…
1.一个USB HOST 最多可以同时支持128 个地址,地址0 作为默认地址,只在设备枚举期间临时使 用,而不能被分配给任何一个设备,因此一个USB HOST 最多可以同时支持127 个地址,如果一个设 备只占用一个地址,那么可最多支持127 个USB 设备.在实际的USB 体系中,如果要连接127 个 USB 设备,必须要使用USB HUB,而USB HUB 也是需要占用地址的,所以实际可支持的USB 功能 设备 的数量将小于127. 2."复合设备(Compound Device)&quo…
HTTP协议学习笔记(四) 与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟主机实现多个域名 HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点.比如,提供 Web 托管服务(Web Hosting Service)的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站.这是因为利用了虚拟主机(Virtual Host,又称虚拟服务器)的功…
HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. HTTP报文大致可分为报文首部和报文主体两块.两者最初由空行(CR+LF)来划分.通常,并不一定要有报文主体. 2.请求报文及响应报文的结构 请求报文和响应报文首部内容由以下数据组成. 请求行:包含用于请求的方法,请求URI和HTTP版本. 状态行:包含表明响应结果的状态码,原因短语和HTTP版本 首…
HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定是客户端,另一端则是服务端 在实际情况下,客户端和服务端的角色有可能互换,仅从一条通信线路来说,服务端和客户端的角色是确定的 HTTP协议能够区分谁是客户端,谁是服务端 2.通过请求和响应的交换达成通信 HTTP协议规定,请求从客户端发出,最后服务端响应该请求并返回 肯定先从客户端开始建立通信,服务…
HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误. 状态码由3位数字和原因短语组成.如200 OK 状态码的类别: 仅记录在 RFC2616 上的 HTTP 状态码就达 40 种,若再加上WebDAV(Web-based Distributed Authoring and Versioning,基于万维网的分布式创作和版本控制)(RFC4918.…