版主你好。我初次使用ch376,用的是psoc3单片机,飞了4根spi线到开发板上。目前的现象是ch376初始化正常,板上红灯亮起;CH376DiskConnect正常;CH376DiskMount失败,返回数据是0x28。换另一块开发板也是如此。开发板直接用uart模式,连接pc,用调测软件,又是正常的,可以在u盘创建文件,写入数据。因此,开发板不会有问题。请问,还有哪些可能的原因呢?
搞了几天没进展。在线等,挺着急的。
可能是底层时序有问题。SPI时钟时钟不超24M,数据间隔2us,CS控制信号。另外connect之后延时百毫秒执行mount
谢谢,目前spi的时钟是2MHz,用示波器上看时序是对的,发什么数据,返回什么数据,示波器上监测到和单片机执行的一致。cs因为命令和读数据期间要保持为低,因此是用gpio实现的;clk、miso和mosi是用spi数据线。我觉得如果时序有问题,初始化应该不能通过,disk-connect应该也不对。
“用示波器上看时序是对的,发什么数据,返回什么数据”是什么意思呢?产生中断后不是发22H返回28H?测量U口以及376供电,并电容试试。
ch376用的是开发板,而且用UART测试,用PC端的调测软件,没有发现异常。“用示波器上看时序是对的,发什么数据,返回什么数据”是指用示波器监测每一步执行时的信号波形和要求是一致的,只是最后返回的是0x28.产生中断后就是先发0x22命令,然后再通过read命令,得到返回数据0x28.
问题解决了,初始化参数改为6就可以了,之前默认的5不行。非常感谢今天电话的那位技术支持,不过还是想请再解释一下内在的原因。
之前串口操作设置模式几?之所以模式5不通过可能与当前芯片版本(01H命令查询)或者部分U盘有关系。模式5和6的区别就是是否发SOF包。
u盘格式化的不对?