您的位置:首页 > 其它

整理 使用usb术语详解

2010-07-05 13:43 176 查看
如果您刚开始接触
USB
,那么了解一些
USB
术语
将很有帮助。本文介绍了基本的
USB
术语。



主机


USB
是一种


-


式总线,
包括一个主机和多个从机。从机称作外设,在
USB
术语中也称作功能部件。主机称作主设备。所有
USB
传输都由主机启动;外设总是响应传输,不会启动传输。最常用的主机是
PC
机,主机通过
USB-A

接器连接到下行设备。嵌入式主机不包括
PC
机,而是用一个微控制器作为专用主机,或许只能与一类
USB
设备通信。




功能部件


功能部件是
USB
设备,也称作
USB

设。
USB
外设是主机的

下行

设备,使

USB B
型连接器连接。




速率


USB 2.0
标准规定了以下三种传输速率:

低速模式传输速率为
1.5Mbps
,多用于键盘和鼠标。

全速模式传输速率为
12Mbps



高速模式传输速率为
480Mbps



市场上关于
“USB 2.0
兼容

的概念有一些混乱。这种混乱源于
USB
标准版本的升级,首先推出的是
USB
1.0
,紧接着有了比
1.0
更理想的
USB1.1

USB1.x
支持低速和全速两种
USB
总线速度。
2.0
版本
增加了高速模式,完全替代了
1.1
。所以,如果使用的是工作在
12Mbps
速率下的全速器件,则可认为它与
USB 2.0
兼容,即使许多人仅将
USB 2.0
用于高速
(480Mbps)
操作。






-

出方向


USB
系统以主机为中心。因此,解释
USB
术语时假设面向的是主机。所以,从主机侧看,



表示传输方向从外设到主机;同样,



表示传输方向从主机到外设。




端点


端点位于
USB
外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的
FIFO
。每个
USB
外设
有一个唯一的地址,可能包含最多十六个端点。主机通过发出器件地址和每次数据传输的端点号,向一个具体端点
(FIFO)
发送数据。




每个端点的地址为
0

15
,一个
端点地址对应一个方向。所以,端点
2-IN
与端点
2-OUT
完全不同。

每个器件有一个默认的双向控制端点
0
,因此不存在端点
0-IN

端点
0-OUT



外设中端点的编号是任意的。枚举期间外设向主机报告其端点号和特
征。




集线器


集线器扩展了
USB
主机所能连接设备的数量。
PC
机的
USB
控制器内置一个集线器,负责完成一些底层
USB
功能,如检测设备的插入或拔出。集线器以全速或高速连接到上行端口
(

PC)
,以低速、全速或高速连接到下行端口
(
到外设
)

PC
的根集线器可为每个
A
型连接器提供
5V

500mA

源。一个总线供电的外部集线器可为每端口提供
100mA
电流。由于
USB
为外部集线器电路分配
100mA

流,因此,一个总线供电的集线器可以有四个下行端口。如果集线器有自己的电源
(
自供电
)
,每个下行端口可提供高达
500mA

流。




枚举


插入
USB
设备时,主机获取连接通知,继而识别刚刚插入的是什么。主机需要得到一系列描述符
(
数据表
)
,该描述
符来自插入的设备,所有
USB
设备在插入
USB
端口时,主机都通过默认的
CONTROL
端点
0
与设备进行通讯。如果主机确认它从设备接收的数据正确,则配置该设
备使之开始工作。如果主机认为设备的数据不正确
(
例如,某个描述符数据有冲突或超出了规范
)
,则忽略该设备。这时会弹出一个对话窗,说明该
USB
设备出了一些问题。




第九章

(

关于枚举的更多信息

)


USB
标准的第
9
章定义了
枚举期间主机送到外设的所有请求,以及外设响应的数据格式。如果访问
USB
官方
网站,将找到一个名为
USBCV (USB
命令验证器
)
的软件工具,其中有一部分名为


9
章测试

。这些测试可以证明您的枚举代码是否正确。在进行
USB
实验室测试时也要用到
USBCV

因此,如果已在自己的实验室里通过了这一
USB
验证,则实验室测试也不成问题。



SIE


SIE
指串行接口引擎,是所有
USB
控制
器内部的

核心


SIE
负责
处理底层协议,如填充位,
CRC
生成和校验,并可发出错误报告。
SIE
的主要任务是将低级信号转换成字节,以供控制器使用,某些
SIE
会更加先进灵活。它处理的底层信号细节越多,控制固件越简单。例如,某些
SIE
只报告端点数据触发的结果
(
参见下文
)
,并将它留给固件以确定如何处理。



数据触发


USB
包从
PID

ID
开始。数据传输用到两种
PID

DATA0

DATA1
。主机和外设均包含数据触发位,每个端点一个。触发位确定这些数据
PID
中的哪一个用于数据传输。当外设脱离复位状态,主机和外设均将其内部数据触发位复位到零。因此,第一个传
送的是
DATA0 PID
数据包。当数据包传输无误时
(
发送方接收到
ACK PID
信号,表明数据传输无误
)
,发送方和接收方补偿其数据触发值。然后用
DATA1 PID
向端点发送第二个数据包。成功传输后,
DATA0 PID

DATA1 PID
数据包交替发送
(
或再次触

)

USB
将该机***为其误差校正的一部分。




控制传输、批量传输、中断传输、同步传输


USB
有上述四种传输类型。枚举期间外设告诉主机每个端点支持哪种传输类型。


只有主机能够发出控制传输,该传输由两个或三段组成。先通过设置数
据包
(8
字节长
)
发送具体的主机请求。然后用一个可选数据包移动描述符表等数据。最后,用握手
(
状态
)
包终止控
制传输。作为

关键

传输,控制传输有高总线优先权和最全面的误差校验。每个
USB
外设都需要一个默认的控制端点
0





批量传输使用流控制和误差校验移动数据。批量传输为异步方式,这意
味着预定传输时间不固定或不能保证。主机安排批量传输的优先级为低。这并不说明批量传输很慢;如果总线被轻微加载,批量传输即可在所有可用带宽上进行。




实际上,中断传输和批量传输很难区分。他们之间的唯一区别是中断点
包含轮询间隔值,用来告诉主机多长时间
“ping”
一次端点。所以批量和中断传输之间的唯一区别是主机多长时间安排
一次传输。


同步
(ISO)
传输用于数据流,例如音频或视频,此时数据必须及时到达以避免音频或视频数据中断。当器件枚举时告诉主
机其
ISO
端点对带宽的要求。如果带宽适当,主机保证每隔
1ms
发送一个
USB
帧,
包含一个发往或来自设备的
ISO
数据包。
ISO
不使用握手
(ACK/NAK)
或总线重试。同步传输仅适用于全速和高速设备。




总线复位


主机通过发出总线复位信号复位
USB
外设。全速和低速
USB

D+

D-
线上通
常使用差分信号。但也有例外,总线复位和包结束信号使用的是单端零信号,此时
D+

D-
均为低。




USB

驱动器


Windows
中内置了支持各种
USB
设备的驱动程序。如果固件支持这些标准设备之一,则
USB
产品不需要安装定制驱动程序
(
没人真
的想要写
Windows
驱动
)

Windows
包含标准设备驱动程序,如
HID (
人机接口设备
)
和大容量存储器
(
磁盘驱动
器、
CD-ROM
、存储器条
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: