打印
[Kinetis]

K60 USB 双缓冲问题

[复制链接]
1659|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
你好,还请稍等下,我仔细看下你的问题,然后回复你。

大神出现了,真是奇迹呀.

使用特权

评论回复
5
leihen0525|  楼主 | 2015-11-13 10:35 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-11-13 10:13
你好,还请稍等下,我仔细看下你的问题,然后回复你。

大神 还有一个问题,
https://bbs.21ic.com/icview-1198782-1-1.html
看看,麻烦了

使用特权

评论回复
6
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问题。

使用特权

评论回复
7
leihen0525|  楼主 | 2015-11-13 12:59 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-11-13 11:08
FlexCAN的问题已经回复你了。
马上回复你这个USB问题。

太感谢你了,

使用特权

评论回复
8
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大小)。
所以这么设计,主要还是考虑到传输数据的吞吐量。

使用特权

评论回复
9
icecut| | 2015-11-13 13:40 | 只看该作者
当然可以双向.usb 描述表写两个端口 x,两个方向

使用特权

评论回复
10
leihen0525|  楼主 | 2015-11-16 08:07 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-11-13 13:26
楼主你好!
给你看下面这段话:
K60是通过缓冲区描述符表BDT来高效管理USB端点通信的。每个表项,即缓冲区描 ...

你好,你说的我知道,其实我想问的是可不可以像0端点一样同时是双向的,可惜USB协议规定这是不可能的.

使用特权

评论回复
11
FSL_TICS_ZJJ| | 2015-11-17 15:11 | 只看该作者
leihen0525 发表于 2015-11-16 08:07
你好,你说的我知道,其实我想问的是可不可以像0端点一样同时是双向的,可惜USB协议规定这是不可能的. ...

其实双向是硬件的特性,具体是输入输出是配置好的,不可以同一时刻既是输入又是输出,我们的USB模块肯定是符合USB特性的。

使用特权

评论回复
12
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

粉丝