USB外设由USB主机和USB设备构成,USB主机在USB系统中处于中心地位,并且对USB及其连接的设备有着特殊的责任。主机控制着所有对USB的访问,一个外设只有主机允许后才有权访问总线。主机同时也监测着USB的结构,以端点(Endpoint)和管道(Pipe)的方式同接口设备进行数据流的交换。USB主机和设备结构图如图3-10所示。
USB主机包括三层:设备驱动程序、USB系统软件和USB主控制器(主机的总线接口)。另外,还有两个软件接口:USB驱动(USBD)接口和主机控制驱动(HCD)接口。USB设备包括Hub和功能设备,而功能设备又可分为定位设备和字符设备等。
(1)端点 每一USB设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通信,以使用设备的功能。每个端点实际上就是一个不同大小的数据缓冲区,这些端点在设备出厂时就已定义好,在USB系统中,每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性,其中包括:传输方式、总线访问频率、带宽、端点号、数据包的最大容量等。端点必须在设备配置初始化设定参数等,端点0是控制端点,端点1、2一般用作数据端点,存放主机与设备之间交换的数据。
(2)管道 一个USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接,它代表了一种在两者之间移动数据的能力。一旦设备被配置,管道就存在了。管道有两种类型:数据流管道(其中的数据没有USB定义的结构)和消息管道。(www.xing528.com)
一个USB设备可以分为三层,最底层是总线接口,用来发送与接收包;中间层管理总线接口与不同端点之间的数据流通,一个端点是数据最终的使用者或提供者,它可以看作数据源或接收端;最上层就是USB设备所提供的功能,比如鼠标或键盘等。
图3-10 USB主机和设备结构图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。