端点(endpoint):端点是USB设备的唯一可识别部分,其是主机和设备之间的通信流的终点。它是一个USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据。每个USB逻辑设备由一组独立的端点组成。每个逻辑设备都有一个由系统在设备连接时分配的唯一地址。设备上的每个端点在设计时都会得到一个唯一的设备确定的标识符,称为端点号。每个端点都有一个设备确定的数据流方向。设备地址,端点号和方向的组合允许唯一地引用每个端点。每个端点都是一个单一连接,支持一个方向的数据流:输入(in)(从设备到主机)或输出(out)(从主机到设备)。端点具有确定端点和客户端软件之间所需传输服务类型的特征。每个端点都有一定的属性,包括传输方式、总线访问频率、带宽、端点号和数据包的最大容量。
端点可以决定端点和客户端软件之间通讯所需要的传输服务类型。一个端点由一下内容来描述:
总线访问频率/延时要求
带宽要求
端点号
差错控制要求
端点可以接受或传递的最大分组
端点的传输类型
对于同步端点而言,还要包括端点和主句之间的数据传输方向
对齐进行配置之前,端点处于一种不确定的状态。所以只有在对其进行了配置工作之后,主机才能访问某个端点。
端点0要求:所有的USB设备都要拥有端点0,该端点用于对一个逻辑设备进行初始化和进行一般的操作(对逻辑设备进行配置)。端点0提供了对设备配置信息的访问权限,通过它还允许访问一般的USB状态和控制操作。端点0支持控制传输,并且总是在设备接入和上电时就进行配置。
|