USB2.0协议解析
usb2.0与usb3.0简明解析

USB2.0接口USB的全称是Universal Serial Bus,USB支持热插拔,即插即用的优点,所以USB接口已经成为M P3的最主要的接口方式。
USB有两个规范,即USB1.1和USB2.0。
USB1.1是目前较为普遍的USB规范,其高速方式的传输速率为12Mbps,低速方式的传输速率为1.5 Mbps(b是Bit的意思),1MB/s(兆字节/秒)=8MBPS(兆位/秒),12Mbps=1.5MB/s。
目前,大部分M P3为此类接口类型。
USB2.0规范是由USB1.1规范演变而来的。
它的传输速率达到了480Mbps,折算为MB为60MB/s,足以满足大多数外设的速率要求。
USB 2.0中的“增强主机控制器接口”(EHCI)定义了一个与USB 1.1相兼容的架构。
它可以用USB 2.0的驱动程序驱动USB 1.1设备。
也就是说,所有支持USB 1.1的设备都可以直接在USB 2.0的接口上使用而不必担心兼容性问题,而且像USB 线、插头等等附件也都可以直接使用。
使用USB为打印机应用带来的变化则是速度的大幅度提升,USB接口提供了12Mbps的连接速度,相比并口速度提高达到10倍以上,在这个速度之下打印文件传输时间大大缩减。
USB 2.0标准进一步将接口速度提高到480Mbps,是普通USB速度的20倍,更大幅度降低了打印文件的传输时间。
右图为USB接口连线定义USB是一种常用的pc接口,他只有4根线,两根电源两根信号,如下图.故信号是串行传输的,usb接口也称为串行口,usb2.0的速度可以达到480Mbps。
可以满足各种工业和民用需要.USB接口的输出电压和电流是:+5V 500mA 实际上有误差,最大不能超过+/-0.2V 也就是4.8-5.2V 。
usb接口的4根线一般是下面这样分配的,需要注意的是千万不要把正负极弄反了,否则会烧掉usb设备或者电脑的南桥芯片:黑线:g nd 红线:vcc 绿线:data+ 白线:data---------------------------------------------------------USB接口定义颜色一般的排列方式是:红白绿黑从左到右定义:红色-USB电源:标有-VCC、Power、5V、5VSB字样绿色-USB数据线:(正)-DATA+、USBD+、PD+、USBDT+白色-USB数据线:(负)-DATA-、USBD-、PD-、USBDT+黑色-地线:GND、GroundUSB的全称是Universal Serial Bus,最多可连接127台外设,由于USB支持热插拔,即插即用的优点,所以USB接口已经成为计算机的标准接口。
usb2.0的协议及规范

Usb2.0的协议规范第1章绪论1.1 起因Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑:(一)计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基本的应用。
机器和人们的数据交互流动需要一个广泛而又便宜的连通网络。
然而,由于目前产业间的相互独立发展,尚未建立统一标准,而USB则可以广泛的连接计算机和电话。
(二)易用性:众所周知,PC机的改装是极不灵活的。
对用户友好的图形化接口和一些软硬件机制的结合,加上新一代总线结构使得计算机的冲突大量减少,且易于改装。
但以终端用户的眼光来看,PC机的输入/输出,如串行/并行端口、键盘、鼠标、操纵杆接口等,均还没有达到即插即用的特性,USB正是在这种情况下问世的。
(三)端口扩充:外围设备的添加总是被相当有限的端口数目限制着。
缺少一个双向、价廉、与外设连接的中低速的总线,限制了外围设备(诸如电话/电传/调制解调器的适配器、扫描仪、键盘、PDA)的开发。
现有的连接只可对极少设备进行优化,对于PC机的新的功能部件的添加需定义一个新的接口来满足上述需要,USB就应运而生。
它是快速、双向、同步、动态连接且价格低廉的串行接口,可以满足PC机发展的现在和未来的需要。
1.2 USB规范的目标本书规范了USB的工业标准。
该规范介绍了USB的总线特点、协议内容、事务种类、总线管理、接口编程的设计,以及建立系统、制造外围设备所需的标准。
设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。
该规范改进了便携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并不必使用陈旧的接口,害怕失去兼容性。
1.3 适用对象·该规范主要面向外设开发商和系统生产商。
并且提供了许多有价值的信息给操作系统/BIOS/设备驱动平台、IHVS/ISVS适配器,以及各种计算机生产厂家使用。
USB2.0主机端控制器协议层的设计及实现

