CH376有的U盘可以用,有的U盘不可以用

您好!

情况:1、我使用STM32加CH376作主、从两种方式使用,硬件上使用同一个端口,使用贵公司提供的硬件方案,即加二极管和比较器的办法,这样U盘上实际的工作电压只有4.3V左右。

          2、我们用这个方案已经应用成功,产品也已经上市,有一定的销量。

现象:1、目前,有的仪器出现无法正常读取U盘的现象,有的仪器又可以;

          2、如KingSton的DataTraveler V3.0,16G的U盘,有的仪器可以读取,有的仪器无法读取。

          3、在无法读取的仪器上连接老旧的U盘,如128MB的U盘,又可以正常使用。

          4、无法读取的仪器,直接更换CH376芯片,仍然是这个情况!

 分析:1、我们怀疑可能是电源的问题,将电压直接加到5V,结果还是不行;

            2、使用仿真器查看,情况如下:

            仪器先CH376DiskMount() ;                          初始化磁盘并测试磁盘是否就绪,正常;

                      CH376ReadBlock((uint8_t *)buf );     读取U盘的厂商和产品信息,正常;

                      CH376DiskCapacity();                检查U盘或者SD卡的总空间,正常!!

            但是,仪器在读取查询剩余空间命令时会返回0xA1,好像是未格式化、或者参数错误的问题!

            即使用CH376DiskQuery()命令,相当于s = CH376SendCmdWaitInt( CMD0H_DISK_QUERY );始终返回0xA1,


            3、在未更换CH376芯片前,仪器偶然可以通过,但是出现无法创建文件的现象!


            总之,问题比较怪,请问问题大概出在哪里?如何改进啊?

            因为已经是成品了,仪器已到用户手上,现在出现这个问题,很难办!


你好:

  1. 从你的问题描述上看,CH376芯片的问题不大,主要问题发生在U盘设计文件系统操作部分,即U盘操作内部 flash 部分数据会出现问题。

  2. 操作 flash 确实会造成电流上升,反馈为电源问题;

  3. 还有可能和软件部分有关系;

  4. 请将硬件部分的原理图和驱动软件发到 wangyy@wch.cn 邮箱,注明联系方式,方便后面沟通。


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