单片机学习小组
直播中

刘玉兰

7年用户 1003经验值
私信 关注

M487怎么提高HSUSB转虚拟串口的传输速率呢?

参考bsp例程写的高速usb转虚拟串口,速率很低,216KB/s,想问下有没有能提升速率的办法,或者有这方面的其他的例程?
另外,分包传输有什么好的办法么?
我现在是先传一个最大包,然后在中断处理器里判断缓存为空,再继续发下一个包。

回帖(1)

刘杰

2023-10-21 16:06:31
首先,要提高HSUSB转虚拟串口的传输速率,可以尝试以下几种方式:

1. 调整USB传输的最大包大小,例如增大传输缓冲区的大小,以便每次能够传输更多的数据。

2. 使用DMA(Direct Memory Access)传输来减少CPU的占用率。DMA可以在数据传输时直接读写内存,而无需CPU参与,从而提高传输效率。

3. 通过使用硬件加速器来提高传输速率。例如,一些芯片厂商提供了硬件加速的USB控制器,可以提供高速的数据传输。

4. 优化虚拟串口的驱动程序,并使用高效的数据传输方式。可以考虑使用异步传输方式,以便提高传输效率。

对于分包传输,可以采用以下方式:

1. 使用批量传输模式进行高速数据传输,该模式允许一次传输多个包。

2. 在传输数据时,对数据进行分组打包。每个数据包的大小应该适当,以便在保证传输效率的同时,尽可能少的分包传输。

3. 使用中断方式进行数据传输,在数据传输完毕后触发中断,以便进行下一次数据传输。这可以减少CPU的占用率,并提高传输效率。

最后,建议参考厂商提供的相关例程和文档,针对具体硬件进行优化。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分