USB2.0主机端控制器协议层的设计及实现摘要:本文简要介绍了USB 2.0协议层的通信原理,描述了USB 2.0主机端控制器核心部分的划分、设计及实现。
通过Cadence公司的NCSim 进行了软件仿真,最后在XILINX公司的FPGA上加以了验证,结果符合USB 2.0协议要求。
关键词:USB2.0;协议层;状态机引言USB(Universal Serial Bus)是当今流行的一种PC外围设备接口标准[1]。
它具有即插即用、可热插拔等的优点,在实际应用中连接简单、使用方便。
本文简要介绍了USB 2.0协议层的通信原理,并根据USB 2.0协议规范,利用Verilog硬件描述语言完成了主机端控制器协议层的设计,通过Cadence公司的NCSim进行软件仿真之后,在XILINX公司的Virtex xcv300efg456-6芯片上进行了验证。
1 协议层通信原理USB接口是以令牌包(token-based) 为主的总线协议,PC主机掌握着总线的一切主控权[1],除令牌包外,还有数据封包、握手封包、特殊封包等。
令牌包还可细分为OUT、IN、SETUP、SOF等4种封包格式,其他几个封包也同样可以细分为多种封包格式。
在USB的传输中,每一个传输包含一笔或多笔事务,每一笔事务包含一到三个封包[2]。
USB有4种传输类型:控制传输、批量传输、中断传输和实时传输,每种传输类型用以处理不同的需求。
具体来讲,批量传输类型用于对时间要求不严格的数据传输,可以发送大量数据而不会阻塞总线,并能通过错误检测和重试的方式保证主机和功能部件之间数据的无错发送。
控制传输模块用以发送与设备的能力和配置有关的请求和数据,也可传输任何其他用途的信息块。
中断传输类型适用于在一个规定的时间里传输一个中等数量的数据,通常应用在键盘、鼠标、其他指针设备和集线器的状态报告中,中断传输令设备引起硬件中断,将使计算机产生一个快速响应。
实时传输类型是对数据以一个恒定的速率或在规定时间内完成的传输,仅包含令牌和数据两个时相,而不包含握手时相,因此不具备错误校正的能力,所接收的信息偶尔会包含少量的错误。
USB2.0协议解析

Device state
Operations
• • • • • • • Dynamic Attachment and Removal Address Assignment Configuration Data Transfer Power Management Request Processing Request Error
Interface
A USB logical device appears to the USB system as a collection of endpoints. Endpoints are grouped into endpoint sets that implement an interface. Interfaces are views to the function. Client software manages an interface using pipe bundles (associated with an endpoint set)
USB2.0网络、传输、通讯和协议

