CH32F103使用USB HOST 读写CH340

CH32F103使用USB HOST 读写CH340,读取CH340数据速度比电脑通过USB2.0 读取速度慢了1 ms。

测试过程,CH32F103使用USB HOST 向CH340发送一个数据,CH340发送到单片机,单片机返回一个数据CH340,CH32F103使用USB HOST 读取这个数据。对比使用电脑USB2.0 读取数据。

使用《USB Monitor》抓取两个过程,CH32F103读取数据使用了2 ms,电脑使用了1 ms;电脑 读取USB2.0 速度1ms 约43个事务,

而CH32F103 1ms只有3个事务,这个还有提升空间吗?比如提升到1ms  10个事务


image.png


image.png







有两点建议可以参考一下:

1、完全按照电脑的枚举流程,使用CH32F103对340枚举。因为会涉及到一些类命令,对CH340的回复超时时间进行配置,这一块需要注意一下。

2、修改软件下发IN包底层函数的超时时间以及软件延时。不清楚你代码里底层函数的超时时间设置是多少,可以相应减少一点,另外可以把无关的延时去掉,减少下发IN包间隔。



1)CH32F103使用USB HOST 读写CH340速度慢确实是枚举有问题,电脑没有枚举前1ms 4个事务,枚举后1ms 40多个事务。

2)《USB Monitor》可以抓取电脑枚举CH340的设置参数,50多条,每条之间时间间隔不一样,CH32F103全部模拟出来成功的希望不大。


01.png



image.png



请问可以参考下楼主的枚举和配置波特率的过程吗?


在这个帖子下载可以下载到CH32F103操作CH340的例程。

/bbs/thread-71544-1.html

我测试时候发现USB速度慢了,水平不够,解决不了。


有尝试过STM32与ch340通讯吗?


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