本帖最后由 beyond696 于 2015-7-1 19:00 编辑
前言:
最近正在做一个关于高速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,计算数据传输的时间及数据传输的速度,打印输出消耗的时间和速度。
程序及源码下载:
http://www.embed-net.com/thread-171-1-1.html
|