USB-USB无法识别问题解析思路
如遇到USB开发或者量产过程中存在兼容性问题,可以从以下三个方面考虑:
1、芯片供电电压。使用的芯片型号一般为CH32FV103、CH32X035,CH32FV103中USB配置默认使用3.3V供电,如果5V供电需要修改寄存器配置,否则可能会有兼容性问题;CH32X035中USB配置默认使用5V供电,如果3.3V供电需要工程配置,否则也可能会存在兼容性问题;
CH32FV103修改寄存器如下(寄存器名称为:EXTEN_CTR):
CH32X035修改工程配置如下,需要改成对应3.3V的起始文件(最新批次芯片无需修改,可自动适配对应电压):
2、阻抗匹配。CH32x全系列芯片全部内置了阻抗匹配的电阻,外围无需再外接任何阻容器件。如果硬件设计中外接了阻容器件反而会影响阻抗匹配,导致存在兼容性问题(此问题发生概率较大,一定需要注意!);
3、当使用USBD时(与ST兼容的USB口,一般PIN脚设置为PA11、PA12),需要注意USB初始化过程中一定要加端点全清代码,如下图红框所示:
4、内部HSI偏差。如果芯片使用内部时钟,当使用SMT回流焊以及芯片可能受潮就会有很低概率导致芯片HSI存在偏差,偏差范围超过手册规定的安全范围,这个时候就有可能导致某些芯片存在USB不识别情况。该问题可以通过MCO输出HSI波形来判断;