[STM32F1] 怎样才能提高读卡器读写速度

[复制链接]
 楼主| julonger 发表于 2014-7-22 17:20 | 显示全部楼层 |阅读模式
我用STM32F107vc做了一个读卡器,电脑复制内容到SD卡内,10M需要60秒时间,怎样才能提高他的读写速率。
mmuuss586 发表于 2014-7-22 17:37 | 显示全部楼层
60秒,包括了通讯时间吗???
 楼主| julonger 发表于 2014-7-22 17:39 | 显示全部楼层
mmuuss586 发表于 2014-7-22 17:37
60秒,包括了通讯时间吗???

就是,U盘符调出来之后,我把文件拉进去,然后他自己显示复制完的时间大概要六十秒!时间是挺长的,时间应该差不多六十秒左右!
mmuuss586 发表于 2014-7-22 17:41 | 显示全部楼层
julonger 发表于 2014-7-22 17:39
就是,U盘符调出来之后,我把文件拉进去,然后他自己显示复制完的时间大概要六十秒!时间是挺长的,时间 ...

那USB通讯也占了不少时间;
 楼主| julonger 发表于 2014-7-22 17:43 | 显示全部楼层
mmuuss586 发表于 2014-7-22 17:41
那USB通讯也占了不少时间;

那要怎么修改,USB通讯部分也要修改吗?
mmuuss586 发表于 2014-7-22 17:51 | 显示全部楼层
julonger 发表于 2014-7-22 17:43
那要怎么修改,USB通讯部分也要修改吗?

USB:12M位,只能做到1M字节左右,你10M的数据,花个15~20S也很正常啊;
    还要握手;
剩下的就是提高你的SD卡读写速度了;
mmuuss586 发表于 2014-7-22 17:52 | 显示全部楼层
julonger 发表于 2014-7-22 17:43
那要怎么修改,USB通讯部分也要修改吗?

你要测试下,你USB通讯和读写SD卡花了多少时间,另外时间主要耗在什么地方,才好解决;
想做大牛的小马 发表于 2014-7-22 18:02 | 显示全部楼层
1. 搞个high speed的
2. 受full-speed协议限制帧速率和最大packet-size,再受芯片本身好像就512bytes的packet-buffer。。。
  感觉快不了多少,但我猜想可以的话,多开几个ep for msc,这样能保证每帧传输的数据量大点,
  然后在代码里开一片ram,做一个简单算法,边读边写!
 楼主| julonger 发表于 2014-7-22 18:14 | 显示全部楼层
想做大牛的小马 发表于 2014-7-22 18:02
1. 搞个high speed的
2. 受full-speed协议限制帧速率和最大packet-size,再受芯片本身好像就512bytes的pack ...

其实我是想用它来模拟U盘设备,我现在可以在电脑上复制内容到SD卡中,因为我手上有一个录音设备,这个录音设备是边录音变将文件保存在U盘中,我现在接上去之后,录音设备会先反馈有U盘设备,过会又反馈没有U盘设备。我觉得会不会是不是速度的问题,导致它通讯断掉了。
 楼主| julonger 发表于 2014-7-22 18:15 | 显示全部楼层
mmuuss586 发表于 2014-7-22 17:52
你要测试下,你USB通讯和读写SD卡花了多少时间,另外时间主要耗在什么地方,才好解决; ...

我是个菜鸟,叫我查,我也会查个半天
想做大牛的小马 发表于 2014-7-22 18:20 | 显示全部楼层
如果usb连接电脑读写没有问题,说明107那端的代码比较正常,枚举,通讯正常,
但是连接到你的录音设备不正常的话,就需要调试了啊,,,先看看有没有枚举成功,
没有u盘设备可能有很多,有可能是去获取盘符啊或是容量啊,或是读写命令什么的,看起来需要调试录音设备了,
就是你的host~
 楼主| julonger 发表于 2014-7-22 18:25 | 显示全部楼层
想做大牛的小马 发表于 2014-7-22 18:20
如果usb连接电脑读写没有问题,说明107那端的代码比较正常,枚举,通讯正常,
但是连接到你的录音设备不正 ...

录音设备是集成的,没办法查看他的内容。我插普通U盘是可以录音的,模拟成U盘的话应该可以把。他有提示说有U盘设备之后,过一段时间才反馈没U盘的,枚举应该没问题吧。
想做大牛的小马 发表于 2014-7-22 18:43 | 显示全部楼层
julonger 发表于 2014-7-22 18:25
录音设备是集成的,没办法查看他的内容。我插普通U盘是可以录音的,模拟成U盘的话应该可以把。他有提示说 ...

过一段时间是多久呢,看看你的sd卡里面有没有录音的文件呢,,,显示有u盘设备是表象啊,
最好的办法是得具体抓包看看具体的命令。。。。执行到何处了~现在只能猜。。。。
 楼主| julonger 发表于 2014-7-22 22:42 | 显示全部楼层
想做大牛的小马 发表于 2014-7-22 18:43
过一段时间是多久呢,看看你的sd卡里面有没有录音的文件呢,,,显示有u盘设备是表象啊,
最好的办法是得 ...

怎么抓包?
 楼主| julonger 发表于 2014-7-23 15:42 | 显示全部楼层
想做大牛的小马 发表于 2014-7-22 18:43
过一段时间是多久呢,看看你的sd卡里面有没有录音的文件呢,,,显示有u盘设备是表象啊,
最好的办法是得 ...

好像是HOST不识别,但是电脑能识别的
gxliu08 发表于 2014-7-23 17:42 | 显示全部楼层
DMA数据传输
想做大牛的小马 发表于 2014-7-23 17:52 | 显示全部楼层
julonger 发表于 2014-7-23 15:42
好像是HOST不识别,但是电脑能识别的

(⊙o⊙)…那只能抓包咯。。。用仪器或是软件哈~
STARM 发表于 2014-7-23 17:57 | 显示全部楼层
没有usb分析仪, 可以在代码下断点, 一步一步调试

第一步看看有没有 BUS RESET 事件, 下一步就是读设备描述符了吧 ...

有没有便宜些的 usb分析仪呢 ? 目前在看STM32 的 USB HOST 的代码, 有个分析仪是最好的了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

54

帖子

0

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