目录

1.握手包的分类

2.握手包的组成

3.握手包的功能

4.批量数据传输握手包的工作方式举例

1.IN事务

2.OUT事务

3.PING事务(只在高速传输中有)

5.其他传输握手包事务图

1.中断传输

2.控制传输

3.同步传输(无握手包)


1.握手包的分类

握手包有ACK握手包、NAK握手包、STALL握手包、NYET握手包、ERR握手包

2.握手包的组成

握手包内容仅由PID域组成,PID域标志当前握手包的具体类型是ACK、NAK、STALL、NYET、ERR五种中的哪一种。

3.握手包的功能

握手包是接收方给发送方返回的状态,这样发送方可以知道接收方的当前状态。

4.批量数据传输握手包的工作方式举例

1.IN事务

(1)主机发送IN令牌包给设备功能;

(2)设备功能如果有数据会发送给主机,如果设备没有准备好数据,则会给主机发送NAK握手包(你给我要数据,我这会没有),如果设备不能进行传输,则会给主机发送STALL握手包;

(3)主机正确收到数据后,主机会给设备发送应答包ACK,一个IN事务正确传输完成。

2.OUT事务

(1)主机发送OUT令牌包给设备功能;

(2)主机发送DATA数据包给设备功能;

(3)设备功能如果有数据会发送给主机,如果设备没有准备好接收主机的数据,则会给主机发送NAK握手包(你给我发送数据,我这会忙着,没办法收,你一会再发),如果设备不能进行传输,则会给主机发送STALL握手包,如果设备正确接收数据,则会给主机发送ACK握手包,在高速USB设备传输事务中,如果设备没有准备好,则会给主机发送NYET握手包,如果设备出错,则会给主机发送ERR握手包

3.PING事务(只在高速传输中有)

(1)主机发送PING令牌包给设备功能(先查下设备的状态)

(2)如果设备正确接收数据,则会给主机发送ACK握手包,如果设备没有准备好接收主机的数据或者没有准备好给主机发送数据,则会给主机发送NAK握手包,如果设备不能进行传输,则会给主机发送STALL握手包。

5.其他传输握手包事务图

1.中断传输

2.控制传输

3.同步传输(无握手包)


1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。

2.未经原作者允许不得转载本文内容,否则将视为侵权;

3.转载或者引用本文内容请注明来源及原作者;

4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。

USB协议详解第23讲(USB包-握手包及其工作方式)相关推荐

  1. USB协议详解第0讲(系列博文介绍)

    目录 1.课程目标 2.简单介绍 3.课程大纲 1.课程目标 USB协议详解旨在为大家通俗理解USB通讯协议,我会带着大家一步一步理解USB通讯中的各种概念及通讯方式,并且会借助于USB Protoc ...

  2. USB协议详解第5讲(USB描述符-接口描述符)

    目录 1.USB描述符 2.接口描述符组成 3.STM32配置描述符集合代码(必须按照顺序) 4.接口描述符组成详解 1.USB描述符 USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符 ...

  3. USB协议详解第6讲(USB描述符-端点描述符)

    目录 1.USB描述符 2.端点描述符组成 3.STM32配置描述符集合代码(必须按顺序) 4.接口描述符组成详解 1.USB描述符 USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符. ...

  4. USB协议详解第3讲(USB描述符-设备描述符)

    我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征.USB描述符有设备描述符.配置描述符.接口描述符.端点描述符.字符串描述符, ...

  5. USB协议详解第12讲(USB传输-初探)

    目录 1.USB传输.事务.包的关系 2.USB传输类型 2.1控制传输 2.2同步传输 2.3批量传输 2.4中断传输 3.传输总结及后期内容 1.USB传输.事务.包的关系 USB传输.事务.包是 ...

  6. STM32F1 USB外设详解第0讲(系列博文介绍)

    目录 1.课程目标 2.简单介绍 3.读者须知 1.课程目标 STM32 USB外设详解系列博文目的是让大家深入理解STM32 USB外设原理,主要对USB外设功能框图和所有寄存器深度剖析.只有知其然 ...

  7. 通俗易懂的USB协议详解(转…

    原文地址:通俗易懂的USB协议详解(转载) 作者: Branchesss 转自东海的博客http://6xudonghai.blog.163.com/blog/static/3364062920086 ...

  8. 32 usb 配置描述符_USB协议详解第4讲(USB描述符标准配置描述符)

    关注+星标公众号,不错过精彩内容 编排 | 一个早起的程序员 一个早起的程序员 1 USB描述符USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符.字符串描述符,HID设备有HID描述符 ...

  9. Android USB 开发详解

    Android USB 开发详解 先附上 Android USB 官方文档 Android通过两种模式支持各种 USB 外设和 Android USB 附件(实现Android附件协议的硬件):USB ...

  10. linux usb声卡 submit urb,linux usb urb详解

    linux usb urb详解 谨以此文纪念过往的岁月 一.前言 在前文中看过了hub的驱动以及host的驱动还有usb设备的驱动,在把这些东西关联起来的东东中,一个很重要的urb(usb reque ...

最新文章

  1. linux 路由器去广告,linux – 如何正确发送路由器广告?
  2. Shell教程(五):替代、引用机制、输入输出重定向
  3. go 切片slice删除元素的方法
  4. netstat命令查看套接字信息
  5. html 循环tr只显示一个,动态加载进来的tr该如何去循环查看它的值呢
  6. windows挂载linux网络文件系统NFS
  7. 在 Azure VM 上使用 Jitsi 搭建私人视频会议
  8. 封装动态数组类Array
  9. vs2012建立java,在Microsoft Visual Studio 2012中使用Java
  10. 成都信息工程大学上岸软件工程专硕经验分享
  11. linux USB摄像头 V4L2工具调试摄像头
  12. 华为版计算机软件,Huawei华为手机PC客户端软件
  13. 十大虚拟化最佳实践(转自Wes Miller的文章)
  14. 怎么安装光盘并重新启动计算机,如何用光盘重新安装电脑系统
  15. 微信企业号(公众号)开发流程汇总
  16. 日记记事本java实训,黑马学习日记  GUI实现简单记事本功能
  17. 人人都该了解的思维修炼
  18. Java 监控方案_Java 服务端监控方案
  19. iReport制作报表
  20. pandas取每行最后一个非空元素

热门文章

  1. 步进电机 高速光耦_高速光耦有哪些_高速光耦如何选型 - 全文
  2. 使用MATLAB计算个人所得税
  3. Cadence OrCAD Capture 在图纸中添加系统框图的方法
  4. STM32CubeMX - 系统框图
  5. 润迈德医疗上市首日跌15%:年亏6.3亿 平安资本是股东
  6. 计算机软件又必须包括什么,计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括______?...
  7. 深度学习目标检测模型的评价标准-AP与mAP
  8. 连续时间 Markov 链从某一状态 i 转移到其他状态之前在 i 逗留的时间服从指数分布
  9. mysql rrd_将RRD数据库中数据导入MYSQL中_MySQL
  10. PHP 生成 csv 文件时乱码解决