USB2.0网络、传输、通讯和协议USB在我们生活中应用非常广泛,但绝大部分工程师都只注重USB应用层的开发,很少有人去了解USB更底层的一些技术。
今天就结合USB 2.0来简单讲述USB底层的一些基础知识。
嵌入式专栏1USB网络USB物理层网络为分层星型网络:一台主机和若干从设备。
USB 2.0 网络最多可支持127个外部节点,由于信号传播的时序限制,允许的最大层数为七个:•主机(总线主控器)的一层•集线器和设备六层Hub:集线器,提供了附加的连接点,每个集线器将单个连接点转换为多个连接点,也称为端口。
Func:即Function功能,为系统提供了发送或接收数据和控制信息的功能,每个unc包含描述设备功能和资源要求的配置信息。
Compound Device:复合设备,是实现多种功能并包括嵌入式集线器的物理程序包。
复合设备在主机上看起来像是带有一个或多个不可移动USB设备的集线器。
星形网络对于以主机为中心的开发人员,USB网络看起来像是星形网络。
集线器不会引起任何编程复杂性,并且就程序员而言是透明的。
无论是直接连接到根集线器还是通过中间集线器连接,USB设备的工作方式都相同。
在主/从网络中,所有USB设备都可用作可寻址节点,只有主机才能启动网络中的数据传输。
提示:•任何USB网络中只有一个主机。
•在第七层中只能启用功能。
•复合设备占据两层。
嵌入式专栏2USB传输速率USB的传输速率经过一代一代发展,越来越快了,去年(2019)新出来的标准:USB 4 支持高达40Gbps。
目前流行的USB 3.0、 3.1的传输速率其实已经很高了,对于绝大部分应用,这个速率完全没问题。
早期的USB传输速率相对于现在很低,但在那个时候,传输速率其实已经很高了。
(图片来源网络)嵌入式专栏3USB通信USB是轮询总线,USB主机在其中启动所有数据交换,数据往返于USB设备中的端点。
USB主机中的客户端将数据存储在缓冲区中,但没有端点。
usb2.0协议规范

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载usb2.0协议规范甲方:___________________乙方:___________________日期:___________________usb2.0协议规范篇一:usb全规范详细分析(技术篇)usb全规范详细分析(技术篇)usb规格设计上面说的那些只是很表面的东西,接下来的就是技术知识深一点的了,大家做好心理准备喔。
usb规格的规范化建立usb规格的厂商们,共同设立了一个称为"usb应用者论坛(usbimplementersForuminc , usb-iF )"的』E营利组织。
usb-iF是一个技术支持组织,也是接受各界对usb研发与应用建议的论坛。
这个论坛促进了高品质并具兼容性usb设备的研发,以及通过规格测试的产品的推广。
符合usbl.1规范的标志符合usb2.0规范的标志和其它业界规格(像是ieee1394、dts、wiFi、dolby或是dVd等)一样,usb1.0和usb2.0都有正式的标示。
厂商将这些标示印在产品与包装上,以代表他们的产品是遵照这些规格设计的。
这些标示确保了兼容性,并且代表产品经过测试。
产品上高速usb2.0规格的标示,代表它能够与其它同样有高速usb2.0规格标示的外设一起正常使用。
如果一项产品没有这项标示,却还是声称具有兼容性,那就不能保证能和其它usb2.0 一起使用了。
为了顾及到兼容性,建议您只购买通过认证的usb设备。
一家厂商的产品要能够标上高速usb2.0规格的标示,那得先成为usb-iF的付费会员(年费2500美元),而且该产品也需要通过由usb-iF所制定的全速与低速测试程序才行。
测试的目的,是要来检验在全速与低速模式下,这些准备出货的产品的usb功能是否能够正常运作。
详细的测试步骤分成三大项,每一大项的产品都需要分别通过属于该大项的测试步骤.接口卡、主板和计算机系统o 电源提供测试(powerprovidertesting )o 传出信号品质( downstreamsignalquality )o 互通性(interoperability )"全速与低速集线器(不含高速支持)o 电源提供测试(powerprovidertesting )o 传出信号品质( downstreamsignalquality )o 回传信号品质(upstreamsignalquality )o 设备架构测试(deviceFrameworktesting)o 互通性(interoperability )。
usb2.0 协议层 (中文版)

