USB 2.0接口标准

一、USB2.0系统构成
        USB(UniversalSerialBus)体系包括“主机(Host)”、“设备(Device)”以及“物理连接(Connector)”三个部分。其中主机是一个提供USB接口及接口管理能力的硬件、软件及固件的复合体,可以是PC,也可以是OTG设备。一个USB系统中仅有一个USB主机(Host);设备(Device)包括USB功能设备(Function)和USBHUB,最多支持127个设备;物理连接即指的是USB的传输线。
        USB体系采用分层的星型拓扑来连接所有USB设备,如下图所示:以HOST-ROOTHUB为起点,最多支持7层(Tier),也就是说任何一个USB系统中最多可以允许5个USBHUB级联。一个复合设备(CompoundDevice)将同时占据两层或更多的层。

        最常见的USB系统为PC机和USB外设的系统, 一个PC机通常集成了USB Host和USB Root Hub。USB Hub是市场上很常见的USB 接口扩展设备;U盘,USB Modem,USB网卡等是很常见的USB功能设备。

二、USB的发展

        USB接口标准制定最先由Compaq、Hewlett-Packard、Intel、Lucent、Microsoft、NEC、Philips等大公司发起,目前该标准已经升级到3.0版本,但目前在市场上有影响力的设备主要为USB2.0。 USB 3.0,USB2.0,USB1.1依次向下兼容,当有全速(USB 1.1)或者低速设备连接到高速(USB 2.0)主机时,主机可以通过分离传输来支持它们。一条USB 总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机、HUB 以及USB 功能设备。

USB标准

USB1.1

USB2.0

USB3.0

制定时间

1998-09

2000-04

2007-09

最高速率

12Mbps

480Mbps

4.8Gbps

信号线类型

两个单端信号线

1对差分信号

3对差分线

支持模式

Full-Speed(12Mbps)

Low-Speed(1.5Mbps)

High-Speed(480Mbps)

Full-speed,Low-Speed

SuperSpeed(4.8GMps)

non-SuperSpeed

Cable要求

未要求

Shielded

Shielded

        USB数据传输的最高速率是按照每个数据位所占用的时间计算出来,对于High-Speed模式而言,一个数据位(0或1)的时间为2.083ns,故理论的最高数据速率为1/2.083ns=480Mbps。但实际上有效数据的传输速率达不到这么高,因为在有效数据传输之前和之后通常需要一些时间来传输同步信号及结束信号等其它非有效数据信号,就像以太网的数据包封装了IP地址和MAC地址一样。

        USB的官方机构是USB-IF(USB Implementers Forum),它负责USB标准的维护和更新,网站http://usb.org

三、USB接口的标准

3.1 机械标准

USB2.0标准规定USB接口的物理规范如下:

对于USB线缆,USB2.0标准只能为以下的三种插头形式的组合:

①标准可插拔线缆(Detachable Cable):一端为A型插座,另外一端为B型插座,USB Modem产品的USB配线即为此种;

②高速/全速不可分离电缆(Captive Cable):一端为A型插座,另外一端厂商根据实际高速/全速USB产品指定,如手机,MP3的USB配线;USB键盘等;

③低速电缆不可分离电缆(Captive Cable):一端为A型插座,另外一端厂商根据实际低速USB产品指定。

标准也规定了USB Cable的最长长度为5m。

3.2 电气标准

USB2.0的BUS由四根线组成:电源VBUS(Red),GND(Black),信号D+(Green),信号D-(White),USB标准里面也指定了这四根线在USB电缆里面的颜色(上一句括号里面已标明)。其中电源线VBUS可用于由USB主设备向从设备供电,供电电压为+5V,一个USB Host端口最多可以提供500mA的电流。

对于工作于High-Speed模式下信号线,关键的电气参数如下:

单端信号高电平范围:360mV~440mV;单端信号低电平范围:-10mv~10mV;

单端输出阻抗:45Ω;差分输出阻抗:90Ω; (PCB布线时要求阻抗控制为90Ω)

对于工作于Full-Speed模式下信号线,关键的电气参数如下:

单端信号高电平范围:2.8V~3.6V(比较常见的是3.3V信号电平);单端信号低电平范围:0v~0.3V;

差分输出阻抗:90Ω±15%。

四、USB接口协议

4.1 主设备对从设备的检测

        如下图所示,USB Host的D+,D-信号线均内置了15KΩ的下拉电阻,当一个USB Host的输出口没有外接从设备时,信号线电平下拉到低电平;当输出端口外接Full-Speed的USB从设备时,由于USB从设备在D+信号线上上拉了1.5K电阻,最终使得主设备检测到D+信号线电平的变化,主设备由此识别到在端口上外接了USB从设备。当从设备从Host设备上拔下时,主设备数据线没有发送数据时,Host设备检测到数据线电平下拉到低电平,从此判断从设备被拔出。

