USB设备在连接PC时的reset从何而来?

解决沁恒ch592单片机在tmos中使用USB总线时,接入USB Hub无法枚举频繁Reset的问题 ch592单片机接入USB Hub无法枚举频繁Reset的问题 阅读详情

最近在做烧写工具的优化工作,有一些关于USB的内容需要总结一下其中包括设备的初始化过程和枚举过程。

在枚举的过程中,设备会一直等PC端的状态,当等到reset命令时会对设备进行重新枚举。但是这个reset终端是如何而来呢?

Halt Conditions

A control endpoint may recover from a halt condition upon receiving a SETUP packet. If the endpoint does not recover from a SETUP packet, it may need to be recovered via a different pipe. If an endpoint with the endpoint number 0 does not recover with a SETUP packet, the host should issue a device reset.

在usb协议中有上面的描述,大致意思是:控制断电在接收到SETUP包的时候慧聪挂起状态恢复。如果端点没有从SETUP包恢复,它可能需要通过不同的管道来进行恢复。如果端点0没有从SETUP包中恢复,那么主机端将产生设备重启的事件。

这样就能够解释,在DFU文件工作的过程中程序要持续接收中断,等待reset之后,会对设备进行重新的枚举过程。具体的操作后续进行描述。

usb 相关文件下载:

http://www.usb.org/developers/docs/usb20_docs/

