[STM32F4] [STM32F4]USB FIFO问题咨询

[复制链接]
4685|5
 楼主| zook0k 发表于 2014-10-15 00:13 | 显示全部楼层 |阅读模式
本帖最后由 zook0k 于 2014-10-15 11:29 编辑

在看[STM32F4]的应用手册[RM0090.pdf]时有几个问题想不通,咨询下版主,以下描述基于全速模式下设备模式:
1.TxFIFO
文档中提到EP0~EP3提供每个端点大概为4k的空间(0xFFD)。
文档中在配置端点FIFO时如OTG_FS_DIEPTXFx时最大值为256(这里看错了,应该是0x10000,完全大于1024,疑问解除)*1DWORD,也就是1k。
系统可以分配给4k,而实际用的时只能用1k,这会不会浪费空间?

文档中寄存器OTG_FS_GRSTCTL还提到TXFNUM为TxFIFO取值为0~15。
我的理解是这样的,不知道对不,4个FIFO空间被依次分为1k,编号为0~15,在使用时EP0 TxFIFO取编号0~3,依次类推。这样不是还有一些FIFO没有被利用是空闲着的吗?
那TxFIFO编号取值范围是0~15,实际使用时候应该0~EP0的buffer(最大4k)、1~EP1的buffer(最大4k)、2~EP2的buffer(最大4k)、3~EP3的buffer(最大4k)
目前还不太熟悉,请版主赐教,谢谢。

2.RxFIFO
文档中提到USB系统具有1.25KB专用RAM,没有看到图形(起始地址,长度等),这1.25KB是否就是RxFIFO?
JasonWangFAE 发表于 2014-10-15 09:28 | 显示全部楼层
系统可以分配给4k
<-- 4K means 4K Bytes  .  

而实际用的时只能用1k
<-- 1K means 1K words (1 word = 4 bytes )


 楼主| zook0k 发表于 2014-10-15 11:30 | 显示全部楼层
谢谢Jason的鼎力支持。
我第二段红色字体理解对吗?
mmuuss586 发表于 2014-10-15 12:28 | 显示全部楼层

你可以根据需要设置各端点的空间大小;
厂家程序只能参考,你总不能啥也不改;
 楼主| zook0k 发表于 2014-10-15 13:13 | 显示全部楼层
谢谢斑竹
 楼主| zook0k 发表于 2014-10-16 14:10 | 显示全部楼层
第一次会用结贴,不容易啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

233

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部