CH32V307单片机USBHS CDC数据速率问题

在做CH32V307单片机USBHS CDC数据传输,每包数据为32kByte 按照USB协议拆分为512字节一包数据从单片机上传到电脑端,使用IO口翻转的方式来检测发送中断情况,发现32k数据发送需要耗时3.28ms左右的时间,按照这个计算平均速度的话,只有9.5MB/s,在论坛里看到有的同学说测到30MB/s以上的轻松,不知道问问题出在哪里.使用的例程为CH32V307V\EVT\EXAM\USB\USBHS\DEVICE\SimulateCDC 麻烦帮忙解决一下是设么问题.麻烦如果有其他的例程的话,给我一个个人信息保护,已隐藏谢谢.

image.png


你好,USB的传输速度主要有两个因素的影响

  1. USB主机的收发速度:例如,上位机软件串口调试助手的速度、电脑的处理速度,测速一般用需要执行效率较高的上位机软件。

  2. USB设备的收发速度:和芯片的处理速度、代码有关。主要是围绕如何快速的清除中断标志位,从而避免应答NAK,有效的方法有:快速免表中断、提高系统主频、控制USB完成中断里的运行时间、USB的双缓冲等。

    image.png


只有登录才能回复,可以选择微信账号登录