python usb 复位_如何从命令行重置USB设备? 问题描述是否可以重置USB设备的连接,而无需从PC断开/连接?具体来说,我的设备是数码相机。我正在使用gphoto2,但最近我收到“设备读取错误”,所以我想尝试执行连接的software-reset。从我可以告诉的是,没有为相机加载内核模块。唯一与外表相关的是usbhid。最佳解决办法将以下内容保存为usbreset.c/* usbreset -- send a USB port reset to... 阅读详情

相关推荐

U-Boot USB命令详解:ZYNQ平台USB存储设备初始化与读写实战

USB存储设备是嵌入式系统固件更新、日志采集和现场调试的关键载体。其工作依赖于标准USB协议栈、SCSI指令集与块设备驱动协同;在U-Boot中,需经PHY初始化、控制器注册、设备枚举、存储类识别(bInterfaceClass0x08)及LBA寻址等完整流程,才能实现可靠的数据搬运。技术价值体现在无需主机PC即可完成裸机级存储访问,支撑离线烧录、快速诊断与生产部署。典型应用场景包括ZYNQ平台U盘加载uImage、TF卡转储调试日志、QSPI固件热更新等。本文聚焦U-Boot USB子系统的核心命令链:从

weixin_42186387的博客 79

How to restart USB device(如何重启USB设备)

使用devcon.exe (源代码及可执行程序请从:http://download.youkuaiyun.com/detail/dotphoenix/9617582 下载) DevCon (Devcon.exe), the Device Console, is a command-line tool that displays detailed information about devices o

运用之妙,存乎一心 1万+

resetusb:列出USB设备并从命令行重置USB设备

列出USB设备并从命令行重置其中之一 用法: python reset_usb.py help : Show this help sudo python reset_usb.py list : List all USB devices sudo python reset_usb.py path /dev/bus/usb/XXX/YYY : Reset USB device using path /dev/bus/usb/XXX/YYY sudo python reset_usb.py search "search terms" : Search for USB device using the search terms within the search string returned by list and reset matching device sudo python rese

USB设备复位、挂起和恢复命令

转自:https://www.usbzh.com/article/detail-850.html。

qq_37391577的博客 7631

避开这些坑!用Python ReportLab生成PDF时字体处理与中文排版的5个关键技巧

本文针对Python ReportLab库在PDF自动化生成中常见的中文排版难题,提供了五个关键技巧。内容涵盖字体注册的稳健策略、段落样式的精细控制、表格内中文的换行对齐、页面布局管理以及性能优化,旨在帮助开发者彻底解决中文乱码、排版错位等问题,生成专业美观的PDF文档。

weixin_29250403的博客 624

基于强化学习方法的PID参数整定

前言 PID控制器在工业界应用非常广泛,但是PID的参数调节一般需要人工根据经验法来试。对于有经验的工程师来说,一般试几次就可以获得满足调节的参数。然而对于新手工程师却很难确定一套比较好的参数。 这里我们采用强化学习的方法来调节PID参数。 这个例子展示了如何使用双延迟深度确定性策略梯度(TD3:twin-delayed deep deterministic policy gradient)强化学习算法来调整PI控制器。整定控制器的性能与使用Control System Tuner app整定的控制器的性能

weixin_42188287的博客 2万+

USB协议-设备识别过程

USB协议 一 枚举过程: ◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态。 ◆主机检测设备。 ◆集线器使用中断通道将事件报告给主机。 ◆主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。 ◆集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求的响应。 ◆主机发送Set_

hs6662668的专栏 8997

激光雷达接收芯片选型指南:APD、SiPM、SPAD阵列的优缺点对比

本文深入对比了激光雷达接收芯片APD、SiPM和SPAD阵列的核心技术原理与性能差异。APD作为线性模式工作的稳健选择,动态范围大;SiPM具备单光子探测和高增益优势;而SPAD阵列凭借像素级数字读出和集成TDC,在时间分辨率与系统集成度上领先。文章从灵敏度、时间精度、动态范围及系统成本等多维度剖析,为不同应用场景(如车载雷达、Flash LiDAR、消费电子)的芯片选型提供实战指南。

ik6789012的博客 656

usb阅读笔记-----USB设备被识别流程

Usb设备识别加载过程 (1)集线器检测新设备 主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。) (2)主机知道了新设备连接后 每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事...

老鹰不捉小鸡 5141

airodump-ng、aircrack-ng使用教程

wifi破解、airodump-ng、aircrack-ng脚本

ssmbyss的博客 2233

海康威视 2024届 数字逻辑设计 实习笔试分析

记录一下 5月11日晚,做的海康威视的一场笔试。分享给需要的IC人。 岗位:数字逻辑设计工程师(浙江 杭州) 转载需要本人同意! 我的见解不一定都是准确的,欢迎评论区交流指正~~

记录所学,分享知识,结识挚友 1万+

USB设备断连,识别不到的排查方法

当然可以,这是一个的问题,尤其在做嵌入式开发、驱动开发或调试 USB 设备时经常遇到。

m0_57249200的博客 2607

华为OD新系统机试真题 - 端口流量统计

华为OD机试新系统真题【端口流量统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统4月26号机试真题【端口流量统计】。

qq_45776114的博客 762

USB设备识别加载

主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。) 每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事件,它给集线器发送一个Get_Status请求来了解更多的消息。返回的消息告诉主机一个设备是什么时候连接的。 当主机知道有一个新的设备时,主机给集线器发送一个Set_Featur..

zhang0613的博客 587

11. 使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别

使用 SAP ABAP SEGW 事物码实现 OData 服务的修改操作时,对于消费端通过 PATCH/MERGE 和 PUT 这三种不同类型的 HTTP 请求触发的场景,我们应该在 UPDATE_ENTITY 方法里用 IF 分支分别进行处理,原因就在于 GET_ENTITY 方法是否在修改处理逻辑的过程中被触发。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2462

PointNet++改进策略目录

后续我将如何使用文章中创新点加入的PointNet++中代码实现部分进行更新。

u012901740的博客 2196

USB设备识别加载过程

(1)集线器检测新设备 主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。) (2)主机知道了新设备连接后 每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事件,...

u010783226的专栏 852

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Usb设备识别加载过程

(1)集线器检测新设备     主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线     将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。)(2)主机知道了新设备连接后     每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事件,它给集线器发送一个Get_Status请求来了解更多的消息。返回的消息告诉主机一个设备是什么时候连接的。(3

zhongguang1019的专栏 1152

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32 usb 设备实现自动重枚举

在开发USB设备时可能会经常遇到烧录程序后要重新拔插USB接口才能使USB设备正常工作,原因是因为重新烧录后,PC没有对USB设备进行重枚举,导致无法正常工作,解决方法很简单,我们只要在程序启动后第一时间对USB接口的DP引脚进行一下拉低操作即可(模拟一下拔过程),当程序完成USB接口初始化后,相当于一直插入操作,这样PC就会对设备进行重枚举,设备就可以正常操作了: 例如可以有如下代码: ...

张十三的博客 7029

使用USB远程ssh登陆iOS设备,进行越狱开发

1. 软件环境:   * pc端下载usbmuxd-1.0.7,该软件可以使用USB SSH登录iPod touch   * 设备端下载openssh,进入cydia里面下载即可 2. 登录ios过程   * 进入 usbmuxd-1.0.7\paython-client\目录下执行:       sudo python tcprelay.py -t 22:2222     该命令是将

huyu605的专栏 1769

USB Gadget设备软插拔异常的处理方法

我们的 USB Gadget 设备是 USB 2.0 设备,插拔 USB 线时,应该在 D+ 上出现上升沿和下降沿,实测在销毁 USB Gadget 设备后,D+ 没有从高电平变为低电平,即 D+ 未能成功关闭上拉电阻。我们需要实现一个类似这样的功能:不插拔我们板子与电脑之前的 USB 连线,通过软件开关来实现相当于 USB 线插拔的功能,把我们板子与电脑用 USB 线提前连好,在我们板上执行一个连接,电脑上显示有新设备插入,再执行一下断开连接命令,电脑上显示设备被移除。

weixin_31238185的博客 81
上一篇: MFC常见错误提示:opened in another editor
下一篇: DFU工作过程中USB机制
野-百-合
博客等级 码龄17年 308粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值