USB通讯原理-协议摘要

上传人:我*** 文档编号:129961435 上传时间:2020-04-24 格式:DOC 页数:11 大小:1.64MB
返回 下载 相关 举报
USB通讯原理-协议摘要_第1页
第1页 / 共11页
USB通讯原理-协议摘要_第2页
第2页 / 共11页
USB通讯原理-协议摘要_第3页
第3页 / 共11页
USB通讯原理-协议摘要_第4页
第4页 / 共11页
USB通讯原理-协议摘要_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《USB通讯原理-协议摘要》由会员分享,可在线阅读,更多相关《USB通讯原理-协议摘要(11页珍藏版)》请在金锄头文库上搜索。

1、USB通讯原理 协议摘要2008-08-01 14:33概述USB总线的控制是主从结构,有一个Host和多个Device。Host负责总线的带宽管理(帧的编组),Device枚举,Device的编址。Device对Host在总线上的行为做出回应,如从总线上读取数据或写出数据,处理或生成回应。USB总线的数据线由两根差分信号线D+ D-构成,Host和Device都挂接在这两条信号线上通讯。USB协议内容分两大块,一个是对通讯逻辑进行分层定义;一个是对设备的组成逻辑进行分层定义 。通讯逻辑USB通讯的逻辑结构分成三层:包(packet):信号层上传送的若干连续位流构成一个包,包由信号层定义;事务

2、(transaction):一组相关的包(packet)构成了个事务,事务由协议层定义;传输(transfer):一组相关的事务构成一个传输,传输由数据传输层定义;端点(endpoint):进行事务处理的实体;接口(interface):进行传输处理的实体;包(packet)的格式:包有四种:令牌包数据包握手包前导包。这四种包还有些子类。一个包是哪种,由PID标识。令牌包数据包握手包PID注:当USB的令牌包的PID是SOF时,期数据字段必须为11位的帧序列号;2.0的USB协议中定义了更多的PID。事 务(transaction)的种类:有输入(IN)、输出(OUT)、设置(SETUP)、帧

3、起始(SOF)、帧结尾(EOF),基本和令牌包的种类一 致。它并不画出单独的示意图,而体现在传输(transfer)示意图的各个可能的分支里。SOF和EOF较特殊,协议本身并没有将它们当成一种事务类 型。事务(transaction)的特点:数据包的最大长度为1023个字节,一个事务最多只有一个数据包;数据处理顺序由Host控制,一个事务的包不会分到不同的帧里;事务处理中,包的传输是顺序,如令牌包总在数据包之前传送;令牌包都是由Host发出的;设备Device根据令牌包决定自己是否发送数据,不能主动发送数据;帧:是Host对总线进行带宽管理、流量分配的单位,由若干事务(transaction)

4、构成(不是传输),一个帧在时间上看来,是对总线1ms的占用。传输(transfer):有4种,批量传输(bulk)、控制传输(control)、中断传输(interrupt)、实时传输(isochronous)。批量传输(bulk):传送大块数据,不要求有周期性的或一定的数据传输速率。它可占用总线所任何可用带宽来传输,如果总线带宽被必须保证带宽的传输占用时,它可以等 待。它采用数据检错和重传,还保证数据正确传输。解读: 当主机要开始一次输入的批量传输(bulk transfer)时,向总线上发送一个IN的令牌包(packet),设备收到令牌后,向总线上发送DATA或NAK或STALL,主机如收

5、到 DATA,则向总线上发送一个ACK;一次输出的批量传输(bulk transfer)与此类似。控 制传输(control):用于传输命令。所有命令都是Host发起的。所有设备Device都要支持控制传输。是非周期性的传输,但要优点占用总线。只 有控制传输是双向的,而别的传输都是单向的。分成三个阶段(stage):设置阶段、数据(可选)阶段、状态阶段;各个阶段由一个事务处理 (transaction)构成。中断传输(interrupt):用于Host接收Device的事件信息。Host给中断传输的设备分配一定 的总线带宽,周期性地通过中断传输接收此设备的信息,达到与传统中断方式相同的目的,(

6、也就是定时查询)。1.1版协议开始支持INOUT的中断传输。 也是一种可靠的传输方式。实时传输(isochronous):速率保证,正确性不保证。USB设备的组成逻辑:以 例子说明,一个HID设备,具有鼠标、键盘、游戏杆功能,但同一时刻,鼠标和游戏杆只能选一个。因此,一个设备(设备描述符),可以有两种配置(配置描述 符),一种配置由若干接口(接口描述符)(鼠标键盘 键盘游戏杆)构成,接口interface对应传输transfer,每个接口有多个端点endpoint,对应着事务transaction。 所有配置里,都会有一个端口0,用于完成控制传输。设备描述符中有字段bDeviceClass,指

7、出设备归属那个大类,字段bNumConfigurations指出可能的配置描述符数目。配置描述符中有字段bNumInterfaces,指出支持的接口数目。接口描述符中有字段bInterfaceClass,指出接口的类型,字段bNumEndpoints指支持的端点数目。端 点描述符中有字段bEndpointAddress,指出端点的编号和传输方向(如是控制端点,则忽略),字段bmAttributes指出传输类型 (00控制01实时10批量11中断),字段bInterval指出时间间隙。注意,端点号是在整个设备里编址的。Host就是根据枚举到的总线上的所有 设备,和从各个设备上收到的所有的端点描述

8、符,来对帧进行统筹安排,给各有个端点分配带宽。对于endpoint0,一般会两个 FIFO,对应输入输出,而别的endpoint会有一个FIFO与之对应。对一个IN型的endpoint,向FIFO写入应用数据后,在Host在总 线上发送指这个endpoint的IN令牌包后,Device取出FIFO在总线生成数据包,并由Host收走。反之,Host在总线上生成一个指向一个 OUT型的endpoint的OUT令牌包,Device开始准备接收,并在总线出现数据包后,将数据收到端点对应的FIFO中,通知应用程序来取走。USB 标准命令:Clear_Feature Get_Configuration Get_Descriptor Get_Interface Get_Status Set_Address Set_Configuration Set_Descriptor Set_Interface Set_Feature Synch_Frame。控制传输有三个阶段,这些命令就在其设置阶段的数据包里,数据阶段完成命令要求的动作,如返回设备的描述符、某种状态、或设置某 种信息等。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号