USB接口应用
AI summary
USB是一种通用串行总线,经历了多个版本的发展,当前传输速率可达10Gbps。USB2.0作为广泛使用的高速接口,支持多种数据传输方式,包括普通数据、同步数据、事件数据和配置数据,并采用CRC进行错误检测。USB的通信模式为主从结构,最多支持127个从设备。EZFX2是目前市场上广泛使用的USB控制芯片解决方案。
Last edited time
Nov 10, 2024 06:37 AM
Last edited by
Tags
Serial Communication
Communication Protocols
Data Transmission Methods
第一节:熟悉USB
USB是串口的一种,早期用于CPU的扩展接口,它的设计之初就是满足各种类型的数据传输,因此叫做通用串行总线(Universal Serial Bus),它与UART作为2种常见串口,作为一种通用性串行接口,要复杂很多。
USB经历了1.1,2.0,3.0,3.1GEN ,4.0的发展,目前传输速率已经达到了单lane传输的最高标志,10gbsp。
1.1 USB2.0
USB2.0很长时间被使用,它驱动电路采用的高速数据传输收发电路,因此也属于高速接口,换句话说,驱动电路不是普通的驱动而是需要用。
但是虽然USB2.0采用高速数据传输,但是相对于现在我们所使用使用的大部分高速接口采用的收发器,它采用较为简易的高速收发器。

1.1.1 USB2.0接口
信号名 | 描述 |
D+ | 数据时钟差分信号正电平 |
D- | 数据时钟差分信号负电平 |
gnd | 信号低 |
vcc | 总线供电信号 4.4V到5.25V 500mA |
1.1.2 USB2.0特点
- 速率

- 接口供电
自供电:大部分的接口采用自供电
总线供电:USB支持总线供电
- 通信方式
USB采用半双工通信,并且为主从传输的总线,为单主多点数据传输,采用树状通信模型。

Host:主机,整个通信系统只能有一个主机
Function:从机,最多127个总计
Hub:分支集线器,单个分支最多5个hub
Tier:分支层级,不能超过7级
- USB2.0可靠性
- 普通数据
- 主从读写数据请求
- 如果读,从机发送数据,如果写,从机接收数据
- 从机应答
- 同步数据
- 主从读数据请求
- 从机接发送数据
- 事件数据
- 主从读写数据请求
- 如果读,从机发送数据,如果写,从机接收数据
- 从机应答
- 配置数据
- 主从读写数据请求
- 如果读,从机发送数据,如果写,从机接收数据
- 从机应答
- ECC
一般接口通信或者总线通信传输的数据,按照应用可大致分为4种,如下:
没有特殊要求的数据,我们都可认为普通数据,按照每次传输的数据量大小可分为,单数据传输,多数据传输,批量数据传输。
USB2.0支持批量数据传输,不适合用来传输多数据传输,单数据传输,为可靠传输
有些数据是实时数据,需要立马传送,原则上不能有延迟,我们这种数据叫做同步数据,比如视频流,语音流….
USB2.0支持同步数据传输,非可靠传输
主机采用轮询方式不断读取数据
有些数据是某个时间触发的时候才会传送数据,比如键盘按键被按下
USB2.0支持同步数据传输,为可靠传输
主机采用轮询方式不断检测是否有时间触发
有些数据是人机交互电路中寄存器参数或者命令,配置数据就是用来在人机交互的过程中传输这样的数据。
USB支持ECC,采用crc校验,并且为2种CRC,如下:
CRC5 : G(X)=x5+x2+1
用于非数据包校验
CRC16: G(x)=x16+x15+x2+1
用于数据包校验
1.1.3 协议
USB2.0以包作为链路数据,经过简易高速收发器接收或者发送链路数据,主要分为2种操作。
1.1.3.1 包
USB2.0的链路数据为包,包按照应用分为令牌包,数据包,应答包。
令牌包:主机发送读写请求的包

Sync: 8’b0000001 (8’h1)
PID:


ADDR[6:0] :设备编号,默认主机编号为0,从机最多127
ENDP :虚拟通道编号,支持多多事务
FRAM :帧号,支持乱序传输
数据包:主机或者从机发送数据的包

Sync: 8’b0000001 (8’h1)
PID:


应答包:从机应答使用的包

Sync: 8’b0000001 (8’h1)
PID:

1.1.3.2 通信状态

电平状态
J状态(高电平) :D+ 高,D- 低
K状态(低电平) :D+低,D- 高
SEO状态 :D+ 低,D- 高
Reset信号 :D+ and D- < VOL for >= 10ms
通信状态
Idle状态 :J状态数据发、送前后总线的状态
起始 :SOP:从IDLE状态切换到K状态
同步状态:3个KJ状态切换,后跟随2位时间的K状态
数据传输状态 :J状态表示1,K状态表示0
结束 :EOP 2seo + J
Suspend状态 :3ms以上的J状态
Resume信号 :20ms的K状态+低速EOP
第二节:基于EZFX2 USB开发
目前USB全球基本使用现成的接口控制芯片,全球最大的USB解决方案的公司为cypress,几乎80%的用户都是用该公司的这套解决方案。
该公司提供了解决方案,同时也产生芯片,代号EZFXx(x表示协议版本号)

Loading...