查看: 792|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
沙发
发表于 2016-3-29 17:18:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言:
最近正在做一个关于高速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,计算数据传输的时间及数据传输的速度,打印输出消耗的时间和速度。



固件:
PC端程序:

程序源码下载(包括PC驱动程序源码):
http://www.embed-net.com/thread-171-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表