新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > usb基础知识

usb基础知识

作者: 时间:2016-11-28 来源:网络 收藏
1、端点:位于USB设备或主机上的一个数据缓冲区,每个端点有其唯一的地址,有不同的传输特性(输入、输出、配置、批量传输端点)

帧: 是一个时间概念,在USB中,一帧就是1MS,包含了一系列总线动作。USB

本文引用地址://m.amcfsurvey.com/article/201611/322917.htm

   将一帧分为好几份,每份就是USB的一个传输动作。

上行:设备到主机为上行,主机到设备为下行。

2、数据在USB中的发送是由低位到高位发送的。

3、USB的数据格式:

    数字串构成域(有七种),域再构成包,包再构成事务(IN、OUT、SETUP),事务最后构成传输(中断传输、并行传输、批量传输和控制传输)。

    域:

名称

意义

同步域(SYNC)

固定为0000 0001

用于同步

标识域(PID)

四位标识符+四位标识符反码

表明包的类型和格式,共16种

地址域(ADDR)

7位地址

设备在主机上的地址(注1)

端点域(ENDP)

4位

帧号域(FRAM)

11位

每个帧都有其编号,最大为0x800

数据域(DATA)

校验域(CRC)

    注:1、地址000 0000被命名为零地址,是任何一个设备第一次连接到主机时,在被主机配置、枚举前的默认地址,由此可以知道为什么一个USB主机只能接127个设备的原因。

    2、端点域有4位,所以一个设备最多有16个端点。

   包:

   

令牌包

SYNC+PID+ADDR+ENDP+CRC5(五位的校验码)(输入、输出、设置)

SYNC+PID+11位FRAM+CRC5(五位的校验码)(帧起始包)

数据包

SYNC+PID+0~1023字节+CRC16

握手包

SYNC+PID

特殊包

   事务:

     IN:令牌包、数据包、握手包

     OUT:令牌包、数据包、握手包

     SETUP:令牌包、数据包、握手包 这8个字节的内容就是标准的USB设备请求命令(共有11条

  

传输:

    传输由IN、OUT、SETUP中的事务构成,有中断传输、批量传输、控制传输、  

    同步传输、控制传输,其中中断传输和批量转输的结构一样,同步传输有最简单的结构,而控制传输是最重要的也是最复杂的传输。

1、    中断传输:由OUT事务和IN事务构成,用于键盘、鼠标等HID设备的数据传输中

2、     批量传输:由OUT事务和IN事务构成,用于大容量数据传输,没有固定的传输速率,也不占用带宽,当总线忙时,USB会优先进行其他类型的数据传输,而暂时停止批量转输。

3、     同步传输:由OUT事务和IN事务构成,有两个特殊地方,第一,在同步传输的IN和OUT事务中是没有返回包阶段的;第二,在数据包阶段所有的数据包都为DATA0

4、   控制传输:最重要的也是最复杂的传输,控制传输由三个阶段构成(初始设置阶段、可选数据阶段、状态信息步骤),每一个阶段可以看成一个的传输,也就是说控制传输其实是由三个传输构成的,用来于USB设备初次加接到主机之后,主机通过控制传输来交换信息,设备地址和读取设备的描述符,使得主机识别设备,并安装相应的驱动程序,这是每一个USB开发者都要关心的问题

令牌包:

0x01输出(OUT)启动一个方向为主机到设备的传输,并包含了设备地址和标号

0x09输入(IN)启动一个方向为设备到主机的传输,并包含了设备地址和标号

0x05帧起始(SOF)表示一个帧的开始,并且包含了相应的帧号

0x0d设置(SETUP)启动一个控制传输,用于主机对设备的初始化

数据包:

0x03偶数据包(DATA0),

0x0b奇数据包(DATA1)

握手包:

0x02确认接收到无误的数据包(ACK)

0x0a无效,接收(发送)端正在忙而无法接收(发送)信息

0x0e错误,端点被禁止或不支持控制管道请求

特殊包0x0C前导,用于启动下行端口的低速设备的数据传输



关键词: usb基础知

评论


技术专区

关闭