USB2.0(一):基础
一、总线标准
- USB1.1:支持12Mbps全速率(FullSpeed)和1.5Mbps低速率( HalfSpeed)
- USB2.0:支持480Mbps高速率(High Speed),兼容1.1
- USB3.0:支持5Gbps超高速率(超速传输),兼容2.0
二、硬件结构
- USB2.0工作模式分为低速(1.5Mb/s)、全速(12Mb/s)、高速(480Mb/s);
低速和全速是电压驱动型,高速是电流驱动型 - USB2.0 物理层为 4 根线,差分线:D+、D-电源线:VCC、GND
其中 D+ 与 D- 共有 4 种状态:
Chirp J State:D+ = 1, D- = 0
Chirp K State:D+ = 0, D- =1
SE0:D+ = D- = 0
SE1:D+ = D- = 1 usb低速设备,D- 端口上拉1.5K电阻至VCC,空闲状态(D+、D-)显示为01(Chirp J);
usb全速设备,D+端口上拉1.5K电阻至VCC,空闲状态(D+、D-)显示为10(Chirp K);
Chirp J 和 Chirp K 状态只出现在高速模式的速度检测握手协议中,即设备从全速识别为高速设备的状态转换过程中。
- Chirp J / K(⭐)
高速模式是电流驱动,其 J / K 信号是由一个 17.78uA 的电流源向 D+ 和 D- 数据线产生
当 USB主机进入高速模式后,主机和设备两端的 D- 和 D+ 全部断开 D+ 数据线上的上拉 1.5K 电阻,并挂载 45Ω 的等效终端电阻(这两个电阻并联之后为约为22.5Ω),因而可以在D+ 或者D- 数据线上形成约为 400mV 的高速 J / K 信号。高速设备在连接到 USB主机时默认为全速模式,因而此时USB设备端还未挂接 45Ω 终端电阻,而是挂载了1.5K的上拉电阻,此时USB设备端的1.5K上拉电阻和主机端的 45Ω 并联后约45Ω,因此会在 D+ 和 D- 上会形成 800mV(17.78x45)的差分信号
三、握手过程
- usb设备接入USB主机后,usb设备检测到 VBUS 电源后就会挂载上拉1.5K电阻;
usb设备检测到 D+或者D-上有高电平产生,便认为已接入主机
USB主机检测到D+或D-上电压从0V变化到2V以上,便确定usb设备已经连接主机
USB主机确认usb设备连接后,发出一个复位信号,使设备进入初始状态
复位信号(SE0状态)持续时间在10ms以上,在此时间内,系统完成整个高速握手协议 usb设备检测到复位信号后,在 ≥2.5us且≤3ms 的时间内开始发起高速握手协议,确保本身1.5K的上拉电阻已经挂载,且45R 的等效对地电阻没有挂载,之后usb设备端向 D- 流入17.78mA的电流,然后USB主机端的45R 的等效对地电阻和下拉电阻15K 并联,总线上产生一个大约为800mV的电压,持续至少1ms,这就是Chirp K 信号,信号结束后,USB主机恢复SE0 状态
USB主机检测到信号变化,便认为usb设备的Chirp K 信号结束
如果主机检测到Chirp K 的信号没有持续2.5us以上,则认为检测不到,并会一直驱动总线为SE0 状态 直至复位信号结束,高速信号握手协议结束,主机和设备都会工作在全速模式。
如果主机检测到Chirp K 信号持续2.5us以上,则认为是有效状态,开始发送 三对K/J 序列,发送的时间必须是在Chirp K信号结束后的100us内,每个单独发送的Chirp K和Chirp J状态都必须是连续的且持续时间是40~60us,如果中间USB总线持续3ms没有任何的状态,设备就会进入挂起模式,Chirp K/J信号需要持续发送直到复位信号结束前的100us~500us为止。主机端完成了三对K/J信号发送,设备端检测到三对K/J信号后,在500us内,将D+上的1.5K的电阻移除,并挂载高速的45R 的等效对地电阻,进入高速模式,此时与主机的45R并联等效电阻变成了22.5R,D+ 和D- 的电压变成400mV。
USB2.0(一):基础相关推荐
- USB2.0协议原文阅读笔记
1. 前言 在了解一个协议时,有几点是十分重要的: 层次结构 应用场景 不同的开发者,关心的协议层不一样,不是所有的都需要掌握. 为了向下兼容的设计 USB2.0是从USB1.0的基础上发展而来的,能 ...
- STM32驱动开发(二)--USB Device RNDIS虚拟网卡(USB2.0 基础概念讲解)
STM32驱动开发(二)–USB Device RNDIS虚拟网卡(USB2.0基础概念讲解) 一.简介 本文基于stm32 Rndis实例,github开源, 使用STM32F407单板.结合协 ...
- 硬件知识:USB3.0和USB2.0的区别,看完你就懂了!
1.USB的概念介绍 USB是计算机公司和通信公司在1994年联合制定的新一代接口标准,全称为通用串行总线 (Universal Serial Bus,USB) .USB 总线作为一种高速串行总线,其 ...
- FPGA通信第一篇--USB2.0
FPGA通信第一篇–USB2.0 1 初识USB 1.1 简介 USB(UniversalSerialBus)是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据.在USB1.0和USB1.1 ...
- 基于USB2.0的视频图像处理芯片实现方案
摘 要:实时图像处理是图像处理领域的一个热点.给出了一种基于USB2.0 的视频图像处理芯片的实现方案,首先介绍了系统的整体设计框架,然后针对框架内核心模块阐述了相应的硬件实现原理,最后以Xilinx ...
- USB2.0传输带宽
摘要:针对USB2.0高速数据传输在实际应用中存在的具体问题,深入分析了诸如协议开销.带宽分配.工作环境.主机硬件结构和操作系统配置.设备驱动程序等影响速度提高的种种因素.同时重点阐述了USB2.0设 ...
- USB Type-C拓展DisplayPort and USB2.0(基于PD通讯)
我们的电脑现在大多都只有一个Type-C端口,不能挂载多余的外设,为了解决这一问题,便产生了Type-C扩展坞.拓展坞是常用于笔记本电脑的一种外置设备,可以扩展.丰富笔记本的外接端口,使得笔记本可以连 ...
- 一文读懂USB TypeC与USB-PD。TypeC引脚定义-24P 16P 6P,CC1、CC2的作用,USB-PD介绍,USB2.0/3.0接口类型一览
USB TypeC & USB-PD & USB接口类型 24P USB-TypeC 引脚定义 母头/母座 公头/插头 引脚功能定义 引脚功能分布情况 16/12P USB-TypeC ...
- 硬件设计:接口--USB2.0电路设计
硬件设计:接口--USB2.0电路设计 参考资料:USB2.0通信原理及电路设计 一.USB2.0物理特性 1.1.USB接口 USB连接器包含4条线,其中VBUS.GND用于提供5V电源,电流可达 ...
最新文章
- [转]Android PorterDuff.Mode效果
- Hibernatediscriminator-value用法
- NIM博弈+SG函数求解
- 「Python-StandardLib」第十六章:并发执行( Cocurrent Executing,线程、多线程队列、子进程)
- winform自定义控件
- 第三次学JAVA再学不好就吃翔(part37)--接口概述
- ASP.NET AJAX Timer Trouble? Location is key.
- 文本字符分析python_Python实现字符串匹配算法代码示例
- python语言sort_Python里的sort语句
- 二级域名是否可以随意设定_新老域名是否影响SEO优化收录排名?企业需要多域名做网站吗?...
- MOOS学习笔记1——HelloWorld
- 登录处理php页面,登录处理页面
- 《霍乱时期的爱情》读后感
- 机器学习回归预测_通过机器学习回归预测高中生成绩
- C# DateTime Subtract
- java: 无法将类com.aaa.xxx中的构造器xxx应用到给定类型
- 【软件之道】亿图9.3 显示的内容与导出成图片后的内容不一致
- python 系统管理_实例讲解python用户管理系统
- python 当前路径 搜索路径图某一个不包含_python编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径...
- 买了SKS的W530