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 发送的setFeature (portreset), 可以对device发送reset 信号。

2、 Reset 的规范

1、FS/LS mode
device 如果是在FS/LS mode 下, 当host 将D+/D- driver 成SE0 后, spec 规定Device 应该在检测到SE0 超过2.5us 后,将这个信号识别为Reset 信号。

2、HS mode

  1. hub 需要先check device 确保其不会是 LS device(Spec 规定LS device 不会支持HS)。这一点很好理解, HS 进入suspend是需要切换到FS mode, 而 LS device D+/D- 和FS device相反,所以无法实现切到FS mode。

  2. hub 收到host 发送的setFeature (portreset),将D+/D- drives SE0。

  3. device 去检测到SE0。

这里需要分几种情况考虑:1) device 在suspend 的情况下, hub 发送reset。device 检测到SE0, 到进行 HS handshake, 时间间隔不少于2.5us(就是device检测到SE0 到打chirp K 的时间)2) device 在FS mode下且是non-suspend 的情况下, hub 发送reset。device 检测到SE0, 到进行 HS handshake, 时间间隔不少于2.5us 且不长于3ms (就是device检测到SE0 到打chirp K 的时间)3) device 在HS mode下且是non-suspend 的情况下, hub 发送reset。1. 高速设备在收到挂起信号(3ms空闲,这3ms不会打SOF)后,应在0.125ms内切换到全速状态,也就是说要把终端电阻移除,并在D+数据线上重新挂上1.5k上拉电阻。2. 设备在随后的100-875µs内检测数据线上的状态。如果该状态是一个Full speed J(D+ =1, D- =0),那么说明host发下来的是一个挂起信号;如果此时该状态是SE0(D+ =0,D- =0),说明是host drive数据线D+到0,这是一个复位信号(复位信号会持续至少 10ms 时间)。
  1. Device 进行HS handshake
    device 检测到Reset 后, 在2.5us(最少) 后,开始打chirp K (电压幅度800mv) 持续时间最短1ms, spec 规定 chirp K 结束时间不能晚于7ms(即从RESET 开始检测到SE0 到打完ChirpK 要小于7ms)

  2. Hub 检测到Chirp K 后,开始打3 组chirp KJ。
    spec 规定, 在Device chirp K 打完之后,100us 内hub 必须开始打chirp KJ,3组 chirp KJ 必须在500us 内打完 (单个chirp K 或者 J 持续时间>=40us 且<=60us)。

  3. Device 打完chirpK 后会去检测 hub 的chirp K-J-K-J-K-J。
    1、如果检测到chirp K-J-K-J-K-J ,需要在500us 内,将FS 的上拉电阻移除,进入HS mode。
    2、Device 如果在(1~2.5)ms内没有检测到chirp K-J-K-J-K-J ,则留在FS mode 等待reset 结束。

USB2.0 reset 的几种情况相关推荐

  1. 安卓获取摄像头帧率_一种基于android终端提高USB2.0摄像头高分辨率高帧率的方法...

    一种基于android终端提高USB2.0摄像头高分辨率高帧率的方法 [技术领域] [0001 ]本发明涉及通讯技术领域,尤其涉及一种基于android终端提高USB2.0摄像头高分辨率高帧率的方法. ...

  2. 安卓获取摄像头帧率_一种基于android终端提高USB2.0摄像头高分辨率高帧率的方法_2015109767475_说明书_专利查询_专利网_钻瓜专利网...

    技术领域 本发明涉及通讯技术领域,尤其涉及一种基于android终端提高USB2.0摄像头高分辨率高帧率的方法. 背景技术 多媒体终端基于android平台,在会议应用等场景中,需要使用外置的USB摄 ...

  3. FPGA 20个例程篇:11.USB2.0接收并回复CRC16位校验

    第五章 外设接口通信,举一反三 11.USB2.0接收并回复CRC16位校验 外设接口通信底层设计也是FPGA广泛应用的领域,常用的外设接口按照通信速度由慢到快排列又有:串口.USB2.0.千兆网口. ...

  4. 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

    注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...

  5. 执行update语句,返回受影响行数为0的几种情况

    首先我们都很清楚执行update语句,返回的结果是受影响的行数这是要先说的, 其次本人遇到执行update语句返回0的情况有两种 1.Update的sql语句中的where条件不成立时,返回结果是0 ...

  6. C语言实现ax^2+bx+c=0二元一次方程求解 三种情况

    使用判别式的方法解二元一次方程 ∆的三种情况都有 但还有很多优化空间,包括函数变量的调用,输出等等. #include <stdio.h> #include <math.h>i ...

  7. USB 之一 USB2.0 规范详解 第一部分

    注意 对于物理特性仅做简单说明 主要是针对 USB 2.0 规范的前八章.后续见 第二部分 关于USB 2.0   在USB官方网站( http://www.usb.org/ )包含了我们必需的所有的 ...

  8. Linux USB驱动分析(一)----USB2.0协议分析

    原文地址:http://blog.chinaunix.net/uid-25445243-id-4040449.html 一.USB硬件介绍 1.1.概述 一条USB传输线分别由地线.电源线.D+和D- ...

  9. Zynq7000 USB2.0协议解析及USB控制器详解

    USB 2.0规范及控制器 文章目录 USB 2.0规范及控制器 USB2.0 Univerasl Serial Bus USB Host USB总线 接口标准 总线信号 USB拓扑结构 数据流模型 ...

最新文章

  1. mysql不能改路径到d盘_Windows Server 2008 R2修改MySQL 5.5数据库目录为D盘示例
  2. linux网口驱动实现(待续)
  3. HashSet,TreeSet和LinkedHashSet的区别
  4. hibernate、java、数据库对应类型
  5. OCR文本检测-RRPN
  6. java sha1withrsa公钥加密_数字签名----sha1withrsa
  7. 未能找到服务器的主机名,未能找到服务器的主机名
  8. 《Finite-Element Neural Networks for Solving Differential Equations》梳理
  9. [唐诗]诗(选二首)-王梵志
  10. 毕业设计论文封面模板
  11. 拦截导弹 (最长上升子序列LIS)
  12. 金蝶KIS专业版二次开发探索
  13. java doevents_Application.DoEvents()和多线程
  14. [问题]Make sure that `gem install pg -v '0.17.1'` succeeds before bundling.
  15. 手机lightroom预设位置
  16. 题解 [SP4354][AcWing137]TWINSNOW - Snowflakes/雪花雪花雪花
  17. shell入门学习笔记-12-命令详解: echo与printf
  18. 舒舍 舍友的北漂租房故事
  19. 如来昔在然灯是和所时_TGB
  20. 汽车新零售sql实战

热门文章

  1. 视频跟踪算法之粒子滤波
  2. 2021年流动式起重机司机新版试题及流动式起重机司机复审考试
  3. vim 实现批量注释
  4. 轻量级浏览器Midori
  5. 【sql】You can‘t specify target table for update in FROM clause
  6. 阿里巴巴中国站获取1688app上原数据 API 返回值说明
  7. 公钥,私钥概念以及RSA概念总结
  8. qemu 网络端口映射
  9. 一步真实解决:TypeError: Cannot handle this data type: (1, 1, 6), |u1
  10. 实验五 触发器及其应用