[USB波形分析] 全速USB波形数据分析(二)

在上一篇文章全速USB波形数据分析(一)介绍了全速USB的数据包(Packet)的组成,数据的类型等基本知识。这篇文章介绍USB的几种传输方式

 

事务(Transaction)

USB协议定义了三种不同的事务(Transation),即SETUP事务, IN事务和OUT事务

SETUP 事务

一次成功的SETUP事务包含3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET)

 

 

用示波器实际获取的D+/D-信号如下,

 

IN 事务

一次成功的SETUP事务包含2个或者3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET)。对于同步传输(Isochronous)模式,省略了握手包以保证数据实时传输

 

 

用示波器实际获取的D+,D-信号如下,

 

 

OUT 事务

一次成功的OUT事务包含2个或者3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET)。对于同步传输(Isochronous)模式,省略了握手包以保证数据实时传输

 

 

OUT事务在示波器中的波形如下,

 

USB数据传输(Transfer)

USB数据传输过程包含1个到多个事务传输,一个事务传输包含了2个到3个的数据包传输,它们的层次结构如下图所示,

 

 

USB协议定义了四种数据传输类型,分别是控制传输(Control Transfer), 中断传输(Interrupt Transfer),同步传输(Isochronous),批量传输(Bulk Transfer)

控制传输(Control Transfer)

用于对设备配置和发送命令,使用了完善的错误检查机制。控制传输强制使用端口0(Endpoint 0)。控制传输包含2个到3个阶段,SETUP阶段,DATA阶段(可选),STATUS阶段。

没有数据的控制传输(Control No Data Transfer)

 

 

写数据控制传输(Control Write Transfer)

 

 

读控制传输(Control Read Transfer)

 

 

 

 批量传输(Bulk Transfer)

不定周期的大数据量的传输方式,对于全速USB,数据包的数据大小可以是8,16,32,64字节;对于高速USB数据包的数据大小为512字节

 

 

中断传输(Interrupt Transfer)

中断传输类似于批量传输,对于全速USB,数据包的数据大小可以由1字节到64字节;对于高速USB,数据包的数据大小可以由1字节到1024字节。中断端点有一个相关联的轮询间隔,确保主机将定期轮询它们(接收IN令牌)。

 

 

同步传输(Isochronous Transfer)

同步传输用于流数据,如音频和视频。对于全速USB,数据包数据可以多达1023个字节;对于高速USB则可多达1024个字节。同步传输没有握手数据包

 

 

 

 

 -----------------------------------------------------------------------------------END

[参考资料]

posted @ 2019-10-19 20:56  Mr.Bike  阅读(2310)  评论(1编辑  收藏  举报