第1章 绪论
1.1 起因
Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑:
(一)计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基本的应用。机器和人们的数据交互流动需要一个广泛而又便宜的连通网络。然而,由于目前产业间的相互独立发展,尚未建立统一标准,而USB则可以广泛的连接计算机和电话。
(二)易用性:众所周知,PC机的改装是极不灵活的。对用户友好的图形化接口和一些软硬件机制的结合,加上新一代总线结构使得计算机的冲突大量减少,且易于改装。但以终端用户的眼光来看,PC机的输入/输出,如串行/并行端口、键盘、鼠标、操纵杆接口等,均还没有达到即插即用的特性,USB正是在这种情况下问世的。
(三)端口扩充:外围设备的添加总是被相当有限的端口数目限制着。缺少一个双向、价廉、与外设连接的中低速的总线,限制了外围设备(诸如电话/电传/调制解调器的适配器、扫描仪、键盘、PDA)的开发。现有的连接只可对极少设备进行优化,对于PC机的新的功能部件的添加需定义一个新的接口来满足上述需要,USB就应运而生。它是快速、双向、同步、动态连接且价格低廉的串行接口,可以满足PC机发展的现在和未来的需要。
1.2 USB规范的目标
本书规范了USB的工业标准。该规范介绍了USB的总线特点、协议内容、事务种类、总线管理、接口编程的设计,以及建立系统、制造外围设备所需的标准。
设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。该规范改进了便携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并不必使用陈旧的接口,害怕失去兼容性。
1.3 适用对象
·该规范主要面向外设开发商和系统生产商。并且提供了许多有价值的信息给操作系统/BIOS/设备驱动平台、IHVS/ISVS适配器,以及各种计算机生产厂家使用。
·该USB版本的规范可以用来设计开发新产品,改进一些经典的模型,并开发相应的软件。所有的产品都应遵循这个规范——USB 1.1。
1.4 本书结构
第一章至第四章为读者提供了一个纲要,第五章至第十章则提供了USB的所有的具体技术细节。
·外设厂家应着眼于第四章至第十章
·USB的主机控制器应用主要参考第四章至第七章和第九、十章。
·USB 设备驱动厂家主要参考第四、七、九章
《Universal Serial Bus Device Class Specification》一书可以作为本书的补充和参考。各种设备的规范是形形色色的,如有疑问,请与USB Implements Forum索要更多细节。
读者也可以为向操作系统厂商索取关于USB的一些具体特性。
第2章 术语和缩略词
ACK:确认信号
Active Device:正在使用的设备
Asynchronous Data:异步数据
Asynchronous RA:异步自适应速率
Asynchronous SRC: 异步抽样转换率
Audio Device:音频设备
AWG#(American Wire Gauge):美国电线标准
Babble:帧传输中的总线动作
Bandwidth:带宽
Big Endian:
Bit:比特
Bit Stuffing:数据填充,以使PLL可以提取时钟信号
b/s:每秒多少比特
B/s:每秒多少字节
Buffer:缓冲区
Bulk Transfer:批量传送
Bus Enumeration:总线标号
Byte: 字节
Capabilities:能力
Characteristics:特征
Client:客户
Configuring Software:配置软件
Control Endpoint:控制端口
Control Pipe:控制通道
Control Transfer:控制传送
CTI:计算机电信组织
Cyclic Redundancy Check(CRC):循环冗余校验
Default Address:缺省地址
Default Pipe:缺省通道
Device:设备、器件
Device Address:设备地址
Device Endpoint:设备端口
Device Resource:设备资源
Device Software:设备软件
Downstream:下行
Driver:驱动
DWORD:双字
Dynamic Insertion and Removal:动态插入与拆除
Electrically Erasable Programmable Read Only Memory EEPROM:电擦写可
编程只读存储器
End User:终端用户
Endpoint:端口
Endpoint Address:端口地址
Endpoint Direction:端口指向
Endpoint Number:端口号
EOF:帧结束
EOP:包结束
External Port:外设端口
False EOP:错误的包结束标志
Frame:帧
Frame Pattern:帧结构
Full-duplex:全双工
Function:功能、功能部件
Handshake Packet:握手包
Host:主机
Host Controller:主机控制器
Host Controller Driver(HCD):主机控制驱动
Host Resourses:主机资源
Hub:集线器
Hub Tier:Hub层
Interrupt Request(IRQ):中断请求
Interrupt Transfer:中断传送
I/O Request Packet(IRP):输出/输入请求包
Isochronous Data:同步数据
Isochronous Device:同步设备
Isochronous Sink Endpoint:同步接收端
Isochronous Sourse Endpoint:同步源端
Isochronous Transfer:同步传送
Jiffer:抖动
kb/s:传送速率每秒几千比特
kB/s:传送速率每秒几千字节
Little Endian:
LOA:有始无终的总线传输
LSb:最低比特
LSB:最低字节
Mb/s:传送速率每秒几兆比特
MB/s:传送速率每秒几兆比特
Message Pipe:消息通道
MSb:最高比特
MSB:最高字节
NAK:不确认
Non Return to Zero Invert(NRZI):非归零翻转码
Object:对象
Packet:数据包
Packet Buffer:数据包缓冲区
Packet ID(PID):数据包标示位
Phase:时项、相位
Phase Locked Loop(PLL):锁相环
Physical Device:物理部件
Pipe:通道
Polling:查询
Port:口、端口
Power On Reset(POR):电源复位
Programmable Data Rate:可编程数据速率
Protocol:协议
Rate Adaption(RA):自适应速率
Request:请求、申请
Retire:取消、终止
Root Hub:根集线器、主机Hub
Root Port:根集线器的下游端口
Sample:取样、抽样
Sample Rate(Fs):抽样速率
Sample Rate Conversion(SRC):抽样转换率
Service:服务
Sevice Interval:服务间隙
Service Jitter:服务质量的抖动参数
Sevice Rate:指定端口每单位时间的服务数目
SOP:包开始
Stage:控制传输的某个阶段
Start-of-Frame(SOF):帧开始
Stream Pipe:流通道
Synchronization Type:同步类型
Synchronous RA:同步的RA
Synchronous SRC:同步的SRC
Sysem Programming Interface(SPI):系统可编程接口
Terminaton Time Division Multiplexing(TDM):时分复用
Timeout:超时
Token Packet:标志包
Transaction:处理事务
Transfer:传送
Transfer Type:传送类型
Turn-around Time:USB传输中包与包之间的间隔时间,以防止传输冲突
Universal Serial Bus Driver(USBD):USB驱动器
Univeral Serial Bus Resources:USB提供的资源
Upstream:上行
Virtual Device:虚拟设备
Word:字(16位)
第3章 背景知识
本章将对USB背景知识作简单描述,其中主要包括设计目标、总线特性,以及现行技术特点。
2.1 USB的设计目标
USB的工业标准是对PC机现有的体系结构的扩充。USB的设计主要遵循以下几个准则:
·易于扩充多个外围设备;
·价格低廉,且支持12M比特率的数据传输;
·对声音音频和压缩视频等实时数据的充分支持;
·协议灵活,综合了同步和异步数据传输;
·兼容了不同设备的技术;
·综合了不同PC机的结构和体系特点;
·提供一个标准接口,广泛接纳各种设备;
·赋予PC机新的功能,使之可以接纳许多新设备。
2.2 使用的分类
表2-1按照数据传输率(USB可以达到)进行了分类。可以看到,12M比特率可以包括中速和低速的情况。总的来说,中速的传输是同步的,低速的数据来自交互的设备,USB设计的初衷是针对桌面电脑而不是应用于可移动的环境下的。软件体系通过对各种主机控制器提供支持以保证将来对USB的扩充。
性能 | 应用 | 特性 |
低速 ·交互设备 ·10-20kb/s | 键盘、鼠标、游戏棒 | 低价格、热插拔、易用性 |
中速 ·电话、音频、压缩视频 ·500kb/s-10Mb/s | ISBN、PBX、POTS | 低价格、易用性、动态插拔、限定带宽和延迟 |
高速 ·音频、磁盘 ·25-500Mb/s | 音频、磁盘 | 高带宽、限定延迟、易用性 |
表2-1
2.3 特色
USB的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相应不同的功能,其主要特色可归结为以下几点:
终端用户的易用性:
·为接缆和连接头提供了单一模型;
·电气特性与用户无关;
·自我检测外设,自动地进行设备驱动、设置;
·动态连接,动态重置的外设。
广泛的应用性:
·适应不同设备,传输速率从几千比特率到几十兆比特率;
·在同一线上支持同步、异步两种传输模式;
·支持对多个设备的同时操作;
·可同时操作127个物理设备;
·在主机和设备之间可以传输多个数据和信息流;
·支持多功能的设备;
·利用低层协议,提高了总线利用率。
同步传输带宽:
·确定的带宽和低延迟适合电话系统和音频的应用;
·同步工作可以利用整个总线带宽。
灵活性:
·直接一系列大小的数据包,允许对设备缓冲器大小的选择;
·通过指定数据缓冲区大小和执行时间,支持各种数据传输率;
·通过协议对数据流进行缓冲处理。
健壮性:
·出错处理/差错恢复机制在协议中使用;
·对用户感觉而言,热插拔是完全实时的;
·可以对有缺陷设备进行认定。
与PC产业的一致性:
·协议的易实现性和完整性;
·与PC机的即插即用的体系结构的一致;
·对现存操作系统接口的良好衔接。
价廉物美
·以低廉的价格提供1.5兆比特率的子通道设施;
·将外设和主机硬件进行了最优化的集成;
·促进了低价格的外设的发展;
·廉价的电缆和连接头;
·运用了商业技术。
升级路径:
·体系结构的可升级性支持了在一个系统中可以有多个USB主机控制器。