USB速率识别
低速设备D-上有一个1.5k欧的上拉电阻。高速和全速设别在D+上有一1.5k欧上拉电阻。连接后通过检测电压变化来了解设备是否为低速设别。
低速下:D+为“0”,D-为“1”是为“J”状态,“K”状态相反;
全速和高速下:D+为“1”,D-为“0”是为“J”状态,“K”状态相反;
低速下空闲状态为“K”状态;全速下空闲状态为“J”状态;高速下空闲状态为“SE0”状态;
对于全速操作,SE0表示为复位和EOP,持续时间大于2.5us表示总线复位;
对于高速操作,SE0维持3ms~3.125ms,设备进入全速状态,全速后100us~875us内采样,如果继续维持SE0,则设备总线复位,开始高速握手;若变为“J”状态,则进入挂起状态”suspend“。
高速握手条件:
1.设备处于挂起状态,若出现SE0则立即开始高速握手;
2.设备处于全速,SE0持续2.5us,则开始高速握手;
3.设别处于高速,SE0持续3.0ms,切继续持续,则开始高速握手。
高速握手过程处于总线复位阶段。
chirp J,只有D+被驱动,chirp K相反。
高速握手过程:
当设备为非低速设备,且总线处于SE0状态才可以进行高速握手。
1.在复位阶段,scvrselect和termselect为全速状态,DP被上拉,HS terminations被屏蔽,opmode被驱动disable bit stuffing and nrzi encoding状态。
2.xcvrselect变为高速时,设备发送chirp K暨全零信号到主机,同时txvalid有效。
3.高速集线器检测到chirp K后发送一串交替的chirp K J对,设备检测到三个chirp K J对后,驱动termselect为高速。
4.高速集线器发现termselect变化后持续若干chirp K J对后进入短暂SE0状态,之后便开始发送sof 包。
5.高速握手成功。
若设备在发送chirp K后没有相应,则设备只能工作在全速模式。
USB速率识别的更多相关文章
- JLINK(SEGGER)灯不亮 USB不识别固件修复、clone修改
今天调SMT32插拔几下,JLINK竟然挂掉了网上找了这个教程,搞了半天才搞好,驱动没装好!WIN7系统,自动安装的驱动是GPS.COM10,郁闷,错误来的.应该是:atm6124.sys.要手动选择 ...
- 电脑无法识别U盘(usb类外接设备)的解决办法
首先分析USB无法识别的硬件原因: 1.BIOS禁用了USB设备.(进入BIOS,将"Enable USB Device"修改为"Enable") 2.USB接 ...
- USB接口无法识别设备
http://windows.microsoft.com/zh-cn/windows/answers?tId=14fa1e44-0a19-48ef-9ba7-b7e512a837a4 小琼子 提问 2 ...
- Linux中显示系统中USB信息的lsusb命令
来源:Linux中国 原文:https://linux.cn/article-2448-1.html 通用串行总线(USB)被设计成为连接计算机外设的标准,如键盘.鼠标.打印机.数码相机.便携式媒体 ...
- USB2.0速度识别
我们知道USB2.0向下兼容USB1.x,即高速2.0的hub能支持所有的速度类型的设备,而USB1.x的hub不能支持高速设备(High Speed Device).因此,如果高速设备挂到USB1. ...
- USB Mass Storage学习笔记-STM32+FLASH实现U盘
一.内容概述 采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器 ...
- 驱动07.USB驱动程序
1 了解USB识别的过程 eg:在Windows系统下的一个现象:把手机的USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱 ...
- (八) Usb摄像头描述符解析
目录 Usb摄像头描述符解析 总结 参考资料 打印设备描述符 打印配置描述符 打印接口联合体描述符 打印接口描述符 打印当前设置的额外描述符 代码解析额外的描述符 打印端点描述符 title: Usb ...
- linux usb总线驱动(一)
目录 linux usb总线驱动框架 USB 介绍 传输类型 控制器接口 2440接口 基本流程 alloc_dev choose_address hub_port_init usb_get_devi ...
随机推荐
- [Android教程] Cordova开发App入门(一)创建android项目
前言 Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的A ...
- 20170706wdVBA保存图片到本地API
Private Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(0 To 7) As Byte End Type Pri ...
- highcharts图表配置参数汇总
一.chart的部分相关属性说明 renderTo: 'container', //图表的页面显示容器(也就是要显示到的div) chart.events.addSeries:添加数列 ...
- axios构建缓存池存储基础数据
项目中经常出现需要多次使用的后端数据,通常的做法是通过变量缓存数据,或者通过类似vuex的东西来进行缓存,但是麻烦在于很可能需要判断一大堆的条件,或者说如果有权限控制的时候数据能否读取也是很麻烦的事情 ...
- Eclipse已经安装了SVN插件,但是在获取SVN代码时,一直处于progress....
Eclipse已经安装了SVN插件,但是在获取SVN代码时,一直处于progress.... 后来升级把SVN插件升级到了1.10x,在获取就看轻轻松松搞定了 由此得出: 在安装EclipseSVSN ...
- List原理
ArrayList: ArrayList是一个可变数组实现,实现了List接口的所有方法,并允许存取null值.ArrayList基本上等同与Vector,但它只对writeObject()和read ...
- app.jsNodejs启动测试服务
'use strict'; var express = require('express');var app = express('');var fs = require('fs'); app.get ...
- Oracle导出空表解决办法
在oracle 11g 中,发现传统的exp不能导出空的表 oracle 11g 新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true.具体是什么意思呢 ...
- js图片切换 带左右控制的
代码下载
- QT环境下实现UI界面的“拼图游戏”
main.cpp #include "mainwindow.h" #include <QApplication> int main(int argc, char *ar ...