标签:事务 USB 波形 Transfer PACKET 传输 数据包 全速
在上一篇文章全速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
[参考资料]
- https://elearning.renesas.com/file.php/1/CoursePDFs/DevCon_On-the-Road/DevCon_On-the-Road/Operating_Systems/Embedding_USB_-_The_Implementation_Challenges_and_Limitations.pdf
- USB 101: An Introduction to Universal Serial Bus 2.0, Cypress Semiconductor Corporation
- EZ-USB® Technical Reference Manual, Cypress Semiconductor Corporation
标签:事务,USB,波形,Transfer,PACKET,传输,数据包,全速 来源: https://www.cnblogs.com/mr-bike/p/USB.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。