4.2 USB主设备供电及Inrush电流

USB主设备对从设备有三种供电方式:从设备自供电,主设备对从设备完全供电,主设备对从设备部分供电(USB Host端口最多提供500mA的电流,从设备需要的其它电流由自己供电,但两部分电源应该分开)。

USB设备在热插时均会产生强电流(Inrush Current),这种强电流会导致USB总线供电电压下降(最大允许Droop电压为330mV),一方面会导致总线上的其它Device不能正常工作;另一方面可能导致插入的Device无法启动,更严重的情况会烧坏Host设备。Inrush电流产生的原因如下: 在热插或设备的工作状态由低功耗切换为高功耗时,由于从设备上Vcc对地存在的电容及瞬间负载过大的影响,在Vcc上将会由主设备向从设备注入瞬间强电流。

为保证USB接口的可靠的设计,通常需要使用一些限流电路。最常见最通用的限流电流就是直接利用板上已有34063电源电路的限流功能,但这很显然不是一种很好的方法;其它比较常用的方法有使用保险丝和USB专用过流保护供电芯片两种方式。使用USB专用供电芯片MP62055进行过流保护,电路图如下。该芯片输入5V电压,输出限流的5V USB电压,同时该芯片还有防止电流倒灌等功能。

另外在热拔时会由于线上的电感效应的存在,突变的电流会在Host端和Device端会产生Flyback Voltage,在Host端的表现为引入了噪声,在Device端则需要注意反转电压的幅度不能过大。但这些现象一般影响很有限,设计上基本上没有进行相应的考虑。

4.3 确定信号速率及工作模式

当USB 2.0主设备检测到有从设备连接至其端口后,就会按照Full-Speed模式通讯,对USB2.0从设备发送查询及复位指令,当确定从设备可以工作于High-Speed模式时,主设备会修改端口状态寄存器的值,复位完成后,USB系统将按照High-Speed模式通信。

4.4 信号的编码

USB 2.0 High-Speed模式采用反转不归零NRZI(Non return to zero,inverted)编码。 这种编码方式对于要编码的数据遇0跳变,遇到1不变。对于要发送的01序列,先编码成JK状态(编码后的J状态表示发送高电平,K状态表示发送低电平),再驱动到总线上。

4.5 数据包格式

任何一个数据包由三个域组成:Sync Field,Packet Field,End of Packet。如下图所示:

其中Sync Field(同步信号)是15个KJ状态再加2个K状态,共32位,如下图所示:

Packet Filed的格式较复杂,这里不详细讨论,EOP的格式在4.2.4小节部分再做描述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode.670. 最大交换

题目 题目链接 分析 这道题的意思是我们只能交换一次,需要得到最大的数字。 我们的第一个想法就是要这个数字先变成一个数组,便于我们操作。 然后把数组最大的数放到第一个位置,如果最大的数字已经在第一个位置,那么就把次大的…

【C++】C++中规范[ 类型转换标准 ] 的四种形式

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.回顾C语言中的类型转换1&#xff09…

RPC框架简介

RPC定义 远程过程调用(Remote Procedure Call)。RPC的目的就是让构建分布式计算(应用)更加简单,在提供强大的调用远程调用的同时不失去简单的本地调用的语义简洁性 RPC整体架构 服务端启动时首先将自己的服务节点信息…

一个golang小白使用vscode搭建Ununtu20.04下的go开发环境

文章目录 前言搭建go环境下载go安装包解压go压缩包完成安装配置环境变量编写一个helloword程序 安装VSCode插件安装智能提示插件安装go依赖包修改代理并重新安装依赖包 go.mod 和 go.workgo.modgo.work小试一下go.work 总结 前言 先交代一下背景,距离正式接触golan…

flask 与 小程序 购物车 展示功能

mina/pages/cart/index.wxml <!--index.wxml--> <view class"container"><view class"title-box" wx:if"{{ !list.length }}">购物车空空如也&#xff5e;</view><view class"to-index-btn" bindtap"…

Flutter 综述

Flutter 综述 1 介绍1.1 概述1.2 重要节点1.3 移动开发中三种跨平台框架技术对比1.4 flutter 技术栈1.5 IDE1.6 Dart 语言1.7 应用1.8 框架 2 Flutter的主要组成部分3 资料书籍 《Flutter实战第二版》Dart 语言官网Flutter中文开发者社区flutter 官网 4 搭建Flutter开发环境参考…

【漏洞复现】CloudPanel makefile接口远程命令执行漏洞(CVE-2023-35885)

