USB接口协议

搜票网
USB接口协议简介
1.USB以及协议简介
USB(Universal 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 流,完成数据传输的物理层实现和总线管理。途中黑箭头代表真实的数据流,灰箭头代表逻辑上的通讯。如图所示:
主机                              物理设备
         
                                                                  功能层pe导电母粒
                                                                  设备层
abaqus后处理
                                                                  总线接口层
干粉砂浆
                            逻辑上的数据流
                           
实际数据流
以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帧号域(FRAM)
11位,每一个帧都有一个特定的帧号,帧号域最大容量0x800,对于同步传输有重要意义。
3.1.6数据域(DATA)
长度为0~1023字节,在不同的传输类型中,数据域的长度各不相同,但必须为整数个字节的长度。
绝缘阻抗测试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 数据包
pcti分为DATA0包和DATA1包,当USB发送数据的时候,当一次发送的数据长度大于相应端点的容量时,就需要把数据包分为好几个包,分批发 送,DATA0包和DATA1包交替发送,即假如第一个数据包是DATA0,那第二个数据包就是DATA1。但也有例外情况,在同步传输中(四类传输类型 中之一),任何的数据包都是为DATA0,格式如下:
SYNC+PID+0~1023字节+CRC16(16位的校验码)
3.2.3 握手包
结构最为简单的包,格式如下
SYNC+PID
3.2.4 特别包
  这里不做解释
3.3 事务
分别有IN事务、OUT事务和SETUP事务三大事务,每一种事务都由令牌包、数据包、握手包三个阶段构成,这里用阶段的意思是因为这些包的发送是有一定的时间先后顺序的,事务的三个阶段如下:

本文发布于:2024-09-24 20:21:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/180064.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传输   设备   数据   总线   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议