图 8-2 地址字段
8.3.2.2端口字段 如图 8-3 所示,附加的 4 位的端口( ENDP )字段在功能部件需要一个以上端口时 候允许更灵活的寻址。除了端口地址 0 之外,端口个数是由功能部件决定的。端口 字段只对输入,建立和输出标记 PID 有定义。所有的功能能部件最多提供 3 个管道:
图 8-1 PID 格式
主机和所有功能部件都必须对得到全部 PID 字段实行完整的译码。任何收到包标识 符,如果含有失败的校验字段,或者经译码得到未定义的值,则该包标识符被假定是
1
被损坏的,而且包的余项将被包接收机忽略。如果一个功能部件收到了包含了它所不
支持的事务类型或方向的合法包标识符,则不必应答。例如,只能输入的端口(IN-only
图 8-5 标记包格式
如上图所示,标记包包括了覆盖地址和端口字段的 5 位 CRC 。CRC 并不覆盖 PID, 因为它有自己的校验字段。标记和帧开始 (SOF) 包是由小包)界定的 3个个字节的 包字段数据后面的包结束( EOP ,结束。如果包被译码为合法标记或 SOF ,但却没 有在 3 个字节之后以 EOP 终止,则它被认为是无效的,并被接收器忽略。 8.4.2 数据分割特殊标记包 USB为数据分割传输定义了特殊的标记:SPLIT。与其他普通的三字节标记包不同,这 是一个四字节的标记包。数据分割传输标记包提供了携带额外特殊传输信息的更多的 传输字节。数据分割传输标记用来支持主机控制器与处于高速运转状态的集线器之间
帧开始标记和帧号
建立(装备)
在主机到功能部件建立一个控制管道的 事务中有地址+ 端口号
数据
数据 0
0011B 偶数据包 PID
(数据) ( DATA0 )
数据 1
USB2.0协议中文详解

USB 数据流模型
USB 端点、管道和接口的关系。
USB 系统中数据的传输,宏观的看来是在HOST 和 USB 功能设备之间进行;微观的看是在应用软件的 Buffer 和 USB 功能设备的端点之间进行。一般来说端 点都有 Buffer,可以认为USB通讯就是应用软件Buffer 和设备端点Buffer之间的数据交换,交换的通道称为管 道。
2
序
USB 1.1与USB 2.0之间的差别
3
USB2.0 协议
USB 体系简介
USB 数据流模型
USB 物理规范
USB 电气规范
USB 协议层规范
USB 设备架构;
USB 主机:硬件和软件
USB HUB 规范
4
USB 体系简介
USB 是一种支持热插拔的高速串行传输总线,使用差分信号来传输数据, 最高速度可达 480Mb/S。
23
USB 数据流模型
2. 中断传输:
应用软件通过和设备之间的数据交换来完成设备的控制 和数据传输。通常需要多个管道来完成数据交换,因为 同一管道只支持一Fra bibliotek类型的数据传输。
用在一起来对设备进行控制的若干管道称为设备的接口;
一个 USB 设备可以包括若干个端点,不同的端
点以端点编号和方向区分。不同端点可以支持不
同的传输类型、访问间隔以及最大数据包大小。
类(class)请求:
USB 还定义了若干个子类,如HUB 类、大容量存储器类等。不同的类又 定义了若干类请求,该类设备应该支持这些类请求。设备所属类在设备 描述符中可以得到。
厂商请求:
这部分请求并不是 USB 规范定义的,而是设备生产商为了实现一定的功 能而自己定义的请求。
全面解析USB2.0及其USB2.0的应用

1.什么是USB2.0? USB 2.0是通⽤串⾏总线输⼊、输出总线协议的⼀种完全应⽤,于2001年推出,其数据传输速率⽐传统的USB 1.1标准更快。
USB1.1的传输速率为12Mbps,即⽬前公认的“USB”。
⼀些⼚商将其产品标为“全速USB”,⽤户不要将“全速”误解为“⾼速”。
“全速USB”允许的传输率是12Mbps,⽽⾼速USB能够达到更⾼的480Mbps。
此外,USB⿏标和键盘的传输速率仅为1.5Mbps,该传输速率同样被USB推⼴组(USB Promoter Group)称为“USB”。
综上所述,USB 2.0包括三种规格:⾼速、全速和低速。
作为消费者,您⽆需了解这些专业术语,只需记住⽬前只存在“⾼速USB”和“USB”端⼝与设备。
B 2.0的传输速率是多少? USB2.0的数据传输率⼤约是480Mbps,⽐先前数据传输率12Mbps的USB1.1接⼝快40倍。
最初的USB2.0数据传输率仅为240Mbps,后来USB2.0推⼴组在1999年10⽉将该速率提⾼到480Mbps。
B2.0连接线的长是多少? USB2.0连接线的长度5⽶。
但是,如果⽤5⽶长的USB连接线分级连接5个集线器,则长度可达30⽶。
B2.0可以带给⽤户哪些好处? ⽐USB1.1快40倍的传输速率,使计算机上可以使⽤的外设的范围⼤⼤增加。
即使有多个⾼速外设连接到USB2.0总线上,系统达到瓶颈带宽的可能性仍然很⼩。
新的规格不仅继承了⽬前USB设备即插即⽤及热拔插的特性,⽽且提供了USB1.1设备的向下兼容性,使当前⽤户平稳升级。
5.如何验证我的电脑是否具有USB2.0端⼝? 您可以很容易的辨别您的电脑是否有⾼速USB端⼝。
打开“设备管理器”,展开“通⽤串⾏总线”部分,您将会看到“Enhanced(增强)”USB主控制器选项。
该名称在Windows 98下可能不同,因为这些系统中的“⾼速USB”驱动程序并⾮由微软直接提供的(该驱动将在Windows ME、2000及XP的产品升级中提供)。
usb2.0的数据传输误码率

USB2.0的数据传输误码率是指在USB2.0接口传输数据时,由于各种因素的影响,导致数据在传输过程中出现错误的概率。
USB2.0是一种常见的数字接口标准,广泛应用于计算机、移动设备、外部存储设备等领域,数据传输误码率对于USB2.0接口的性能和稳定性具有重要影响。
本文将从以下几个方面探讨USB2.0的数据传输误码率及其影响因素。
一、USB2.0接口的数据传输原理1. USB2.0接口的工作方式USB2.0接口采用主从式架构,具有高速、全双工的特性,可实现同时发送和接收数据。
其传输速率可达480Mbps,具有较高的数据传输能力,适用于大容量数据的传输。
2. USB2.0接口的数据传输协议USB2.0接口采用了一系列的数据传输协议,包括同步传输、批量传输、中断传输和等时传输等多种模式,不同的数据传输模式对误码率的影响也不尽相同。
二、USB2.0的数据传输误码率1. 误码率的定义误码率是衡量数据传输质量的重要指标,它表示单位时间内传输错误比特的数量与传输总比特数的比值。
通常用10的负N次方来表示,其中N为大于等于零的整数。
误码率越低,说明数据传输质量越好。
2. USB2.0的误码率标准USB2.0接口的误码率标准为10的负12次方,即每传输10的12次方个比特中出现一个传输错误比特。
这一标准要求了USB2.0接口在高速数据传输中具有较高的数据传输可靠性。
三、影响USB2.0误码率的因素1. 传输介质USB2.0接口的数据传输介质包括线缆、连接器等,其质量将直接影响数据传输的稳定性和误码率。
优质的传输介质可以减少干扰和信号衰减,降低误码率。
2. 环境干扰USB2.0接口在实际使用中可能受到来自电子设备、无线信号等干扰,这些干扰信号可能导致数据传输错误增加,进而影响误码率。
3. 设备质量USB2.0接口所连接的设备的质量也会对误码率产生影响。
设备内部的数据处理能力、电磁兼容性等因素都会对误码率产生影响。
FE2.1 USB2.0

FE2.1 USB2.0简介FE2.1 USB2.0是一款具有高速传输和广泛应用的USB控制器芯片。
它支持USB2.0协议,提供了稳定可靠的数据传输和设备连接功能。
本文档将介绍FE2.1 USB2.0的特性、工作原理以及使用方法。
特性•支持USB2.0规范•高速传输速率:最高480 Mbps•完全兼容USB1.1和USB1.0规范•支持多种USB设备类型,包括储存设备、打印机、键盘、鼠标等•支持多平台操作系统,如Windows、MacOS、Linux等•低功耗设计,节省能源•内置USB PHY工作原理USB2.0协议USB2.0是一种用于计算机与外部设备之间的通信协议。
它提供了高速的数据传输和设备连接功能,广泛应用于各类电子设备中。
USB2.0协议通过一个主控制器和多个外设之间的通信来实现数据的传输和设备的控制。
FE2.1 USB2.0控制器FE2.1 USB2.0是一款高性能的USB控制器芯片,内置了USB PHY,能够实现USB设备和主机之间的数据传输和控制。
它支持USB2.0规范,提供了稳定可靠的高速传输率。
FE2.1 USB2.0控制器具有低功耗设计,节省能源并延长设备的使用寿命。
使用方法硬件连接使用FE2.1 USB2.0控制器需要正确连接硬件设备,以下是连接步骤:1.将FE2.1 USB2.0控制器插入主机的USB接口。
2.将外设设备插入FE2.1 USB2.0控制器的USB接口。
软件配置使用FE2.1 USB2.0控制器需要进行软件配置,以下是配置步骤:1.安装相应的驱动程序。
2.配置USB设备的参数,如传输速率、数据格式等。
3.设定主机和外设之间的通信方式,如同步传输、异步传输等。
数据传输配置完成后,就可以开始进行数据传输了。
使用FE2.1USB2.0控制器进行数据传输的步骤如下:1.主机发送请求给外设。
2.外设接收请求并准备好相应的数据。
3.主机接收到数据并进行相应处理。
4.主机发送响应给外设。
USB协议超高速数据传输的USB标准

USB协议超高速数据传输的USB标准随着科技的不断发展,人们对数据传输速度和效率的需求也越来越高。
为满足这一需求,USB(Universal Serial Bus,通用串行总线)协议在不断改进和演进中,诞生了USB标准,使数据传输更加高速和稳定。
本文将介绍USB协议超高速数据传输的USB标准,以及其在现代科技中的应用与影响。
一、USB协议的基本原理及演进USB协议是一种用于计算机与外部设备之间数字数据传输的通信协议。
其基本原理是通过一个通用接口和标准的传输协议,从而实现多种设备之间的高速数据传输。
USB协议的演进主要包括USB 1.0、USB 2.0、USB 3.0和USB 3.1等几个版本。
1. USB 1.0:USB 1.0是最早的USB标准,于1996年发布。
其传输速率为1.5Mbps(低速)和12Mbps(全速),适用于低带宽应用,如鼠标、键盘等。
2. USB 2.0:USB 2.0于2000年发布,是当前广泛应用的USB标准版本。
其传输速率提升至480Mbps(高速),为多种设备提供了更快的数据传输能力。
3. USB 3.0:USB 3.0于2008年发布,也被称为超速USB。
其传输速率高达5Gbps(超高速),比USB 2.0快10倍以上。
USB 3.0还支持充电功能和更高的电流输出,可用于更多的外部设备。
4. USB 3.1:USB 3.1于2013年发布,是目前最新的USB标准版本。
其传输速率进一步提升至10Gbps(超高速+),并支持高功率设备的快速充电。
二、USB标准在现代科技中的应用USB标准的不断演进和升级,使其在现代科技应用中发挥了重要的作用。
下面列举了几个主要的应用领域:1. 计算机外设:USB接口是计算机与各种外部设备连接的主要途径。
键盘、鼠标、打印机、扫描仪等外设通过USB标准连接到计算机,实现快速的数据传输和稳定的通信。
2. 移动存储设备:U盘是最常见的移动存储设备之一。
USB协议详解

USB协议详解B2.0 协议USB 协议,由于涉及内容太多,所以在此一个文档中解释清楚,是不现实的。
此处能做的和要做的,就是对于USB 协议简明地介绍一下关于USB 本身协议部分的内容。
当前最新的USB 协议,已经发展到USB3.0 了。
但是主流的USB 设备和技术,还是以USB 2.0 居多。
所以此文,主要是以USB 2.0 为基础来解释USB 协议的基础知识,当然,会在相关内容涉及到USB 3.0 的时候,也把USB 3.0 的相关内容添加进来。
关于USB 2.0 和USB 3.0 等USB 的协议规范,可以去官网下载:usb/developers/docs/其实,说实话,不论是谁,如果开始看USB 协议的时候,发现单独对于USB 2.0 规范本身这一个文档来说,竟然都有650 页,而如果再加上,新的USB 3.0 规范的482 页,和其他一些辅助的USB 相关的规范定义等文档,即使你是英语为母语的人,如果要看完这么多页的协议规范,估计也会吐的,更别说我们中国人了。
所以,此处,就来简单以USB 2.0 规范为例,分析一下,具体其都主要包含哪些内容,然后你会发现,其实和USB 协议本身相关的内容,相对则不会那么多,大概只有97 页左右的内容,是我们所要关心的。
下面就来分析看看,USB 2.0 的规范中,具体都包含了哪些内容:B 协议的版本和支持的速度USB 协议,也像其他协议一样,经历过很多个版本,但是正式发布出来的,主要有4 个。
其中,从开始的USB 1.1,发展到后来的USB 2.0,以及最新的协议版本是USB 3.0.不过这三个版本都是针对的是有线的(corded)设备来说的,在USB 2.0 和USB 3.0 之间,发布过一个是针对无线设备的USB 协议,叫做USB Wireless,也被称为USB 2.5。
其中,USB 1.1 中所支持的速度是低速(Low Speed)的1.5Mbits/s,全速(Full Speed)的12Mbits/s,而USB 2.0 提高了速度至高速(High Speed)的480Mbits/s,而最新的USB 3.0,支持超高速(Super Speed)。
USB2.0协议入门中文版

USB 2.0规范USB 体系简介USB 是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达 480Mb/S。
USB 支持“总线供电”和“自供电”两种供电模式。
在总线供电模式下,设备最多可以获得 500mA 的电流。
USB2.0 被设计成为向下兼容的模式,当有全速(USB 1.1)或者低速(USB 1.0)设备连接到高速(USB 2.0)主机时,主机可以通过分离传输来支持它们。
一条 USB 总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机、HUB 以及U SB 功能设备。
USB 体系包括“主机”、“设备”以及“物理连接”三个部分。
其中主机是一个提供USB 接口及接口管理能力的硬件、软件及固件的复合体,可以是 PC,也可以是 OTG 设备,一个 USB 系统中仅有一个 USB 主机;设备包括 USB 功能设备和 USB HUB,最多支持127 个设备;物理连接即指的是USB的传输线。
在USB 2.0系统中,要求使用屏蔽的双绞线。
一个 USB HOST 最多可以同时支持 128 个地址,地址 0 作为默认地址,只在设备枚举期间临时使用,而不能被分配给任何一个设备,因此一个 USB HOST 最多可以同时支持 127 个地址,如果一个设备只占用一个地址,那么可最多支持 127 个 USB 设备。
在实际的 USB 体系中,如果要连接 127 个USB 设备,必须要使用 USB HUB,而 USB HUB 也是需要占用地址的,所以实际可支持的 USB 功能设备的数量将小于 127。
USB 体系采用分层的星型拓扑来连接所有 USB 设备,如右图所示:以 HOST-ROOT HUB为起点,最多支持7层(Tier),也就是说任何一个USB 系统中最多可以允许 5 个 USBHUB 级联。
一个复合设备(CompoundDevice)将同时占据两层或更多的层。
ROOT HUB是一个特殊的USBHUB,它集成在主机控制器里,不占用地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Isochronous Transfers --constant-rate, error tolerant transfers Interrupt Transfers –send or receive data infrequently but with
bounded service periods.
Device state
Operations
• • • • • • • Dynamic Attachment and Removal Address Assignment Configuration Data Transfer Power Management Request Processing Request Error
Token packet
data packet
Handshake packet
Isochronous Transactions have no handshake phase In the host controller error cases, the host controller implements the “three strikes and you’re out” mechanism. That is, it increments an error count (err_count) and, if the count is less than three, it will retry the transaction.
Sync field
The SYNC pattern used for low-/full-speed transmission is required to be 3 KJ pairs followed by 2 K’s for a total of eight symbols. The SYNC pattern used for high-speed transmission is required to be 15 KJ pairs followed by 2 K’s, for a total of 32 symbols. It is used by the input circuitry to align incoming data with the local clock
Pipe
A USB pipe is an association between an endpoint on a device and software on the host
Message Pipes --has some USB-defined structure, control transfer type Stream Pipes --has no USB-defined structure, bulk, isochronous, and interrupt transfer types
USBD:
The USBD provides a collection of mechanisms that operating system components, typically device drivers, use to access USB devices • • • • Configuration via command mechanisms Transfer services via both command and pipe mechanisms Event notification Status reporting and error recovery
zylia
Motivation PC-telephone connection Ease-to-use Port expansion
History USB1.0 USB1.1 USB2.0 USB3.0 USB3.1
low speed(LS) -1.5Mbps 1996 full speed(FS) -12Mbps 1998 high speed(HS) -480Mbps 2000 super speed(SS) -5Gbps 2008 super speed+(SS+) -10Gbps 2013
Interface
A USB logical device appears to the USB system as a collection of endpoints. Endpoints are grouped into endpoint sets that implement an interface. Interfaces are views to the function. Client software manages an interface using pipe bundles (associated with an endpoint set)
Hubs provide the electrical interface between USB devices and the host.
• • • • • Connectivity behavior Power management Device connect/disconnect detection Bus fault detection and recovery High-, full-, and low-speed device support
Layers
Physical bus topology
Physical bus topology --Multiple Full-speed Buses
Logical bus topology
Client bus topology
Endpoint pipe interface
Endpoint
Controller Duties:
•State Handling •Serializer/Deserializer •(micro)frame Generation •Data Processing •Protocol Engine •Transmission Error •Handling •Remote Wakeup
Three layers:
USB bus interface -- Host Controller Driver,HCD USB system -- USB Driver,USBD Client -- Host Software
Capabilities: •Detecting the attachment and removal of USB devices •Managing USB standard control flow between the host and USB devices •Managing data flow between the host and USB devices •Collecting status and activity statistics •Controlling the electrical interface between the Host Controller and USB devices, including the provision of a limited amount of power
Architecture
Split
USB defines a special token for split transactions: SPLIT The split transaction token is used to support split transactions between the host controller communicating with a hub. There are two split transactions defined that use the SPLIT special token: a start-split transaction (SSPLIT) and a complete-split transaction (CSPLIT). This approach allows the host controller to start a full-/low-speed transaction via a high-speed transaction and then continue with other high-speed transactions without having to wait for the full-/low-speed transaction to proceed/complete at the slower speed.
Transfer types
Control Transfers --Control transfers are intended to support
configuration/command/status type communication flows between client software and its function.
Packet field
The PID indicates the type of packet and, by inference, the format of the packet and the type of error detection applied to the packet. It is used by the input circuitry to align incoming data with the local clock.
The start of a packet (SOP) is signaled by the originating port by driving the D+ and D- lines from the Idle state to the opposite logic level (K state) The SE0 state is used to signal an end-of-packet (EOP). EOP will be signaled by driving D+ and D- to the SE0 state for two bit times followed by driving the lines to the J state for one bit time.