您的位置:首页 > 其它

USB 设备和传输特性之学习笔记

2014-03-25 18:08 387 查看

USB 设备的供电模式

自供电 (Self Powered)
总线供电 (Bus Powered)
同时具有上述两种供电能力

USB控制器能够给USB设备提供最多 500mA 的供电能力。如果仅仅usb总线设计上只存在总线供电能力的设备,最大电流损耗可能超出供电能力;

因此,自供电设备的存在是必要的----他们需要有自己专用的外部电源。 支持两种供电模式的 usb 设备,能在接入外部电源时进行供电模式切换。

USB 设备的传输速度

慢速设备 (Low speed device) 例如 鼠标,键盘,游戏操作杆等。 传输速率: 1.5 MBit/s
全速设备 (Full speed device) 例如 音视频系统等。 传输速率: 12MBit/s
高速设备 (High speed device) USB2.0 spec 增加定义, 传输速率: 480MBit/s
超速设备 (Super speed device) USB3.0增加定义 传输速率: quarter-transfer mode 5Gbps, crude output 4Gbps

USB 拓扑结构



Hub:

可以扩展USB端口 (2~8个端口) 的一种USB设备
最大可连接设备数量等于总线总设备数减去 hub 数目
hub 是可自供电/总线供电的全速设备
usb 主控制器的物理端口通过一个虚拟的 root hub 来操作。 root hub 通过主控制器的设备驱动模拟出来,以便于统一总线拓扑。因此每个usb 端口都可以用同一方式进行操作。

Host Controller:

现代的芯片组一般都集成有USB主控制器。早期不具有USB主控制器的主板可以通过外接带有usb主控制器功能的PCI板卡进行扩展。
所有USB主控制器都兼容 OHCI 和 UHCI 标准。这两种类型具有相同的能力,因此USB设备不需要考虑主控制器类型。
OHCI标准(Open Host Controller Interface) 由 Compaq, Microsoft, National Semiconductor 制定。
UHCI标准 ( Universal Host Controller Interface) 由 Intel 制定。
UHCI的硬件相对简单,因此它需要相对复杂的驱动程序,所需要的CPU负载也会稍多一些。

数据流类型

USB之间的数据传输分成两个方向,三个类型。

从主设备到从设备的数据传输,称为下行 (DownStream) 或 Out transfer. 反之称为上行 (Upstream) 或 IN transfer。

控制传输 (Control Transfer) : 用于请求和发送能够可靠的短数据包,用于配置设备。每个USB设备必须支持一套标准控制命令的最小子集。

标准控制命令完整列表如下:

GET_STATUS
CLEAR_FEATURE
SET_FEATURE
SET_ADDRESS
GET_DESCRIPTOR
SET_DESCRIPTOR
GET_CONFIGURATION
SET_CONFIGURATION
GET_INTERFACE
SET_INTERFACE
SYNCH_FRAME

块传输 (Bulk Transfer): 用于请求和发送可靠的数据包,最高可占有全部总线带宽。典型的是扫描仪和SCSI适配卡。
中断传输 (Interrupt Transfer): 类似于块传输, 但是需要周期性轮询。一旦终端传输被提交,主控制器驱动将自动周期性重复此传输。间隔 1ms - 255ms.
同步传输 (Isochronous Transfer): 以实时方式发送或接收数据流,保证总线带宽,但是不具有可靠性。主要用于音频和视频设备。

主要参考内容来自:

http://www.usb.org, Universal Serial Bus Implementers Forum
http://www.linux-usb.org, Linux USB Developer and Support information.
http://usb.cs.tum.edu, Linux USB Developer Pages

Universal Serial Bus Specification Compaq, Intel, Microsoft, NEC, Revision 1.1, September 23, 1998

Universal Serial Bus Common Class Specification Systemsoft Corporation, Intel Corporation, Revision 1.0 December 16, 1997

Device Class Definition for Human Interface Devices (HID) Firmware Specification, Version 1.1, Universal Serial Bus (USB),July 4, 1999

Intel Universal Host Controller Interface (UHCI) Design Guide, Revision 1.1, March 1996

Linux Device Drivers, 1st Edition, Alessandro Rubini, February 1998 http://selva.dit.upm.es/jmseyas/linux/kernel/hackers-docs.html, Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel, Juan-Mariano de Goyeneche

http://www.lrr.in.tum.de/Par/arch/usb/usbdoc/
http://docs.google.com/Doc?id=dcbsxfpf_220gbw4bmfk
http://www.linux-usb.org/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: