USB 管道 && 端点

第9课【USB协议】USB总线 接口 端点 管道 数据包 枚举 STM32_USB-FS-Device_Lib V4.1.0 USB(Universal Serial Bus)通常指通用串行总线,这是一种总线规范,用来规定计算机同其他设备之间的连接,这意味着只要遵循USB规范制作的设备,都能通过USB接口同计算机连接起来。我们日常生活中常见的手机USB数据线,USB鼠标等,他们都遵循了USB总线规范,其中USB2.0规范是目前较为广泛被运用,且易于理解的,以下内容都会基于USB2.0总线规范USB通过硬件接口PIN脚上的差分信号传输数据,PIN脚的数量,在不同版本的USB协议以及不同类型的USB接口中都是不一样的差分信号是什么。 阅读详情

1、管道

  • 对 usb host 和 usb device 之间通信流的抽象,是一个逻辑上的概念。

  • 对应于驱动程序中的一个数据缓冲区,与一个 外设端点 的连接。

  • 所有的设备必须支持 端点0 以作为设备的 控制管道。
    通过 控制管道,可以获取完全描述USB设备的信息,也可以进行相关设置(即 get 和 set)。

  • 管道有两种类型:
    数据流管道(其中的数据没有USB定义的结构)
    消息管道(其中的数据必须有USB定义的结构)

  • 1个USB设备可以分为三个层
    1、最上层:USB设备所提供的 功能
    2、中间层:处理 总线接口 与不同的 端点 之间的数据流
    3、最底层:总线接口 ,用来发送与接收包

2、端点

  • 每个 端点 实际上就是一个一定大小的 数据缓冲区。
    这些端点在设备出厂时就已定义好。

  • 在主机看来,每1个USB设备是一个端点的集合。
    主机只能通过端点与设备进行通讯,以使用设备的功能。

  • USB端点的四种类型
    1、控制端点
    配置设备,获取设备信息,发送命令给设备,获取设备的状态。
    每个USB设备都有一个名为 “端点0” 的控制端点。
    USB主控在任何设备插入时都通过“端点0”进行设备初始化配置。
    注意所有设备都必须支持上面的 端点0,初始化配置 。
    端点1,2 等一般用作 数据端点 ,存放主机与设备间往来的数据。
    2、中断端点
    主要是USB键盘、鼠标用来传输少量数据。
    也用于发送数据到USB设备用来控制设备。
    3、批量端点
    用来传输大批量的数据。
    此类端点体积大,比中断端点大得多。
    用于需要确保数据不能丢失的设备,如打印机,存储设备,网络设备等。
    4、等时端点
    也可以传输大批量的数据。
    保证数据的实时性,但是不保证数据的完整性。
    常用于音视频设备。

  • 上述4种端点也对应4种传输。
    枚举过程就是通过控制传输,控制端点来完成的。

  • 管道 和 usb设备中的端点 一一对应,一个usb设备含有多少个端点,其和主机进行通信时就可以使用多少条管道。
    端点的类型 决定了 管道中数据的传输类型。

3、拓展

快速理解USB通信中的端点与管道机制 通过通俗易懂的方式讲解usb通信中端点与管道的工作原理,帮助开发者快速掌握数据传输的关键结构,理解usb通信的底层逻辑。 阅读详情

相关推荐

从零开始学USB(二十七、usb鼠标驱动驱动实例分析[2]管道)

