在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 759|回复: 7

[求助] USB3.0协议中,传输的burst size是什么意思呢

[复制链接]
发表于 2024-3-13 14:11:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
USB3.0协议中,传输的burst size是什么意思呢
发表于 2024-3-13 15:39:32 | 显示全部楼层
本帖最后由 坐对群山青 于 2024-3-13 15:41 编辑

把要传的数据总量分成一个一个小的数据块。比如要传64个字节,那么可能分为2次,一次传 64/2=32个字节,就叫做burst。不只是USB,很多总线传输都有burst这个概念
 楼主| 发表于 2024-3-13 16:36:54 | 显示全部楼层


坐对群山青 发表于 2024-3-13 15:39
把要传的数据总量分成一个一个小的数据块。比如要传64个字节,那么可能分为2次,一次传 64/2=32个字节,就 ...


谢谢!如果Maxpacket=1024,burst size=1时,那就一次传输就可以传完。如果burst size=2,那就需要传2次,每次都是512对吧?
发表于 2024-3-13 16:45:10 | 显示全部楼层
差不多。一次传输的叫做transfer size,burst size*transfer size就是数据总长。这几个概念,一般是用于类似dma机制上面的,所以对所有总线都可能用到
 楼主| 发表于 2024-3-13 16:53:36 | 显示全部楼层


坐对群山青 发表于 2024-3-13 16:45
差不多。一次传输的叫做transfer size,burst size*transfer size就是数据总长。这几个概念,一般是用于类 ...


好的,谢谢解答!
发表于 2024-3-18 15:33:31 | 显示全部楼层
:lol:lol:lol:lol:lol
发表于 2024-4-10 10:56:49 | 显示全部楼层


ll_uestc 发表于 2024-3-13 16:36
谢谢!如果Maxpacket=1024,burst size=1时,那就一次传输就可以传完。如果burst size=2,那就需要传2次 ...


Max packet size是一次传输的所允许发送/接收的最大包长度,超过了就不行,得拆分成多个包。小于它倒无所谓。

当你在Transfer Ring中的TRB Tranfser Length中设置了总传输长度后,需要根据MPS和TRB Tranfser Length来计算出Burst Size大小,从而对端点进行配置。


例如对于bulk in端点,MPS设置为1024字节,TRB Tranfser Length = 16384字节,两者相除正好是Burst Size = 16,且每个包的包长度为最大包长度,1024字节。


但如果你的TRB Tranfser Length = 16383字节,Busrt Size依然等于16,但是除了前15个包的长度为最大包长度,最后一个包是短包了,为1023字节。

短包有对应的短包中断,叫ISP,可以查看xHCI手册。
 楼主| 发表于 2024-4-11 10:15:52 | 显示全部楼层


huanglc_IC 发表于 2024-4-10 10:56
Max packet size是一次传输的所允许发送/接收的最大包长度,超过了就不行,得拆分成多个包。小于它倒无所 ...


理解了,谢谢回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 01:54 , Processed in 0.024764 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表