[Kinetis] K60 USB 双缓冲问题

[复制链接]
2016|11
 楼主| leihen0525 发表于 2015-11-13 09:54 | 显示全部楼层 |阅读模式
手册里面说 k60的USB使用的是BDT表,这个表是双向的而且是双缓冲的,一个端点有两个方向,一个方向有两个缓冲区,那么问题是要512个字节,我就不理解了只有端点0可以同时是双向的,那按照这种设计,难道剩下的端点也可以?而且每个端点的方向使能位是用两个BIT表示的,也就是说所有端点同时可以被设置为出和进,这两个方面的设计难道只是纯粹为了兼容端点0?还是真的所有端点都可以设置双向?如果真的可以都设置双向,那么还有一个问题,就是设备描述符里面端点配置怎么写,在USB里面规定端点描述Bit7只能是0或者1来配置是输出还是输入,这就很明显除了0端点外其他端点只能是单方向的,这怎么破,还是端点描述干脆和端点0一样不写?我已经搞不懂飞思卡尔这BDT为毛这么设计了,这是给人希望还是耍人呢?有大神吗?救救我吧?
 楼主| leihen0525 发表于 2015-11-13 10:05 | 显示全部楼层
我在论坛里面问了好几个问题,为啥一个人都没回呢,难道我问的问题,没人关心嚒
FSL_TICS_ZJJ 发表于 2015-11-13 10:13 | 显示全部楼层
leihen0525 发表于 2015-11-13 10:05
我在论坛里面问了好几个问题,为啥一个人都没回呢,难道我问的问题,没人关心嚒 ...

你好,还请稍等下,我仔细看下你的问题,然后回复你。
 楼主| leihen0525 发表于 2015-11-13 10:32 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-11-13 10:13
你好,还请稍等下,我仔细看下你的问题,然后回复你。

大神出现了,真是奇迹呀.
 楼主| leihen0525 发表于 2015-11-13 10:35 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-11-13 10:13
你好,还请稍等下,我仔细看下你的问题,然后回复你。

大神 还有一个问题,
https://bbs.21ic.com/icview-1198782-1-1.html
看看,麻烦了
FSL_TICS_ZJJ 发表于 2015-11-13 11:08 | 显示全部楼层
leihen0525 发表于 2015-11-13 10:35
大神 还有一个问题,
https://bbs.21ic.com/icview-1198782-1-1.html
看看,麻烦了

FlexCAN的问题已经回复你了。
马上回复你这个USB问题。
 楼主| leihen0525 发表于 2015-11-13 12:59 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-11-13 11:08
FlexCAN的问题已经回复你了。
马上回复你这个USB问题。

太感谢你了,
FSL_TICS_ZJJ 发表于 2015-11-13 13:26 | 显示全部楼层
楼主你好!
给你看下面这段话:
K60是通过缓冲区描述符表BDT来高效管理USB端点通信的。每个表项,即缓冲区描述符BD占8个字节(64位),包括32位的控制/状态字和32位的缓冲区地址。每个端点的方向需要两个BD(EVEN BD和 ODD BD),这样,当微处理器处理其中一个BD时,USB模块就可以处理另外一个, 这种双缓冲方式能使数据传输达到最大吞吐量。K60有16个双向端点,因此其BDT表最多占用系统内存512字节(可根据实际使用的端点数修改BDT大小)。
所以这么设计,主要还是考虑到传输数据的吞吐量。
icecut 发表于 2015-11-13 13:40 | 显示全部楼层
当然可以双向.usb 描述表写两个端口 x,两个方向
 楼主| leihen0525 发表于 2015-11-16 08:07 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-11-13 13:26
楼主你好!
给你看下面这段话:
K60是通过缓冲区描述符表BDT来高效管理USB端点通信的。每个表项,即缓冲区描 ...

你好,你说的我知道,其实我想问的是可不可以像0端点一样同时是双向的,可惜USB协议规定这是不可能的.
FSL_TICS_ZJJ 发表于 2015-11-17 15:11 | 显示全部楼层
leihen0525 发表于 2015-11-16 08:07
你好,你说的我知道,其实我想问的是可不可以像0端点一样同时是双向的,可惜USB协议规定这是不可能的. ...

其实双向是硬件的特性,具体是输入输出是配置好的,不可以同一时刻既是输入又是输出,我们的USB模块肯定是符合USB特性的。
 楼主| leihen0525 发表于 2016-3-24 17:01 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-11-17 15:11
其实双向是硬件的特性,具体是输入输出是配置好的,不可以同一时刻既是输入又是输出,我们的USB模块肯定 ...

你好 关于这个USB我遇到了一个棘手的问题,https://bbs.21ic.com/icview-1442288-1-1.html 能帮我看一下不?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

55

帖子

3

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