一 USB是一种协议总线,即主机与设备之间的通信需要遵循一系列约定。协议内容较多,这里仅作一些简单介绍,深入学习,可参看USB规范(WWW.usb.org)。
为 了理解协议中的名称,先看图10.32。该图突出了主机上的客户软件和USB逻辑设备(编程涉及的设备)之间的通信流 (Communication Flow),该通信流跨越了USB驱动程序USBD、主控制器驱动程序UHCD、主控制器等硬件接口及其连接。端点 (Endpoints)是USB设备的惟一可识别的部分,是主机和设备之间通信流的终点。每一个逻辑设备有若干个独立端点,每一个端点在设计时被分配一个 惟一的由设备确定的标识符,称之为端点 。 如图10.32所示,将用于通信流流动的通道称为管道(Pipe),这是忽略了许多中间环节的很形象的称呼,对于理解USB系统中的信息传输很有帮助。图 中把3个端点看成了一个接口,关于接口的说明安排在后面。
低 4位用来标识不同的包,高4位分别为低4位的检验字段,这样安排是为了保证对PID可靠的译码,从而也使得包的其他部分能得到正确解释。表10.20表示 了PID编码和对应的PID类型。其中第3列是PID的低4位,即PID编码。 表中有两种数据包PID,都用于数据的传输,以它们开头的两种数据包除了包PID部分有一位(及与它对应的反向位)不同外,其他部分都相同。设置这两种数 据 包是为了使发送方和接收方保持同步,这涉及到一些细节,将在10.3.6小节中介绍。在图10.38~10.40中不妨将它们看成一种数据包。
在全速或低速时,主机每隔1 ms±0.0005 ms发出一个帧开始包SOF,在高速时,每隔125 μs±0.0625μs发出一个SOF,以表示开始一个新帧。SOF包的格式如图10.36所示。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!