欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    USB接口协议.docx

    • 资源ID:96537766       资源大小:168.50KB        全文页数:9页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    USB接口协议.docx

    USB 接口协议简介1. USB 以及协议简介USBUniversal Serial Bus是近年来应用在PC 领域的型接口技术,它是由一些PC 大厂商如 Microsoft、Intel 等为了解决日益增加的 PC 外设与有限的主板插槽和端口之间的冲突而制定的一种通用串行接口。数据通信协议局部是 USB 的核心内容。主要包括:以差模串行信号为载体传送二进制代码来传输信号;数据包作为最根本的完整信息单元,包含一系列数据信息。数据包可以分解为更小的单元域;以包为根底,构成 USB 的三种事务。进而,组合不同的传输类型,传输各种类型的数据,实现 USB 的各种功能。2. USB 通信机制为了细化 USB 的通信机制,USB 协议的开发者承受了分层的概念,每一层传输的数据构造对其他规律层是透亮的,USB 设备和 USB 主机通信的规律构造和每 层的规律通道。在 HSOT 端,应用软件Client SW不能直接访问 USB 总线,而必需通过 USB 系统软件 和 USB 主机掌握器来访问 USB 总线,在 USB 总线上和 USB 设备进展通讯。从规律上可以分为功能层、设备层和总线接口层三个层次。其中功能层完成功能级的描述、定义和行为; 设备级则完成从功能级到传输级的转换,把一次功能级的行为转换为一次一次的根本传输; USB 总线接口层则处理总线上的 Bit 流,完成数据传输的物理层实现和总线治理。途中黑色箭头代表真实的数据流,灰色箭头代表规律上的通讯。如下图:主机物理设备应用软件功能硬件功能层系统软件USB规律(驱动)设备设备层USB主机USB通道掌握器接口 规律上的数据流实际数据流总线接口层以 USB 摄像头设备为例,视频播放软件想通过USB 总线得到USB 摄像头捕获的视频数据, 这就相当于在功能层上。应用软件是视频播放软件,功能硬件是USB 摄像头。而这些数据 的读取需要 USB 设备层供给的效劳,在这一层上,主要是USB 设备的驱动调度主机掌握器掌握器向 USB 摄像头发出读恳求。每个 USB 设备会有多个管道,使用哪个管道,传输的大小都需要指定。这个层次的USB 系统软件就是 USB 摄像头的驱动程序。而在USB 设备一端一般会有小单片机或者处理芯片负责响应这种读恳求,而这一层的传输又依靠于USB 总线接口层的效劳。 在这一层,完全是 USB 的物理协议,包括如何分成更小的包packages 传输,如何保证每次包传输不丧失数据等。3. USB 传输的数据格式其他传输协议一样,在物理层,USB 固然也是通过二进制数据进展传输的,首先二进制数据构成域有七种,域再构成包,包再构成事务IN、OUT、SETUP,事务最终构成传输。3.1 域:是 USB 数据最小的单位,由假设干位组成至于是多少位由具体的域打算,域可分为七个类型:3.1.1 同步域SYNC八位,值固定为 0000 0001,用于本地时钟和输入同步。3.1.2 标识域PID由四位标识符+四位标识符反码构成,说明包的类型和格式,这是个很重要的局部,这里能够计算出,USB 的标识码有 16 种。3.1.3 地址域ADDR七位地址,代表了设备在主机上的地址,地址000 0000 被命名为零地址,是任何一个设备第一次连接到主机时,在被主机配置、枚举前的默认地址,由此能够知道为什么一个 USB 主机只能接 127 个设备的缘由。3.1.4 端点域ENDP四位,由此可知一个 USB 设备有的端点数量最大为 16 个。3.1.5 帧号域FRAM11 位,每一个帧都有一个特定的帧号,帧号域最大容量 0x800,对于同步传输有重要意义。3.1.6 数据域DATA长度为 01023 字节,在不同的传输类型中,数据域的长度各不一样,但必需为整数个字节的长度。3.1.7 校验域CRC对令牌包和数据包对于包的分类请看下面中非PID 域进展校验的一种方法,CRC 校验在通讯中应用很泛,是一种很好的校验方法。3.2 包由域构成的包有四种类型,分别是令牌包、数据包、握手包和特别包。3.2.1 令牌包可分为输入包、输出包、配置包和帧起始包留意这里的输入包是用于配置输入命令的, 输出包是用来配置输出命令的,而不是放据数的。其中输入包、输出包和配置包的格式都是一样的: SYNC+PID+ADDR+ENDP+CRC5五位的校验码上面的缩写解释请看上面域的介绍,PID 码即产品识别码。帧起始包的格式:SYNC+PID+11 位 FRAM+CRC5五位的校验码3.2.2 数据包分为 DATA0 包和 DATA1 包,当 USB 发送数据的时候,当一次发送的数据长度大于相应端点的容量时,就需要把数据包分为好几个包,分批发 送,DATA0 包和 DATA1 包交替发送, 即假设第一个数据包是 DATA0,那其次个数据包就是DATA1。但也有例外状况,在同步传输中四类传输类型 中之一,任何的数据包都是为 DATA0,格式如下:SYNC+PID+01023 字节+CRC1616 位的校验码3.2.3 握手包构造最为简洁的包,格式如下SYNC+PID3.2.4 特别包这里不做解释3.3 事务分别有 IN 事务、OUT 事务和 SETUP 事务三大事务,每一种事务都由令牌包、数据包、握手包三个阶段构成,这里用阶段的意思是由于这些包的发送是有肯定的时间先后挨次的,事 务的三个阶段如下:1、令牌包阶段:启动一个输入、输出或配置的事务2、数据包阶段:按输入、输动身送相应的数据3、握手包阶段:返回数据接收状况,在同步传输的 IN 和 OUT 事务中没有这个阶段,这是比较特别的。事务的三种类型如下以下按三个阶段来说明一个事务:3.3.1 IN 事务令牌包阶段主机发送一个 PID 为 IN 的输入包给设备,通知设备要往主机发送数据; 数据包阶段设备依据状况会作出三种反响要留意:数据包阶段也不总是传送数据的,依据传输状况还会提前进入握手包阶段1) 设备端点正常,设备往入主机里面发出数据包DATA0和 DATA1交替;2) 设备正在忙,无法往主机发出数据包就发送 NAK 无效包,IN 事务提前完毕,到了下一个 IN 事务才连续;3) 相应设备端点被制止,发送错误包STALL 包,事务也就提前完毕了,总线进入空闲状态。握手包阶段主机正确接收到数据之后就会向设备发送ACK 包。3.3.2 OUT 事务令牌包阶段主机发送一个 PID 为 OUT 的输出包给设备,通知设备要接收数据;数据包阶段比较简洁,就是主时机设备送数据,DATA0和 DATA1交替握手包阶段设备依据状况会作出三种反响1) 设备端点接收正确,设备往入主机返回 ACK,通知主机能够发送的数据,假设数据包发生了 CRC 校验错误,将不返回任何握手信息;2) 设备正在忙,无法往主机发出数据包就发送NAK 无效包,通知主机再次发送数据;3) 相应设备端点被制止,发送错误包STALL 包,事务提前完毕,总线直接进入空闲状态。3.3.3 SETUP 事务令牌包阶段主机发送一个 PID 为 SETUP 的输出包给设备,通知设备要接收数据;数据包阶段比较简洁,就是主时机设备送数据,留意,这里只有一个固定为8 个字节的 DATA0包,这8 个字节的内容就是标准的 USB 设备恳求命令共有11 条,具体请看问题七握手包阶段设备接收到主机的命令信息后,返回ACK,此后总线进入空闲状态,并预备下一个传输在 SETUP 事务后通常是个 IN 或 OUT 事务构成的传输3.3.4 PING 事务处理主要应用于高速数据传输中,只包含令牌包和握手包阶段,步骤如下:USB 主机向 USB 设备发送 PING 令牌包,表示一个 PING 事务的开头; USB 正确接收到该命令包,然后 USB 设备向 USB 主机返回各种握手包进展响应3.4 传输传输由 OUT、IN、SETUP 事务其中的事务构成,传输有四种类型,中断传输、批量传输、同步传输、掌握传输,其中中断传输和批量转输的构造一样,同步传输有最简洁的构造,而 掌握传输是最重要的也是最简单的传输3.4.1 中断传输由 OUT 事务和 IN 事务构成,用于键盘、鼠标等 HID 设备的数据传输中3.4.2 批量传输由 OUT 事务和 IN 事务构成,用于大容量数据传输,没有固定的传输速率,也不占用带宽,当总线忙时,USB 会优先进展其他类型的数据传输,而临时停顿批量转输。3.4.3 同步传输由 OUT 事务和 IN 事务构成,有两个特别地方,第一,在同步传输的IN 和 OUT 事务中是没有返回包阶段的;其次,在数据包阶段任何的数据包都为DATA03.4.5 掌握传输最重要的也是最简单的传输,掌握传输由三个阶段构成初始配置阶段、可选数据阶段、状态信息步骤,每一个阶段能够看成一个的传输,也就是说控 制传输其实是由三个传输构成的,用来于 USB 设备初次加接到主机之后,主机通过掌握传输来交换信息,设备地址和读取设备的描述符,使得主机识别设备,并安 装相应的驱动程式,这是每一个USB 研发者 都要关心的问题。1、 初始配置步骤:就是个由 SET 事务构成的传输2、可选数据步骤:就是个由IN 或 OUT 事务构成的传输,这个步骤是可选的,要看初始配置步骤有没有需要读/写数据由 SET 事务的数据包阶段发送的标准恳求命令打算 3、状态信息步骤:顾名思义,这个步骤就是要猎取状态信息,由IN 或 OUT 事务构成构成的传输,但是要留意这里的 IN 和 OUT 事务和之前的 IN 和 OUT 事务有两点不同:1) 传输方向相反,通常 IN 表示设备往主机送数据,OUT 表示主机往设备送数据; 在这里,IN 表示主机往设备送数据,而 OUT 表示设备往主机送数据,这是为了和可选数据步骤相结合。2) 在这个步骤里,数据包阶段的数据包都是0 长度的,即 SYNC+PID+CRC16。4. 事务传输的流程4.1 中断传输中断传输在流程上除了不支持 PING 事务以外,其他的跟批量传输时一样的。他们之间的区分在于事务传输发生的端点不一样、支持最大的包的长度不一样、优先级不一样等这些对于用户来说透亮的东西。4.2 批量传输图中一个方框表示一个 Packet,灰色的包表示主机发出的包,白色的包表示设备发出的包, 批量传输时牢靠的传输,需要用握手包来说明传输结果。假设数据量比较大,将承受屡次批量 事务传输来完成全部数据的传输,传输过程中的PID 依据 DATA0-DATA1-DATA0 的方式旋转,以保证发送端和接收端的同步。USB 允许连续三次一下的传输错误,会重试该传输,假设成功会将错误计数清零,否则累加该计数器。超过三次后,HOST 认为该端点功能错误,放弃该端点的传输任务。4.3 同步传输同步传输时不行靠的传输,所以它没有握手包。同时也不支持 PID翻转,同步传输有最高的优先级。4.4 掌握传输一次掌握传输分为三个(或者两个)阶段:建立SETUP,数据(DATA,可能么有)以及状态SATATUS。每个阶段都有一次或者屡次的事务传输阶段组成。建立阶段过后,可能会有数据阶段,这个阶段将会通过一次或者屡次掌握传输事务,完成 数据的传输,同样也承受PID 翻转的机制。建立阶段,设备只返回ACK 包,或者不返回任何包最终是状态阶段,通过一次方向与前一次相反的掌握事务传输来说明传输的成功与否。假设成功会返回一个长度为 0 的数据包,否则返回 NAK 或者 STALL。示意图如下:

    注意事项

    本文(USB接口协议.docx)为本站会员(1513****116)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开