STM32F4xx+USB3300实现高速USB数据传输,最高可达42MByte/s速度

2020-01-04 18:46发布

本帖最后由 wdluo 于 2015-7-2 09:38 编辑

前言:
最近正在做一个关于高速USB数据传输的项目,主要是用STM32F407+USB3300的方式来实现,话说STM32在这点有点不厚道,若把USB的高速PHY做在芯片上多爽啊,没办法,芯片不带高速PHY,只有外接USB3300了,还好库在这方面做得不错,简单的定义一个宏就支持外部的高速PHY了,USB传输数据速度也还不错,PC读数据基本上可以达30MByte/s以上,最高速度我测试到可以到42MByte/s,这就跟自己的电脑配置和系统有一定的关系了,不过总的来说,速度还是比较理想的,上位机驱动还是使用libusb-win32,程序比较简单。

程序功能:
1,单片机实现两个端点,一个Bulk IN,一个Bulk OUT,端点大小为512Byte;
2,PC端通过Bulk OUT发送4字节数据,其含义为PC即将读取的数据量;
3,单片机程序接收到PC下发的4字节数据后,循环将数据通过Bulk IN端点发送给PC,为了测试极限速度,每次发送的数据为64Kbyte,当然每次发送数据的时候都会检测前一次发送的数据是否发送完成;
4,PC端程序发送4字节的数据长度信息给单片机后,循环读取数据,每次读取64Kbyte(这个必须跟单片机每次发送的数据字节数一样),直到数据读取完毕;
5,计算数据传输的时间及数据传输的速度,打印输出消耗的时间和速度。

QQ图片20150629182222.jpg (34.05 KB, 下载次数: 1) 下载附件 2015-7-1 19:04 上传

固件: firmware.rar (1.01 MB, 下载次数: 523) 2015-7-2 09:38 上传 点击文件名下载附件
PC端程序: software.rar (287.37 KB, 下载次数: 437) 2015-7-2 09:38 上传 点击文件名下载附件

程序源码下载(包括PC驱动程序源码):
http://www.embed-net.com/thread-171-1-1.html
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
95条回答
leonliu_1128
1楼-- · 2020-01-08 02:56
抽空试试
hanshiruo
2楼-- · 2020-01-08 04:22
leonliu_1128 发表于 2015-7-2 12:22
问下407开始就设置成高速,还是先设置全速再设置高速

必须先设置成高速。
wdluo
3楼-- · 2020-01-08 06:48
高速usb传输,不错
wdluo
4楼-- · 2020-01-08 10:46
 精彩回答 2  元偷偷看……
castiello
5楼-- · 2020-01-08 15:38
确实很牛 !标记
shangdawei
6楼-- · 2020-01-08 21:35
好家伙, 马克~

一周热门 更多>