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设备的枚举过程 前面说过了,USB只是一种串行通信总线.也就是说USB是一种物理通信通道.但是实际中我们使用了各种各样的USB设备,如U盘,鼠标.键盘等.这些设备都是使用USB总线和主机(PC)进行通信的,但是主机却可以区分不同的设备,这里靠的就是,前面定义的描述符.当我们将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…
背景 上一讲 MQTT 协议学习:通信报文的构成介绍了在MQTT通信中,各报文的通信流程:从本讲开始,我们开始介绍实际中使用的报文,以及它们的组成. CONNECT - 连接请求 报文 客户端到服务端的网络连接建立后,客户端发送给服务端的第一个报文必须是CONNECT, 连接服务端报文. 在一个网络连接上,客户端只能发送一次CONNECT报文.服务端必须将客户端发送的第二个CONNECT报文当作协议违规处理并断开客户端的连接. 服务端可以检查CONNECT报文的内容是不是满足任何进一步的限制,可…
USB包类型和传输过程  USB是一种串行总线,因此数据都是一位一位传输的,如同串口那样,但是USB在真实物理电路上却不是TTL电平,而是一种差分信号采用NRZI编码,就是用变化表示0,不变表示1,同时在USB中数据时低字节先发送的即LSB.USB中的数据交互最小单位是包一个包由许多域组成,但是统一的是每个包都有同步域开始,然后紧接着PID,这里的PID不是指PID,而是指类似包命令码这么一个意思.PID只用到了低四位,高四位是低四位的取反用于校验PID字段,常见的PID由USB标准中查到如下,…
背景 博主的主要工作是测试API,目前已经用Jmeter+Jenkins实现了项目中的接口自动化测试流程.但是马上要接手的项目,API应用的是OAuth2.0协议授权,并且采用的是简化模式(implicit grant type).所以最近学习了一下该协议,并尝试用Jmeter模拟该授权方式的处理流程,以改进自动化测试脚本. 本文主要分为三个部分:1.简述OAuth2.0协议中的简化模式授权方式: 2.通过在浏览器上抓包,分析获取授权的过程中经历了什么: 3.尝试用Jmeter模拟整个授权过程,…
本文字数:3825字 预计阅读时间:20分钟 导读 http2.0是一种安全高效的下一代http传输协议.安全是因为http2.0建立在https协议的基础上,高效是因为它是通过二进制分帧来进行数据传输.正因为这些特性,http2.0协议也在被越来越多的网站支持.据统计,截止至2018年8月,已经有27.9%的网站支持http2.0. 本文将从概述.原理.实战及检测等方面来详细介绍http2.0,希望能够加深你的理解. 什么是http2.0协议? 在http2.0官网①的描述是: http/2…
背景 经过几天的学习与实操,对于MQTT(主要针对 v3.1.1版本)的学习告一段落,为了方便日后的查阅 本文链接:<MQTT 协议学习: 总结 与 各种定义的速查表> 章节整理 MQTT 协议学习:000-有关概念入门 : 学习新东西最重要的步骤,我觉得就是明确有关的概念. MQTT 协议学习:001-搭建MQTT通信环境,并抓包测试 : 明确概念以后,实操一遍,对于学习可以有一个初步的了解. MQTT 协议学习:002- 通信报文的构成 : 从本章开始,开始慢慢引入 构成 通信协议 的有关…
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 本章描述USB 3.0 集线器的体系结构要求.本章还描述主机下行口和集线器下行口之间功能性的不同之处,以及设备上行口和集线器上行口之间的不同之处.本章包括三个主要的子模块的其中两个的描述:超高速集线器中继器/转发器(SuperSpeed hub repeater/forwarder)以及超高速集线器控制器(SuperSpeed hub controller).USB 2.0 集线器子模块在Universa…
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的低速模…