![](https://img-blog.csdnimg.cn/bb6434dad108485095278552c7e0c6cd.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
USB
文章平均质量分 60
主要介绍USB驱动相关内容
华佗_PCIe
大学专业为电子信息工程,主要学习模拟电路,数字电路,c语言,c++,在校期间参加电子设计大赛,飞思卡尔智能车,并获得一些奖项,毕业后顺利进入电子行业,最初从事硬件电路设计,主要是单片机外围电路,基于DC-DC,LDO等芯片搭建电源电路,然后开始接触单片机软件,到硬件软件一起做,在此期间,接触到linux的产品,然后让我有了从事linux方面的工作念头,后来就转行找到linux应用的工作,再到后来的linux平台的工作,已经从事linux平台一年的时间,以及做了高通平台驱动一年。
目前从事芯片的PCIE驱动开发。
展开
-
USB 设置配置(SetConfiguration)和设置接口(SetInterface)的区别与联系
@[TOC](USB 设置配置(SetConfiguration)和设置接口(SetInterface)的区别与联系)在USB设备枚举的最后,主机都会对设备发送设置配置置(SetConfiguration)请求和对接口发送设置接口(SetInterface)请求,这两个控制请求在USB设备的工作中,具有重要的作用。CTL 00 09 01 00 00 00 00 00 SET_CONFIGURATION 117usCTL 0原创 2021-12-10 11:33:20 · 3144 阅读 · 0 评论 -
USB 设置配置 SetConfiguration
USB 设置配置 SetConfigurationID请求码说明11SET_CONFIGURATION用于主机指示设备采用的要求的配置SetConfiguration请求与GetConfiguration相对应,用于主机为USB设备设置一个合适的配置值 ,该请求无数据阶段。一般的设备只有一个配置,当有多个配置时,会让用户选择。一个设备只能工作在一个配置状态下。bmRequestType(1)bRequest(1)wValue(2)wIndex(2)w原创 2021-12-10 11:26:39 · 2773 阅读 · 0 评论 -
USB 设置接口SetInterface
USB 设置接口SetInterface描述述包括设备描述符请求,配置描述符请求、字符串描述符请求和其它描述符请求。ID请求码说明11SET_INTERFACE用于主机要求设备用某个描述符来描述接口SetInterface请求用于USB主机为设备指定的接口选择一个合适的替换值,该请求没有数据阶段。bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)010B可替换接口值接口0原创 2021-12-10 11:17:23 · 2744 阅读 · 0 评论 -
USB 设置描述符SetDescriptor
USB设置描述符GetDescriptor描述述包括设备描述符请求,配置描述符请求、字符串描述符请求和其它描述符请求。ID请求码说明7SET_DESCRIPTOR修改设备中有关的描述符,或者增加新的描述符USB的请求这里包括USB的标准请求和特定类请求,其包括以下几个字段:bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)0007类型和索引0或语言ID0000bmReq原创 2021-12-10 10:42:32 · 1449 阅读 · 0 评论 -
USB获取描述符GetDescriptor
USB获取描述符GetDescriptor描述述包括设备描述符请求,配置描述符请求、字符串描述符请求和其它描述符请求。ID请求码说明6GET_DESCRIPTOR用于主机获取设备的特定描述符USB的请求这里包括USB的标准请求和特定类请求,其包括以下几个字段:bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)8006类型(高字节)和索引(低字节)0或语言ID接收的描述符长度原创 2021-12-10 10:40:28 · 3996 阅读 · 0 评论 -
USB 设置请求地址SetAddress
USB 设置请求地址SetAddressID请求码说明5SET_ADDRESS用来给设备分配地址SetAddress 用于枚举(enumeration)阶段为设备分配一个唯一的地址,地址在 wValue 字段中且最大值为 127。该请求特别的地方在于,直到状态阶段完成,设备才完成地址设置。其他所有请求必须在状态阶段之前完成。该请求同样无数据阶段。bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)原创 2021-12-10 10:20:37 · 1559 阅读 · 0 评论 -
USB标准请求、类特定请求总结
USB标准请求、类特定请求总结bmRequestType字段的USB标准请求(USB基本请求)bmRequestType字段的类特定请求(HID,UVC,UAC,BOT)bmRequestType字段的厂商自定义请求(自定义,不常见)在USB请求中(包括标准请求和类特定请求)做USB开发,最常见的就是USB的控制请求的那8个字节的分析,如果抓包工具有协议分析那还好说,但是如果不带速协议分析,那其实还是挺郁闷的。所以说,如何快速的通过USB请求的那几个字段定位出是何请求,是可以大大的提高我们的协议分析效率的原创 2021-12-10 10:11:59 · 3239 阅读 · 0 评论 -
USB标准请求
USB标准请求USB标准请求的数据结构bmRequestType字段(1字节)D7,下一步数据的传输方向D6-D5,命令的类型D4-D0,命令接受者的类型bRequest字段(1)USB定义了8个字节的标准请求,通过这些请求,可以对设备的状态进行更改或对设备进行枚举。USB的标准请求的数据传输方式都是控制传输方式,所以使用的端点是设备的默认端点0。USB这8个字节的的控制请求并包括传输过程中的数据,但包括了控制请求的数据长度。当数据度为不为0时,设备或主机向对方传输相应长的数据。这些数据有可能是设备返原创 2021-12-10 10:07:40 · 828 阅读 · 0 评论 -
USB 传输方式(数据传输方式分类及带宽占用率对比)
USB 数据传输方式分类及带宽占用率对比控制传输同步传输中断传输批量传输USB传输有四种传输类型使用的事务类型各不相同。其中批量传输、同步传输每次传输需要一个或多个事务,中断传输每次传输只需要一个事务,控制传输包括三个过程(建立过程、数据过程、状态过程),建立过程和状态过程分别需要一个事务,数据过程则可能包含0个多个事务。控制传输突发性、非周期性、主机软件发起的请求/响应通信,通常用于命令/状态操作。控制传输包括控制读传输、控制写传输、无数据的控制传输,主机在枚举设备的时候,首先进行插入检测,检测原创 2021-11-04 15:25:38 · 1125 阅读 · 0 评论 -
USB 传输方式(同步/等时传输及反馈端点)
USB 同步/等时传输及反馈端点USB端点的同步类型:USB的四种传输之一同步传输,用于数据实时性比较高,数据量较大但数据的完整性不是很严格的场合。由于时间是同步传输的关键部分,因此USB设计者了解这些不同实体在USB中如何处理时间是很重要的。在大部分的通讯系统中,数据的发送者和接收者以同步的方式进行数据收发。在异步通信系统中,允许数据发送者检测接收方没有正确地接收到数据项,并简单地重试传输所有的数据。但在USB总线中,由于不支持数据的重传,因此必须保留最小的带宽可以分配给等同传输。USB端点的同步原创 2021-11-04 15:23:26 · 2462 阅读 · 0 评论 -
USB 传输方式(同步、等时)
USB 同步、等时传输方式同步传输的应用场合同步传输的特点同步传输的事务USB同步/等时传输方式抓包分析读数据等时传输也有“同步传输”的叫法,一般用于要求数据连续、实时且数据量大的场合,其对传输延时十分敏感,类似用于USB摄像设备,USB语音设备等等。同步传输的应用场合应用用在数据量大,对实时性要求较高的场合。如视频设备、音频设备等。同步传输的特点只有高速设备可以使用同步方式高速模式的最大包长上限为1024个字节;全速模式的最大包长上限为1023个字节;低速模式不支持同步传输。超高速原创 2021-11-04 15:21:39 · 3089 阅读 · 1 评论 -
USB 传输方式(中断)
USB 中断传输方式中断传输的特点中断传输事务中断传输一般用于小批量的和非连续的数据传输,通俗的来说就是用于数据量小的数据不连续的但实时性高的场合的一种传输方式,主要应用于人机交互设备(HID)中的USB鼠标和USB键盘等。USB中断传输和我们传统意义上的中断不一样。它不是由设备主动地发起一个中断请求,主机响应再操作,而是由主机保证在不大于某个时间间隔内按排的一次传输,所以USB的中断实际意义是实时查询操作,即USB的中断传输是主机在一定的时间不断地主动轮询设备检查其是否有数据需要传输,对此有3个重要参原创 2021-11-04 15:14:33 · 6048 阅读 · 1 评论 -
USB 传输方式(批量)
USB 批量/块传输方式批量传输数据包批量输出流程USB批量传输抓包分析USB批量读数据USB批量写数据批量传输一般用于批量的和非实时的数据传输,通俗的来说就是用于数据量大但对时间要求又不高的场合的一种传输方式,类似用于USB打印机和USB扫描仪等等。批量传输使用批量传输事务,一次批量传输事务分为三个阶段:令牌包阶段、数据包阶段、握手包阶段。批量传输分为批量读和批量写,批量读使用批量输入事务,批量写使用批量输出事务。注意:不论输入还是输出都是以主机为参考的。批量传输数据包只有全速和高速设备可以使原创 2021-11-04 15:04:40 · 1578 阅读 · 0 评论 -
USB 传输方式(控制)
这里写自定义目录标题USB 控制传输方式控制传输的特点控制传输的过程建立过程数据过程(可选)状态过程建立过程控制传输示例图USB控制读USB控制写USB无数据控制写USB控制传输抓包分析读数据-USB控制传输抓包分析写数据-USB控制传输抓包分析无数据-USB控制传输抓包分析USB 控制传输方式控制传输是一种特殊的传输方式。当USB设备初次连接主机时,用控制传输传送控制命令等对设备进行配置。同时设备接入主机时,需要通过控制传输去获取USB设备的描述符以及对设备进行识别,在设备的枚举过程中都是使用控制传输原创 2021-11-04 14:40:57 · 3338 阅读 · 0 评论 -
USB-DFP UFP DRP模式
文章目录1、DFP2、UFP3、DRP1、DFPDFP(Downstream Facing Part)下行端口,可以理解为Host,DFP提供Vbus,可以提供数据。在协议规范中DFP特指数据的下行传输,笼统意义上指的是数据下行和对外提供电源的设备。典型的DFP设备是电源适配器。2、UFPUFP(UPstream Facing Part)上行端口,可以理解为Device,UFP从Vbus中取电,并可提供数据。典型设备是U盘,移动硬盘。3、DRPDRP(Dual Role Part)双角色端口,D原创 2021-07-20 23:43:32 · 7388 阅读 · 0 评论 -
USB-详解/sys/kernel/debug/usb/devices
文章目录详解/sys/kernel/debug/usb/devices1、概述2、示例2.1某项目2.2 个人开发板2.3 OHCI、UHCI、EHCI、XHCI 区别联系3、文件格式3.1 T:Topology(拓扑结构)3.2 B:Bandwidth(带宽信息)3.3 D:Device descriptor info(设备描述符信息)3.4 P:Product ID info(产品ID信息)3.5 S:String descriptors(字符串描述符信息)3.6 C:Configuration des原创 2021-07-20 15:50:48 · 5577 阅读 · 1 评论