端点是USB设备的唯一可识别部分,其是主机和设备之间的通信流的终点。 管道,就是一个USB主机和USB设备端点之间的数据传输的通道。 站在主机的角度,它的目的是设备的某个端点。 而管道这算是主机和端点之间的连线。 这里我们先看一下管道在usb里的定义 /* * For various legacy reasons, Linux has a small cookie that'...

To_run_away的博客 2016

USB学习(2):USB端点和传输协议(数据包、事物)详解

接着上一篇文章,继续介绍一下USB的端点、传输协议(数据包和事物)的知识

主要分享嵌入式软件、人工智能部分知识 9361

USB数据流的模式与管线的概念

在USB规范标准中也定义了两种外围设各:①单机设备,如鼠标等;②复合性设备,如数码照相机和音频处理器共享一个USB通信端口等。每个接口设各都具有“端点(endpoint)”地址,它是由令牌封包内的4位字段(ENDP)所构成的。而主机与端点的通信,是经过“虚拟管线(virtual plpe)”所完成的。而一旦虚拟管线建立好之后,每个端点就会传回“描述(descriptor)”此设备的相关信息(即描述符)给主机。这种“描述”信息内含了:群组特性、传输类别、最大封包大小与带宽等关于此外围设备的重要信息。目前USB的数据传输类别有4种类型:控制、中断(interrupt)、批量(bulk)与等时(1-

USB基础知识总结

USB基础知识总结

qq_41483419的博客 2万+

从“破解”到应用:三菱数控系统M80协议逆向分析与工业数据采集网关搭建指南

本文深入解析三菱数控系统M80协议的逆向分析方法与工业数据采集网关搭建技术。通过TCP协议实现跨平台通信,详细介绍了M80协议的数据包结构、多语言实现方案(C#、Java、C/C++)以及Linux数据采集网关的架构设计与容器化部署。为工业自动化领域的开发者提供从协议分析到企业级数据采集落地的完整解决方案。

weixin_29228781的博客 1212

傅里叶红外(FT-IR):Origin数据处理、光谱绘图、曲线优化、图形美化

双击 X 轴,选择“轴线和刻度线”,设置粗细为“2”(较常用的粗细度),主刻度和次刻度为“朝内”,然后在此对话框内选择左轴,设置粗细为“2”,主刻度和次刻度为“无”,上轴和右轴同左轴。(4)在第二个图层基础上新建第三个图层,针对第二组数据重复上述中(1)和(2)的操作,再添加第三组数据的折线图,并重复上述中(3)的操作。FTIR 光谱上的峰只有相对的强弱,因此只分析一个光谱上的一个峰的强度大小并无意义,一般分析两个光谱在同一位置的峰强相对大小,或者分析同一光谱不同位置的峰强相对大小并与另一光谱进行比较。

qiushireader的博客 3933

USB开设备开发学习之三:USB中的端点详细了解

原文:https://blog.youkuaiyun.com/go_str/article/details/80985717    前言     端点在实际的USB通讯过程种的具体作用与含义十分重要,但是有些难以理解,自己整理一些知识作为备忘。 (注:     1、文中的EP表示Endpoint; ) 一、端点概念。     端点(Endpoint),是主机与设备之间通讯数据的接收或来源。主机与设备之间通信...

chunfangzhang的博客 4509

Unidbg逆向阿里系App签名:从环境补全到算法还原实战

在移动安全与协议分析领域,理解应用层签名机制是核心挑战之一。签名算法作为保障通信安全与身份验证的关键技术,其原理通常涉及哈希、加密及密钥协商等基础密码学概念。在Android平台,核心签名逻辑常被加固并隐藏于Native层SO库中,以对抗动态调试与静态分析,这为安全研究和协议兼容带来了技术障碍。Unidbg作为一种基于模拟执行的逆向工程工具,通过模拟ARM指令集和系统调用,允许研究者在脱离真机环境的情况下,可控地执行和调试SO文件,为解决此类问题提供了创新思路。其技术价值在于实现了对加固代码的确定性分析与算

weixin_42525738的博客 939

从零开始学USB(七、端点、管道、接口、配置、设备)

端点(endpoint):端点是USB设备的唯一可识别部分,其是主机和设备之间的通信流的终点。它是一个USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据。每个USB逻辑设备由一...

枫潇潇 4826

ROS2_control 对机器人控制(不完整,有时间再更新)

会提示安装好其他相应的东西# 本来应该还要有ros-humble-gz-ros2-control,但是直接安装提示定位不到ros2 control --help # 输出 Commands:list_controller_types 输出可用的控制器类型及其基类list_controllers 输出已加载控制器的列表、类型和状态list_hardware_components 输出可用硬件组件列表list_hardware_interfaces 输出可用命令和状态接口列表。

m0_52113469的博客 2468

c#笔记之mes上传Http协议版

HTTP(超文本传输协议) 是一种典型的协议。

qq_61441787的博客 345

USB端点,管道

从逻辑上讲 USB数据的传输是通过管道进行的,USB系统软件通过默认控制管(与端点0相对应的管道)管理设备,设备驱动程序通过其它的管道来管理设备的功能接口,实现数据交互。数据端点用于数据的传输,一个 USB 设备可以包括若干个数据端点,不同的端点以端点编号和方向区分,不同的端点有不同的特性,可以支持不同的传输类型、访问间隔以及最大数据包大小等。微观的看是在主机软件Buffer和设备端点之间进行,可以认为USB 通讯就是主机软件Buffer和设备端点之间的数据交换,交换的通道即称为管道。

audio usb 952

机器学习kaggle报告-Facial Keypoints Detection【完整解题过程+代码】

在处理面部关键点检测任务时,首先需要将存储在 CSV 文件中的图像数据转换为可以显示和分析的图像。数据集中每个图像是以一个一维数组的形式存储,其中包含了图像的所有像素值。为了将这些数据转化为实际的图像,我们需要按照一定的规则将这些像素值重新排列为一个二维矩阵(即图像的行列)。下面是一个案例,展示了如何将数据集中的图像数据转化为图片。转化过程读取CSV文件:首先,我们需要读取包含图像数据的 CSV 文件,通常该文件包含多张图像的像素值。每一行表示一张图像,并且包含图像的像素值列表。提取图像数据。

一键难忘的博客 3353

USB端点与管道

      USB设备中的唯一可寻址部分是设备端点。端点是主机与设备之间通信的目的或来源。控制端点可以双向传输数据,而其它端点只能在单方向传输数据。主机和设备的通信最终作用于设备上的各个端点,它是主机与设备间通信流的一个逻辑终端。每个USB设备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中的每个端点在设备内部有唯一的端点号。这个端点号是在设计设备时给定的。每个端点都是一个简单

Augusdi的专栏 4366

YOLO26改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLO26-L !!! 最新的发文热点

Vision Clue Merge模块在Mamba - YOLO模型中同样重要,主要负责在模型的下采样过程中处理特征图,为后续的特征融合和目标检测任务提供更有效的信息。

Limiiiing的博客 472

Sigrity SystemSI仿真分析教程文件路径

为了方便读者能够快速上手和学会Sigrity SystemSI 的功能,将Sigrity SystemSI仿真分析教程专栏所有文章对应的实例文件上传至以下路径。

weixin_54787054的博客 711

USB的端点与管道以及设备、配置、接口、端点

1、端点的引入 2、端点与管道 3、特殊端点 4、USB端点的四种类型 5、USB逻辑设备

qingkongyeyue的博客 4392

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux libusb USB开发(一)—— USB设备基础概念

在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的。一个USB设备由3个功能模块组成:USB总线接口、USB逻辑设备和功能单元: a -- 这里的USB总线接口指的是USB设备中的串行接口引擎(SIE); b -- USB逻辑设备被USB系统软件看作是一个端点的集合; c -- 功能单元被客户软件看作是一个...

爱机械的假程序猿的博客 5031

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

USB 软件、端点和管道

     在实际的实现上,具体的系统要比这复杂,不同层次的实现者对USB有不同要求,这使得我们必须从不同的层次观察UBS系统。UBS系统提出了一些重要的概念来支持现代个人计算机所提出的可靠性要求,所以USB的分层理解是必须的。它能使不同层次的实现者只关心UBS相关层次的特性功能细节,而不必掌握从硬件结构到软件系统的所有细节。通信服务的协议按照不同的功能分为功能层、设备层和接口层。     模型

Augusdi的专栏 6724

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

USB端点与管道:通信架构核心解析与实战开发

USB端点(Endpoint)和管道(Pipe)是USB通信架构中的基础概念,决定了数据传输的效率与稳定性。端点作为设备内存中的缓冲区,通过唯一地址和方向标识实现数据收发;管道则是主机与设备端点间的逻辑连接。理解其工作原理对开发USB设备驱动、优化传输性能至关重要。USB规范定义了控制传输、中断传输、批量传输和同步传输四种端点类型,分别适用于设备枚举、HID设备、大容量存储和实时音视频等不同场景。在STM32等嵌入式开发中,合理配置端点描述符、处理端点资源冲突是常见挑战。通过分析协议栈实现和调试实践,开发者

weixin_42536058的博客 252

从零开始学USB(七、端点、管道、接口、配置、设备)【转】

端点(endpoint):端点是USB设备的唯一可识别部分,其是主机和设备之间的通信流的终点。它是一个USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据。每个USB逻辑设备由一组独立的端点组成。每个逻辑设备都有一个由系统在设备连接时分配的唯一地址。设备上的每个端点在设计时都会得到一个唯一的设备确定的标识符,称为端点号。每个端点都有一个设备确定的数据流方向。...

Tyson Zhang 755

USB端点和管道

USB设备中的唯一可寻址部分是设备端点。端点是主机与设备之间通信的目的或来源。控制端点可以双向传输数据,而其它端点只能在单方向传输数据。主机和设备的通信最终作用于设备上的各个端点,它是主机与设备间通信流的一个逻辑终端。每个USB设备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中的每个端点在设备内部有唯一的端点号。这个端点号是在设计设备时给定的。每个端点都是一个简单的连接点,或

小布丁的读书笔记 1223
上一篇: c语言,宏相关
下一篇: USB的枚举过程
你板子冒烟了
博客等级 码龄8年 1278粉丝 582原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值