USB2.0概述及协议基础

USB

  

2020-01-04 06:17:22

USB是通用串行总线(Universal Serial Bus)的缩写。在USB1.0和USB1.1版本中,只支持1.5Mb/s的低速(low-speed)模式和12Mb/s的全速(full-speed)模式,在USB2.0中,又加入了480Mb/s的高速模式。 USB应用范围 ⅠUSB总线接口 1 USB接口标准 标准的USB连接器有A型、B型和Mini B型,每个型号又分为插头和插座。 USB...

USB-接口描述符(四)

USB

  

2020-01-17 07:53:31

linux 内核中对接口描述符的定义,目录:linux/include/uapi/linux/usb/ch9.h bLength:该描述符的长度。标准的 USB 接口描述符的长度为 9 字节 bDescriptorType:描述符的类型。接口描述符的类型编码为 0x04 bInterfaceNumber:该接口的编号。当一个配置具有多个接口时,每个接口的编号都不同 b...

Billboard介绍

USB

  

2020-01-22 23:44:39

BillBoard起源: USB-IF协会在2014年公布了Power Delivery v2.0的规格,同时也在原本的USB Class定义了新的分类Billboard Device Class v1.0。 什么是Billboard? 首先我们要了解一下Type-C: USB-C即USB Type-C型接口,是USB协会最新推出的接口,相比传统USB接口,USB-C具有结构纤细、支持正反插、高电...

USB2.0 HUB

USB

  

2020-03-23 01:57:09

一、USB2.0 HUB的架构 USB2.0 HUB 需要支持的功能: 1、连接行为 2、电源管理 3、设备的连接/移除检测 4、总线错误检测和恢复 5、HS/FS/LS 设备的支持 从结构上看,hub 主要由三个部分组成,分别是: HUB Repeater、Hub Controller、Transcation Translator。 二、数据转发 往Downstream 方向: Upstream...

USB总线驱动程序的作用 1. 识别USB设备 1.1 分配地址 1.2 并告诉USB设备(set address) 1.3 发出命令获取描述符 描述符的信息可以在include\linux\usb\Ch9.h看到 2. 查找并安装对应的设备驱动程序 3. 提供USB读写函数 将一个USB设备接到开发板上,看输出信息: usb 1-1: new full speed USB device usin...

USB 协议Audio应用

usb

  

2020-04-02 06:42:01

usb作为目前最为通用的接口,为提高产品用户体验,减小产品的设计复杂度,立下了悍马功劳,但是也因其通用的特性,其相对于其他接口,协议更为复杂,同时也在不断发生演进,充实目前的协议规范,带宽有了很大的提升,同时尺寸也在不断缩小。 最近因为使用usb 进行音频数据的采集,对usb 协议做了一次系统性了解,同时以usb audio class 协议作为范本,进一步了解usb 协议规范。 USB 连接拓扑...

VS2019 测试使用libusb

USB

  

2020-04-05 10:57:45

参考博文链接:https://www.cnblogs.com/lknlfy/p/3189949.html 最近工作上用到了USB,学习了一下,听说USBLIB库比较通用,就查阅了大神的笔记。自己跟着操作了一遍,现在做了些笔记。 1、使用USBLIB库开发步骤: (1)软件环境:win10系统,VS2019. (2)硬件环境,STM32 cdc设备,可以用stmcubeMx直接轻松生成虚拟...

Linux SCSI 子系统

USB

  

2020-04-21 17:52:23

Small Computer Systems Interface (SCSI) 是一组标准集,它定义了与大量设备(主要是与存储相关的设备)通信所需的接口和协议。 Linux® 提供了一种 SCSI 子系统,用于与这些设备通信。Linux 是分层架构的一个很好的例子,它将高层的驱动器(比如磁盘驱动器或光驱)连接到物理接口,比如 Fibre Channel 或 Serial Attached ...

USB设备无响应

usb

  

2020-06-12 16:16:28

Device No Response 测试介绍 在USB认证中,otgeh_compliance_plan_1_2.pdf 测试文档有一项关于连接超时显示Device No Response的测试。 描述如下: 测试步骤如下: 说白了,就是说连接一个无法识别的USB设备到Embedded Host上,判断其能否在30s内给出“Device No Response”的提示,如...

USB驱动程序分为两个层次 (1) USB总线驱动=》系统自带的; USB总线驱动程序负责: 识别USB设备,给USB设备找到对应的驱动程序。 USB总线驱动程序作用: a.识别USB设备; b.查找并安装对应的设备驱动程序; c.提供USB读写函数。不了解数据含义。 USB总线驱动程序可以通过调用libUSB(libUSB封装了端口函数)跳过USB设备驱动程序,来访问USB设备。 (2) 设备驱...

一、USB设备状态 在USB 2.0协议中第 9.1 USB Device States 章节规定了USB设备的6种状态,包括: Attached/Powered/Default/Address/Configured/Suspended 其状态迁移图如下: 在 Linux Kernel ch9.h 文件中用 enum usb_device_state 来标记这几种状态。 二、状态设置函数usb_g...

这个驱动是在上一节的最简单的usb驱动基础上增加了输入子系统和usb包的获取和请求。 首先先给出一个稍微简化了一下的usb的鼠标驱动,这里只做了鼠标的三个按键。为了方便验证,这里用鼠标的左键,右键和中间分别作为标准按键的l   s    enter 键。   关于输入子系统的内容,这里不再描述,之前的章节有过详细的学习。 https://blog.csdn....

用的是S5PV210的SOC   1.设备树支持设备树 设备树默认是支持USB驱动的。 如下: 当然,默认是disbale的。我们只需要把状态改为ok,就可以使用了。       配置内核支持usb驱动 配置支持2.0和1.1和USB驱动   我这边是一个USB鼠标,可以看一下。接上后的打印信息。   USB其实也也是支持多打印一些调试信...

USB2.0 reset 的几种情况

USB

  

2020-10-17 11:40:25

USB2.0 reset 的几种情况 1、USB2.0 Reset USB2.0 reset, 是将D+ 和 D- 同时拉低, 进入SE0 状态。 reset 时间:按照spec 规定7.1.75 正常是10-20ms, 需要注意的是如果是root hub 时间则规定为最少50ms(这50ms 可以不连续,但是如果不连续,每个reset 信号之间的间隔时间应该小于3ms) HUB 如果收到host...

USB设备使用描述符报告其属性。描述符是具有定义格式的数据结构。每个描述符都以字节宽度字段开头,该字段包含描述符中的总字节数,后跟一个标识描述符类型的字节宽度字段。 使用描述符允许简单地存储各个配置的属性,因为每个配置可以重用具有相同特征的其他配置的描述符或描述符的部分。以这种方式,描述符类似于关系数据库中的各个数据记录。 适当时,描述符包含对字符串描述符的引用,这些字符串描述符提供以可读形式描述...