CH375B 做USB HOST主机问题

用STM32F103连接CH375B做USB HOST主机时,

  1. 初始化 发送CMD_GET_IC_VER命令  返回0xB7  正常   

  2. 发送CMD_CHECK_EXIST命令  数据0x55   返回0xAA  正常   

  3. 发送UsedHostNAS命令   设置主机模式  ACT产生低电平   INT产生低电平   读取状态为0x51  即为操作成功

  4. 之后未进行其他指令,也没有设备插图,ACT和INT一直保持低电平   无法检测到设备的插入  这是什么原因?


您好,您可以看一下您的CH375USB信号线D+,D-是否有外接上拉电阻?


信号线D+,D-接的是15K下拉电阻啊    CH375B 芯片端的信号线D+,D-  需要接上拉吗?


您好,CH375芯片内部有下拉。您可以测量一下,当ACT一直为低电平的时候,D+,或者D-的电平是否为低。还是说有一个信号脚电平被拉高了。


D+,或者D-的电平均为低。设备插上也无法拉高


插入的设备为:CDC类的虚拟串口

以下为监测设备插入,获取设备描述符的代码


1639709739192427.png

此时产生中断,但是查询的状态为0x51???是不是我的流程有问题!


下面为初始化代码:输出值都正常

1639709739163853.png



         不太理解

         CH375B 的一下模式的具体含义   是否有具体的开发文件 

          以下这些模式具体的使用场景和方法有没有一些说明

         00H=未启用的设备方式, 

         01H=已启用的设备方式并且使用外部固件模式, 

         02H=已启用的设备方式并且使用内置固件模式

         04H=未启用的主机方式, 

         05H=已启用的主机方式, 

         06H=已启用的主机方式并且自动产生SOF包, 

         07H=已启用的主机方式并且复位USB总线 

         我的联系方式:   公司:北京鑫东华腾体育器械有限公司    陈晓林      17090313847   邮箱:个人信息保护,已隐藏



前面00-02就是设备模式,01就是自己做好设备描述符的上传。02H就是芯片内部自带的设备描述符。后面为主机模式,不同的区别就在于自动发送SOF包。


您好!根据您提供的例程,我修改了代码,接收端点数据函数返回值一直为0x2A  请问是什么原因?


您好,您的0x2A是在枚举阶段的返回值,还是后期数据传输时候。您可以通过一些方式去抓取CH375与CDC设备之间USB的传输数据包。看这个0x2A是否为设备实际传回来的数据


是在接收中断端点的时候,返回的状态为0X2A   并非数据


CDC类串口通常需要通过配置来使其端点和串口端开始工作。

确认一下几点:

1、按照您实际操作的USB设备的类协议来配置其对应功能的开启

2、确保您获取数据的端点号正确

3、如果是中断端点,请保证能够按照中断端点轮询间隔去请求数据


参考http://www.wch.cn/bbs/thread-65122-1.html

image.png



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