USB2.0设备检测过程信号分析
1.简介
USB设备接入的Hub端口负责检测USB2.0设备是否存在和确定USB2.0设备的速度。检测设备是否存在和确定设备速度涉及一系列的信号交互,下面将分析该过程。
2.硬件
USB低速设备和全速/高速设备的连接器在硬件结构上有所不同,而主机或者Hub接收端连接器的D+、D-接有15K的下拉电阻。
2.1.Low-speed
USB低速设备连接器的D-接有1.5K的上拉电阻。

2.2.Full-/High-speed
USB高速设备连接器的D+接有1.5K的上拉电阻。

3.信号电平
在分析USB2.0设备的检测过程之前,需要先了解一下低速、全速、高速设备信号电平及电气参数。
3.1.Low-/Full-speed
低速、全速设备使用电压信号,总线状态对应的电平范围如下表所示。

低速、全速设备的关键电平范围如下表所示。

低速、全速设备的数据信号电平范围的示意图如下所示。

3.2.High-speed
高速设备使用电流信号,总线状态如下表所示。

高速设备的关键电平范围如下表所示。

4.检测过程
Hub识别设备的过程,同时也是检测设备速度的过程,具体流程如下:
- 由于低速设备D-接有1.5K上拉电阻,当设备接入Hub时,Hub的D-会被拉高,此时Hub会检测到有低速设备接入,而全速和高速设备D+接有1.5K上拉电阻,当USB设备接入USB Hub时,Hub的D+会被拉高,此时Hub会检测到有全速或高速设备接入。D-或D+拉高最少为2V。
- 当D-或D+被拉高后,主机识别到有设备接入,会将D+和D-拉到低于0.3V,使总线处于SE0状态,并持续2.5us以上,将设备复位。此时Hub已经能区分低速和全速/高速设备。
- 若是高速设备,则会向D-灌入电流,在总线上形成Chirp K状态,至少持续1毫秒,但不超过7毫秒。Hub检测到Chirp K信号持续的时间至少为2.5微秒。若Hub没检测到Chirp K信号或Hub只支持低速或全速,则会一直保持SE0状态,直到复位完成。
- 若Hub支持高速,则在总线退出Chirp K状态的100微秒内,Hub开始发送交替的Chirp K和Chirp J序列(K-J-K-J-K-J),Chirp K和Chirp J状态必须连续,无空闲状态。Chirp K和Chirp J序列持续时间范围为100微秒-500微秒。每个Chirp K和Chirp J持续的时间不小于40微秒,不超过60微秒(Hub发送交替的Chirp K和Chirp J序列的目的是使总线保持活跃状态,避免设备进入Suspend状态)。
- 如果设备检测到了Hub发送的Chirp K和Chirp J序列,设备将在500微秒内断开D+的上拉电阻,使能高速功能并进入高速默认状态。如果设备在1毫秒-2.5毫秒内没检测到Hub发送的Chirp K和Chirp J序列,设备将进入全速状态并等待复位完成。
下图是使用示波器抓到的USB2.0设备检测过程的波形图。

