Linux设备驱动三中文版-USB开发第十三章USB 驱动程序通用串行总线 ( USB )是主机和外围设备之间的一种连接。USB 最初是为了替代许多不 同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种 不同类型的设备 (注 1 ) 。 USB 的发展已经超越了这些低速的连接方式,它现在可以支持 几乎所有可以连接到 PC 上的设备。最新的 USB 规范修订增加了理论上高达 480 Mbps 的高速连接。 从拓扑上来看, 一个 USB 子系统并不是以总线的方式来布置的; 它是一棵由几个点对点 的连接构建而成的树。这些连接是连接设备和集线器( hub )的四线电缆(地线、电源 线和两根信号线) ,这和以太网双绞线类似。USB 主控制器( host controller )负责询问 每一个 USB 设备是否有数据需要发送。因为这种拓扑布局的原因,一个 USB 设备在没 有主控制器要求的情况下是不能发送数据的。 这种配置便于搭建一个非常简易的即插即 用类型的系统,藉此,设备可以由主机自动地配置。 USB 总线在技术层面上是非常简单的,因为它是一个单主方式的实现,在此方式下,主 机轮询各种不同的外围设备。 尽管存在这种内在的局限性, USB 总线有一些吸引人的特 性, 例如设备具有要求一个固定的数据传输带宽的能力,以可靠地支持视频和音频 I/O 。 USB另一个重要的特性是它只担当设备和主控制器之间通信通道的角色, 对它所发送的 数据没有任何特殊的内容和结构上的要求( 注 2) 。 USB协议规范定义了一套任何特定类型的设备都可以遵循的标准。 如果一个设备遵循该 标准,就不需要一个特殊的驱动程序。这些不同的特定类型称为类( class ) ,包括存储注 1: 本章部分内容基于 Linux 内核 USB 代码的内核文档, 这些文档由内核的 USB 开发者编 写,并且按照 GPL 条款发布……
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
热门标签
评论