文章目录 前言声明一、CloudPanel 简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 CloudPanel 是一个基于 Web 的控制面板或管理界面&#xff0c;旨在简化云托管环境的管理。它提供了一个集中式平台&#xff0c;用于管理云基础架构的各个方面&#xff0c;包括 &a…

nginx基于IP的多虚拟主机

结合这篇文章一起&#xff1a;nginx虚拟主机-CSDN博客文章浏览阅读63次。虚拟主机指的就是一个独立的站点配置&#xff0c;是nginx默认支持的一个功能&#xff0c;它能够有自己独立的域名&#xff0c;独立的ip&#xff0c;独立的端口配置&#xff0c;能够配置完整的www服务&…

ubuntu安装vm和Linux,安装python环境,docker和部署项目(一篇从零到部署)

1、下载Ubuntu Index of /releaseshttps://old-releases.ubuntu.com/releases/ 2、下载VMware 官方正版VMware下载&#xff08;16 pro&#xff09;&#xff1a;https://www.aliyundrive.com/s/wF66w8kW9ac 下载Linux系统镜像&#xff08;阿里云盘不限速&#xff09;&#xff…

JavaScript 学习笔记(WEB APIs Day2)

「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. JavaScript 学习笔记&#xff08;Day1&#xff09; 2. JavaSc…

【概率统计】区间估计 假设检验公式汇总

区间估计 假设检验公式汇总 最简单的一集

爬虫逆向开发教程1-介绍,入门案例

爬虫前景 在互联网的世界里&#xff0c;数据就是新时代的“黄金”。而爬虫&#xff0c;就是帮助我们淘金的“工具”。随着互联网的不断发展&#xff0c;数据量呈现指数级的增长&#xff0c;在数据为王的时代&#xff0c;有效的挖掘数据和利用&#xff0c;你会得到更多东西。 学…

SqlAlchemy使用教程(五) ORM API 编程入门

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用SqlAlchemy使用教程(五) ORM API 编程入门 前一章用SQL表达式(SQL Expr…

用于垃圾回收的运行时配置选项

反馈 本文内容 指定配置的方法垃圾回收的风格管理资源使用情况大型页面 显示另外 4 个 此页面包含有关 .NET 运行时垃圾回收器 (GC) 设置的信息。 如果你要尝试让正在运行的应用达到最佳性能&#xff0c;请考虑使用这些设置。 然而&#xff0c;在特定情况下&#xff0c;默认…

基于大整形的运算收录

目录 目录 目录 前言 为什么要大整数 大整形的加/减法 大整形的乘法 大整形除法 大整形开方 代码实现 前言 好久没有更新博客了&#xff0c;hhh。时隔三个月&#xff0c;我又回来了。先来点简单的大整形&#xff0c;虽说简单&#xff0c;但是在编写的时候还是debug了…

学校门禁管理技巧,一招轻松学会!

随着社会的不断发展和科技的不断进步&#xff0c;安全管理成为各个领域至关重要的议题之一。门禁监控系统作为现代安全管理的关键组成部分&#xff0c;不仅为建筑物提供了有效的访问控制&#xff0c;还在提高整体安全性和管理效率方面发挥了关键作用。 客户案例 公司办公楼门禁…

php no input file specified

一、修改 .user.ini 文件 内容 open_basedir/wab/led-sportslight.com/:/tmp/ led-sportslight.com是项目根目录位置 改好后保存并清空缓存硬刷新网站就行了 二、mkdir(): Permission denied /core/library/think/cache/driver/File.php 第 84 行左右 mkdir(): Permission de…

2024最新最全【网络安全面试题含答案】(非常详细),零基础入门到精通

防范常见的 Web 攻击 什么是SQL注入攻击 攻击者在HTTP请求中注入恶意的SQL代码&#xff0c;服务器使用参数构建数据库SQL命令时&#xff0c;恶意SQL被一起构造&#xff0c;并在数据库中执行。 用户登录&#xff0c;输入用户名 lianggzone&#xff0c;密码 ‘ or ‘1’’1 &a…

使用 OpenCV 添加(混合)两个图像

目标 在本教程中&#xff0c;您将学习&#xff1a; 什么是线性混合以及为什么它有用;如何使用 addWeighted&#xff08;&#xff09; 添加两个图像 理论 注意 下面的解释属于Richard Szeliski的《计算机视觉&#xff1a;算法和应用》一书 从我们之前的教程中&#xff0c;…

LabVIEW扫描探针显微镜系统开发

在纳米技术对高精度材料特性测量的需求日益增长。介绍了基于LabVIEW开发的扫描探针显微镜&#xff08;SPM&#xff09;系统。该系统不仅可以高效地测量材料的热物性&#xff0c;还能在纳米尺度上探究热电性质&#xff0c;为材料研究提供了强大的工具。 系统基于扫描探针显微技…