本章课程的目的在于:能理解 USB 的一些概念,能使用 USB 传输数据。 4.2~4.5 节, 介绍 USB 概念;4.6~4.7 节,移植 USBX 实现 USB 串口功能。...USB 总线驱动程序负责:识 别 USB 设备, 给 USB 设备找到对应的驱动程序。 问 3. 为什么一接入 USB 设备, PC 机就能发现它? 答 3....4.2.2 硬件框架 在 USB 系统中, 有 2 个硬件概念: USB Host:它跟处理器相连,处理器通过 USB Host 跟各类 USB 设备通信。...软件框架 APP 可以通过 USB 设备驱动程序访问 USB 设备,也可以绕过 USB 设备驱动,直接通过 USB 控制器驱动访问 USB 设备。...它允许使用具有多种配置的 USB 设备、复合设备和 USB OTG 进行操作。它支持 USB 电源管理。 USBX 为 USB 主机和 USB 设备堆栈提供了大量的 USB 类。
对应具体的设备上,只要是支持USB协议的设备,都可以连接计算机,如USB键盘、USB鼠标、USB摄像头、USB音箱等。...2.USB协议版本 从USB协议诞生至今,出现了多个USB协议版本,如USB1.0、USB1.1、USB2.0、USB3.0、USB3.1、USB3.2。...改名为USB3.2 Gen1,USB3.1改名为USB3.2 Gen2,而将能够使用两个USB Type-C Rx/Tx针脚的USB3.2改名为USB3.2 Gen2×2。...USB集线器(Hub)可以将一个USB接口扩展成多个USB接口,扩展出的USB接口又可以通过USB集线器(Hub)扩展,每个USB接口都可以接USB设备。...每个USB设备都有端点0的控制端点,当USB设备插入到USB主机拓扑网络中时,USB主机就通过端点0与USB设备通信,对USB设备进行配置,便于后续的数据传输。USB协议保证控制传输有足够的带宽。
首先实现起来够简单,传感器+MCU是我非常推崇的产品设计方式,还有就是USB连接,可以和算力强的机器互动。如果换ESP32-S3,可以直接运行一些轻量的神经网络算法。...XIAO RP2040 微控制器:Raspberry Pi RP2040 麦克风:STMicroelectronics MP23DB01HP PDM 微机电系统 (MEMS) 全向数字麦克风 连接性:USB
在使用DirectShow控制USB摄像头的技术方面,需要做几件准备工作: 1、安装DirectShow SDK ,这个比较繁琐,具体可以网上搜索。
USB 设备状态切换图 2....对于一个 USB 设备,它可以多种配置(Configuration)。比如 4G 上网卡就有 2 种配置:U 盘、上网卡。第 1 次把 4G 上网卡插入电脑时,它是一个 U 盘,可以按照里面的程序。...大多数的USB设备只有一种配置。 一个配置下,可以有多个接口(Interface),接口等同于功能(Function)。比如USB 耳机有两个接口(功能):声音收发、按键控制。...一个 USB 设备, 只有一个设备描述符:用来表示设备的 ID、它有多少个配置、它的端点 0 一次最大能传输多少字节数据 可能有多个配置描述符:用来表示它有多少个接口、供电方式、最大电流 一个配置描述符下面...3.1 设备描述符 3.2 配置描述符 3.3 接口描述符 3.4 端点描述符 3.5 示例 在 Ubuntu 中可以执行lsusb -v查看 USB 设备的描述符信息: $ sudo lsusb
可编程 USB 转串口适配器开发板 USB 转 UART I2C 应用 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S USB 转 UART 应用...1.1驱动安装 USB2S 内置了 USB 转UART 芯片,可使用CH340/CH341 驱动程序。...图片驱动安装成功后,若将 USB2S 插入计算机 USB 接口,在“设备管理器”中会发现新的 COM 接口, 如下图示。...图片1.2 USB 转UART 原理驱动程序安装后,计算机通过 COMx 与 MCU 进行通讯,当 USB2S 的 UART 透明传输功能为开启状态时(默认),MCU 可将 UART1 与UART2 的双向数据进行透明转发...可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S UART 转 I2C 应用 1.1 AT24CxxEEPROM 芯片 1.1.1 芯片介绍
一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。...2)、“消息”指具有某种USB定义格式的数据流。消息通道与端点的关系同流通道与端点的关系是不同的。
1、现象 HUB芯片电源噪声所引起;USB HUB芯片电压偏置电阻不合适所引起。...2、参考电路 3、原因分析 在眼图测试时发现有一个USB口的眼图有抖动碰到眼图模板,当时经过千辛万苦,屡试不成,都未找到具体原因。...4、解决方法 通过分析有二个因素影响USB host通过不了眼图模板,一个是电源1.8V PLL的电源噪声所引起,另一个是由于偏置电阻的阻值会影响眼图眼睛的睁开的大小。
USB传输 传输分为四种类型:批量传输、等时(同步)传输、中断传输、控制传输。...USB主机驱动将通过控制传输与USB设备的控制端点通信,完成USB设备的枚举和配置 。...USB事物 USB包 包的组成: 包的内容: 1、PID: 这里只用(PID0~4),PID4~7是PID0~4的取反,用来校验PID PID1~0:01 令牌包、11 数据包、10 握手包、...设备枚举及描述符介绍 当一个USB设备插入主机后,会有以下活动: 在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。...在usb系统中,所有的通信都是由主机发出相应的令牌所引起的。
可编程 USB 转串口适配器开发板的详细接口与功能可编程 USB 转 UART/I2C/SMBus/SPI/CAN/1-Wire 适配器 USB2S(USB To Serial ports)是多种数字接口物理层协议转发器...可编程 USB 转串口适配器开发板 USB 转 UART I2C 应用 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S USB 转 UART 应用...可编程 USB 转串口适配器开发板 UART 转 SPI 应用 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S UART 转 SPI 应用 1.1...可编程 USB 转串口适配器开发板芯片驱动文件说明 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S 芯片驱动文件说明 芯片选择下拉框内列出的每一个备选芯片的驱动文件和数据手册位于...图片可编程 USB 转串口适配器开发板 常见问题及注意事项 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S 常见问题及注意事项 (1)外接引线长度 当使用导线连接外部设备或芯片时
一、USB设备状态 在USB 2.0协议中第 9.1 USB Device States 章节规定了USB设备的6种状态,包括: Attached/Powered/Default/Address/Configured.../usb/gadget/udc/udc-core.c void usb_gadget_set_state(struct usb_gadget *gadget, enum usb_device_state...其中struct usb_gadget是用来标记一个USB设备的信息。此时USB设备的状态就可以确定了。...在USB的枚举阶段,会根据USB所处的状态调用usb_gadget_set_state()去设置USB设备的状态。...比如说在USB设备的枚举阶段,在composite_setup()函数中USB设备接收到了USB Host发过来的USB_REQ_SET_CONFIGURATION命令后调用set_config()设置相应的配置
可编程 USB 转 UART/I2C/SMBus/SPI/CAN/1-Wire 适配器 USB2S(USB To Serial ports)是多种数字接口物理层协议转发器,自带强大灵活的 S2S 协议固件程序...1.UART 接口 本模块有两组 UART 接口,分别叫做 UART1 和 UART2,UART1 是指 USB 与计算机连接后计算机上出现的 COMx 串口,计算机通过此串口与 USB2S 通讯,UART2...是指 USB2S 上的对外接口中的UART 接口(TXD 和RXD 管脚)。...MCU USB2S 使用了 STC 单片机作为可编程载体,具有片上 2kRAM、4kEEPROM 和 16kFLASH,超高速 1T(1 周期指令)8051 内核,支持休眠和脉冲信号唤醒和定时器唤醒,5...可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S S2S 功能介绍 可编程 USB 转串口适配器开发板 S2S 功能介绍 USB2S 支持基于 STC
USB是 UniversalSerial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,例如键盘、鼠标、打印机、磁盘或网络适配器等等。...我们这里主要演示USB的鼠标流量和键盘流量。Linux下的分析已经比较多了,下面的环境均在Windows下进行。 一、鼠标流量 1.1 特点分析 USB鼠标流量的规则如下所示: ?...1.2 使用Wireshark捕获和分析 要想使用Wireshark进行捕获,需要在安装时勾选上usbpcap工具选项,这样你的Wireshark中会有一个usb接口的选项,点击就可以进行抓包了。...Wireshark中捕获的USB流量集中在Leftover Capture Data模块,我们可以使用tshark工具来进行提取。...在USB协议的 文档中搜索 keyboard。就可以找到击键信息和数据包中16进制数据的对照表: ? 2.2 使用Wireshark捕获和分析 捕获的步骤与上面相似。
塔顶为USB主控制器和根集线器(Root Hub),下面接USB集线器(Hub),集线器将一个USB口扩展为多个USB口,USB2.0规定集线器的层数最多为6层,理论上一个USB主控制器最多可接127个设备...Linux USB驱动总体结构图 从Host侧看,在Linux驱动中,处于USB驱动最底层的是USB主机控制器硬件,在其上运行的是USB主机控制器驱动,在主机控制器上的为USB核心层,再上层为USB设备驱动层...主机控制器驱动负责识别和控制插入其中的USB设备,USB设备驱动控制USB设备如何与主机通信,USB Core则负责USB驱动管理和协议处理的主要工作。...2.3、USB描述符 对应上述USB设备的构成,USB采用描述符来描述USB设备的属性,在USB协议的第九章(chaper 9)中,有对USB描述符的详细说明,在Linux驱动的以下文件中,定义了USB...USB枚举的示意图如下: ? 3.2、USB标准请求的结构 上述提及的USB标准请求的结构如下: ? 3.2、USB标准请求的结构 上述提及的USB标准请求的结构如下: ?
libusb的代码,作者简单翻了一下,跑了一下测试代码,看了一下trace,大概意思就是分析/sys/bus/usb/devices目录下的文件/文件夹,进而可以打开usb设备,或者获取usb设备的attr...;在用户态实现usb协议,则可以直接操作硬件。...usb的设备虚拟化,则和其他usb设备一样,guest中对usb设备进行操作,则qemu把对应的操作通过libusb透传给host的usb设备。...可见,usb的passthrough,并不是直接让guest直接访问host的usb设备。 4,lsusb 相关命令lsusb是一个不错的命令。 ?...后记: 作者对usb协议并不熟悉,关于libusb的解释也未必完全准确。 请教过一个kernel高手的朋友,见我不会usb,还鄙视了我一下~囧
/bcdDevice # USB 1.1: 0x0110 # USB 2.0: 0x0200, USB 2.1: 0x0210, USB 2.5: 0x0250 # USB 3.0: 0x0300...主要的工作流程为: 分配一个config_usb_cfg1结构体,该结构体包含了usb_configuration结构体,保存了该USB设备的配置信息。 设置USB设备的配置描述符的某些选项。...执行流程如下: 判断输入的USB控制器名称,若输出为空或者是none,则解除usb_gadget_driver和底层USB控制器的绑定。...调用UDC驱动接口usb_udc_connect_control连接USB主机控制器,这样USB主机就能识别并枚举USB设备。...USB gadget configfs提供了一个便捷的配置方法,用户可以灵活的组织USB function驱动,以组成不同功能的USB设备复合设备,当配置完成后,USB gadget configfs并不参与
USB转485模块双向传输防浪涌屏蔽线 UT-890a/Z-TEC USB转232模块双向传输防浪涌屏蔽线 Z-TEC 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn
《带你遨游USB世界》中,我们已经初步介绍了USB的整体架构,本文将从以下几个方面继续介绍USB的内容。 USB3.0有什么新特性?...USB3.0需要保持向后兼容性。从硬件上来看,实际usb3.0和usb2.0已经是两种设备,在A型座的usb口上,我们能明显看到,usb2.0仍旧使用的是GND,D+,D-,VBUS。...在3.0中则使用的是一对USB3_TX差分线,USB3_RX差分线,GND,BUS。所以在物理上我们要明确,实际上USB2.0和USB3.0已经不是一个设备。...虽然USB3.0仍然延续了大部分2.0的概念。 1.Usb3.0的通讯流程 Usb3.0在框架层级是向后兼容USB 2.0的。在传输的类型上,仍旧是控制传输,中断传输,批量传输,同步传输四种。...2.USB3.0 HOST Usb3.0相比于usb2.0,在usb core层,驱动并没有太大变化,仍旧与原来的流程相同,usb代码的核心数据结构仍然是URB,URB的使用方法也与原来相同: ?
当USB设备插上主机时,主机就通过一系列的动作来对设备进行枚举配置(配置是属于枚举的一个态,态表示暂时的状态),这些态如下: 1、接入态(Attached):设备接入主机后,主机通过检测信号线上的电平变化来发现设备的接入...; 2、供电态(Powered):就是给设备供电,分为设备接入时的默认供电值,配置阶段后的供电值(按数据中要求的最大值,可通过编程设置); 3、缺省态(Default):USB在被配置之前,通过缺省地址...0与主机进行通信; 4、地址态(Address):经过了配置,USB设备被复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态; 5、配置态(Configured):通过各种标准的USB...请求命令来获取设备的各种信息,并对设备的某此信息进行改变或设置; 6、挂起态(Suspended):USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA
USB接口标准 USB是电脑的常见接口,有4根线,两根电源线和两个信号线,电源线正负极供电,接烦可能导致USB设备或电脑的南桥芯片烧坏。...type A 即我们常见的标准USB大口,主流的可以分为USB2.0速度(几十M/S)和USB3.0速度(上百M/S),事实上目前有少量Type-A为USB3.1 10Gbps速度,常见于新的台式机主板上...type B 常见于打印机以及带触摸和USB接口的显示器,日常使用频率低。但是其分支之一Mirci USB B却是用的比较多的。...部分USB接口实拍图 从左往右依次为:miniUSB公口(A型插头)、miniUSB公口(B型插头)、USB公口(B型)、USB母口(A型插座)、USB公口(A型插头) USB的传输速度 USB2.0...标准的速度,理论带宽数为480Mbps,换算成MB/S速度单位的过程如下 USB3.0(后被强行划归USB3.1 Gen1系列),其带宽提升到了5Gbps USB3.1(Gen2)带宽,则达到了10Gbps
领取专属 10元无门槛券
手把手带您无忧上云