打印
[STM32F1]

USB数据的传输 微帧

[复制链接]
3622|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 tao180539 于 2014-5-26 14:33 编辑

他这里说的  低速和全速 不得超过90% 意思 就是对低速和全速设备来说  一个帧内传输的时间最长是900us了   是不是这样     因为他一个周期是1ms0%的微帧时间,全速和低速不得超过 90%  

截图03.jpg (95.54 KB )

截图03.jpg

截图02.jpg (81 KB )

截图02.jpg
沙发
香水城| | 2014-5-26 14:31 | 只看该作者
LZ的问题是...?

使用特权

评论回复
板凳
tao180539|  楼主 | 2014-5-26 14:34 | 只看该作者
香水城 发表于 2014-5-26 14:31
LZ的问题是...?

就是说 全速和低速不超过90%  这样对于全速来说  是不是 传输时间最高是900us

使用特权

评论回复
地板
icecut| | 2014-5-26 14:50 | 只看该作者
tao180539 发表于 2014-5-26 14:34
就是说 全速和低速不超过90%  这样对于全速来说  是不是 传输时间最高是900us ...

1s 一共发1k个帧,中断不能超过900帧...应该是这样.

使用特权

评论回复
5
香水城| | 2014-5-26 15:48 | 只看该作者
本帖最后由 香水城 于 2014-5-26 16:05 编辑

这个是对USB主机调度器的要求:它必须保证在每帧中的,有90%的带宽是保留给Interrupt传输和Isoch传输的。

或者说1ms中有900us的时间,必须用来处理Interrupt和Isoch传输。抛去一次transfer内,一首一尾的令牌包和握手包,真正用于数据传输的不到900us。

使用特权

评论回复
6
香水城| | 2014-5-26 16:07 | 只看该作者
icecut 发表于 2014-5-26 14:50
1s 一共发1k个帧,中断不能超过900帧...应该是这样.

不是的,每一帧中都必须要保证有带宽预留给中断传输。

“预留”是说,如果应用有中断传输的话,必须保证这么多带宽;如果应用中没有中断传输的话,可以把这些时间用来传其他的。

使用特权

评论回复
7
icecut| | 2014-5-26 16:37 | 只看该作者
香水城 发表于 2014-5-26 16:07
不是的,每一帧中都必须要保证有带宽预留给中断传输。

“预留”是说,如果应用有中断传输的话,必须保证 ...

恩是这么说的...

12Mbps, 1ms有12kbit,按照包的大小FS有8*64=512bit,可以发24个包.那90%的时间就是21个包,如果控制器慢了回复了nak,那么就会浪费几十个bit的时间.host收到nak后是重复查询当前端点还是切换到其他功能,我就不清楚了.没用分析仪抓过.

使用特权

评论回复
8
香水城| | 2014-5-26 17:14 | 只看该作者
icecut 发表于 2014-5-26 16:37
恩是这么说的...

12Mbps, 1ms有12kbit,按照包的大小FS有8*64=512bit,可以发24个包.那90%的时间就是21个 ...

还要抛去协议开销。因此,如果是64B的数据包,1ms最多只能有19个transaction。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

321

主题

515

帖子

3

粉丝