参考资料
- https://www.bilibili.com/read/cv23983705/
- https://blog.csdn.net/weixin_51028584/article/details/130922300
- https://blog.csdn.net/nm19920223/article/details/132587381
相关文章:
USB2.0设备检测过程信号分析
1.简介 USB设备接入的Hub端口负责检测USB2.0设备是否存在和确定USB2.0设备的速度。检测设备是否存在和确定设备速度涉及一系列的信号交互,下面将分析该过程。 2.硬件 USB低速设备和全速/高速设备的连接器在硬件结构上有所不同,而主机或者Hub接收端连接…...
Go语言物联网开发安科瑞ADW300/4G电能表数据上传mqtt平台-电表接线到传输数据完整流程
电能表功能说明 ADW300是方便用户进行用电监测、集抄和管理,可灵活安装在配电箱中,可用于电力运维、环保监管等在线监测类平台中。我们本案例是用于工业售电公司对出售电的管理,设备可以监控用电情况、故障监控及警报,售电公司可…...
LabVIEW质谱仪开发与升级
LabVIEW质谱仪开发与升级 随着科技的发展和实验要求的提高,传统基于VB的质谱仪系统已经无法满足当前的高精度和高效率需求。这些系统通常存在着功能不全和操作复杂的问题,影响了科研和生产的进度。为了解决这些问题,开发了一套基于LabVIEW开…...
SwiftUI之DragGesture
SwiftUI中的DragGesture是一种手势识别器,用于捕捉用户拖拽操作。通过DragGesture,我们可以监听用户在视图上的拖拽行为,并对其进行响应。 在SwiftUI中,我们可以将DragGesture应用于任何视图,以便捕捉拖拽手势。在Dra…...
主网NFT的发布合约
1.什么是nft? NFT:Non-fungible-token 非同质化货币 2.新建suimove项目 使用sui move new 项目名命令新建sui move项目 sui move new nft_qyx项目结构如下: 3.写nft合约 module qyx123::nft{use sui::object::{Self, UID};use sui::transfer;use sui::tx_context::{Sel…...
分享2024年在家轻松兼职赚钱的5个副业
今天在网上看到这么一句话,真的让我深有感触:“职场人一定要有居安思危的意识,创业的人一定要三思而后行”。在这个瞬息万变的时代,连被视为铁饭碗的公务员、教师等体制内工作都不能保证一辈子的稳定。发展副业,似乎成…...
电脑小问题:Windows更新后黑屏
Windows 更新后黑屏解决方法 在 Windows 更新后,伴随了一个小问题,电脑启动后出现了桌面黑屏。原因可能是火绒把 explorer.exe 当病毒处理了。 下面讲解 Windows 更新后黑屏的解决方法,步骤如下: 1. 按 ctrl alt delete 组合键…...
C++指针(四)万字图文详解!
个人主页:PingdiGuo_guo 收录专栏:C干货专栏 前言 相关文章:C指针(一)、C指针(二)、C指针(三) 本篇博客是介绍函数指针、函数指针数组、回调函数、指针函数的。 点赞破六…...
商品管理系统设计100问?
你的系统是用于哪种类型的商品管理?比如电子商品、实体商品、服装、食品等等?你需要管理哪些商品信息?比如名称、描述、价格、库存等等?你是否需要对商品进行分类?如果是,分类的结构是怎样的?你…...
Python的反射
通过字符串的形式操作对象的属性 class Person(object):def __init__(self,name,age) -> None:self.namenameself.ageagedef walking(self):print("walking......")获取对象的属性 pPerson("Recardo",12) # 获取队形的name属性 agetattr(p,"nam…...
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…...
UE5.1_Varest_Warning
UE5.1_Varest_Warning LogVaRest: Warning: UVaRestRequestJSON::GetResponseContentAsString(637): Response content string is cached LogVaRest: Warning: UVaRestRequestJSON::GetResponseContentAsString(637): Response content string is cached是警告也是报错&#…...
硬盘温度过高会怎么办?机箱温度多少算正常?
硬盘温度 硬盘在使用过程中,断电很容易导致数据丢失,但如果温度过高,也可能对硬盘造成损坏。 硬盘的温度是决定电脑能否正常使用的重要因素。 如果长时间读取和存储数据,硬盘的温度会升高。 那么,硬盘的正常温度是多少…...
fs模块_写入文件
fs:file system(文件系统) fs 模块可以实现与硬盘的交互例如文件的创建、删除、重命名、移动,还有文件内容的写入、读取,以及文件夹的相关操作 // 需求: // 新建一个文件,座右铭.txtÿ…...
flutter无法在windows平台上拖拽文件到它的窗口中
我碰到的问题是调试模式下没办法拖拽。 即便使用了第三方包desktop_drop和cross_file,还是这样。 但是一旦构建之后就能正常运行了。 推测是在构建的过程中,flutter往windows包裹代码中加了东西。 跟AI对话之后,推测一个可能的解决方法是修改…...
[递归、搜索、回溯]----递归
前言 作者:小蜗牛向前冲 专栏:小蜗牛算法之路 专栏介绍:"蜗牛之道,攀登大厂高峰,让我们携手学习算法。在这个专栏中,将涵盖动态规划、贪心算法、回溯等高阶技巧,不定期为你奉上基础数据结构…...
XS2100S:IEEE 802.3af/at 兼容、用电设备接口控制器,集成功率MOSFET V1.0.3
XS2100S:IEEE 802.3af/at 兼容、用电设备接口控制器,集成功率MOSFET V1.0.3 北京冠宇铭通 肖小姐 概述 XS2100S 为用电设备 (PD) 提供符合以太网供电 (PoE)系统 IEEE802.3af/at 标准的完整接口。 XS2100S 为 PD 提供检测信号、分级信号以及带有浪…...
智慧城市如何助力疫情防控:科技赋能城市安全
目录 一、引言 二、智慧城市与疫情防控的紧密结合 三、智慧城市在疫情防控中的具体应用 1、智能监测与预警系统 2、智慧医疗与健康管理 3、智能交通与物流管理 4、智慧社区与基层防控 四、科技赋能城市安全的未来展望 五、结论 一、引言 近年来,全球范围内…...
Chromium内核浏览器编译记(四)Linux版本CEF编译
转载请注明出处:https://blog.csdn.net/kong_gu_you_lan/article/details/136508294 本文出自 容华谢后的博客 0.写在前面 本篇文章是用来记录编译Linux版本CEF的步骤和踩过的坑,以防止后续再用到的时候忘记,同时也希望能够帮助到遇到同样问…...
NextJs教程系列(一):介绍安装
什么是 Next.js Next.js 是一个用于构建全栈 Web 应用程序的 React 框架。您可以使用 React 组件来构建用户界面,并使用 Next.js 来构建其他功能和优化。 Next.js 的特点 构建全栈 Web 应用程序的 React 框架。为 React 提供了开箱即用的服务器端渲染。为 React …...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
当下AI智能硬件方案浅谈
背景: 现在大模型出来以后,打破了常规的机械式的对话,人机对话变得更聪明一点。 对话用到的技术主要是实时音视频,简称为RTC。下游硬件厂商一般都不会去自己开发音视频技术,开发自己的大模型。商用方案多见为字节、百…...
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础,但这一子系统结构复杂,常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题,需要一套工具化、…...
