[LPC] LPC2388的USB下载速度问题

[复制链接]
2009|16
 楼主| w_乐天 发表于 2014-11-18 16:50 | 显示全部楼层 |阅读模式
请教一个问题,我现在使用的是NXP LPC2388的芯片,我想在USB下载下载数据到U盘中时采用DMA模式,不知道可不可行,对速度提高是否有帮助?(ps:因为现在的USB下载速度才四百多K/S,代码上优化提速不明显,芯片理论是1.5M/S的)
aozima 发表于 2014-11-18 17:51 | 显示全部楼层
DMA并不能加快速度,只能释放些CPU。
所以速度慢的原因主要是各个等待的时间点。

建议调试确认下各个时间点,看时间都耗费在哪里了。
主要是USB收发数据以后,要等待存储器响应。因此双缓冲是必须的。

然后,如果想高速时,CPU还能干别的,DMA也是要支持的。
aozima 发表于 2014-11-18 17:53 | 显示全部楼层
从你的描述看,是板子下载数据到U盘。
假设板子这边没太大问题的话,主要原因可能是U盘本身比较慢。
且每个U盘性能可能都不一样。

总而言之,还是要把各个阶段的耗时都测出来才好分析优化。
 楼主| w_乐天 发表于 2014-11-19 08:59 | 显示全部楼层
aozima 发表于 2014-11-18 17:53
从你的描述看,是板子下载数据到U盘。
假设板子这边没太大问题的话,主要原因可能是U盘本身比较慢。
且每个 ...

非常感谢您的回复,我也是在摸索哪方面原因导致的问题,U盘我试过几个最快也只有四百多K,程序中没有用到双缓冲,你可以推荐一些USB双缓冲实现的资料给我吗?各阶段的耗时我再测一下
 楼主| w_乐天 发表于 2014-11-21 10:57 | 显示全部楼层
aozima 发表于 2014-11-18 17:53
从你的描述看,是板子下载数据到U盘。
假设板子这边没太大问题的话,主要原因可能是U盘本身比较慢。
且每个 ...

作为USB主机可以采用双缓冲机制吗?我查到的许多资料都是板子作为设备使用双缓冲与主机通信,这与当主机时区别很大
aozima 发表于 2014-11-21 11:43 | 显示全部楼层
w_乐天 发表于 2014-11-21 10:57
作为USB主机可以采用双缓冲机制吗?我查到的许多资料都是板子作为设备使用双缓冲与主机通信,这与当主机时 ...

主机这边不能,USB是轮询的,U盘不回复,你就没办法执行下一步操作。

只能抓出各个时间段,看看还有没有可以优化的地方。
 楼主| w_乐天 发表于 2014-11-21 12:02 | 显示全部楼层
aozima 发表于 2014-11-21 11:43
主机这边不能,USB是轮询的,U盘不回复,你就没办法执行下一步操作。

只能抓出各个时间段,看看还有没有 ...

好吧,谢谢了,看来只能在现有程序上想办法了
小牛虻 发表于 2014-11-24 09:28 | 显示全部楼层
楼主后面问题解决了吗,我也遇到类似问题,求指教
mcuzone 发表于 2014-11-24 15:52 | 显示全部楼层
还要看你的U盘控制器的性能
 楼主| w_乐天 发表于 2014-11-25 10:42 | 显示全部楼层
mcuzone 发表于 2014-11-24 15:52
还要看你的U盘控制器的性能

LPC2388 U盘控制器理论速度是12Mbits的,现在最快也就400KB左右,根据7楼的说法不能用双缓冲,我现在用的是keil4硬件仿真也没法观察程序段运行的时间,有点摸不着方向了
 楼主| w_乐天 发表于 2014-11-25 10:43 | 显示全部楼层
本帖最后由 w_乐天 于 2014-11-25 10:45 编辑
mcuzone 发表于 2014-11-24 15:52
还要看你的U盘控制器的性能


 楼主| w_乐天 发表于 2014-11-25 10:43 | 显示全部楼层
本帖最后由 w_乐天 于 2014-11-25 10:48 编辑
mcuzone 发表于 2014-11-24 15:52
还要看你的U盘控制器的性能


 楼主| w_乐天 发表于 2014-11-25 10:43 | 显示全部楼层
本帖最后由 w_乐天 于 2014-11-25 13:42 编辑
mcuzone 发表于 2014-11-24 15:52
还要看你的U盘控制器的性能
看了一下板子的原理图,USB下载接口是直接连在核心芯片上的,没有再外接ISP1301类似的控制芯片,不知道这个芯片会不会影响下载速度
mcuzone 发表于 2014-11-25 14:00 | 显示全部楼层
LPC2388不需要外部收发器PHY
 楼主| w_乐天 发表于 2015-1-28 08:33 | 显示全部楼层
aozima 发表于 2014-11-21 11:43
主机这边不能,USB是轮询的,U盘不回复,你就没办法执行下一步操作。

只能抓出各个时间段,看看还有没有 ...

你好,可以帮忙看看下面这个问题吗,感激不尽。https://bbs.21ic.com/icview-874681-1-1.html
 楼主| w_乐天 发表于 2015-1-28 08:34 | 显示全部楼层
本帖最后由 w_乐天 于 2015-3-24 09:37 编辑

11
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

34

帖子

0

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