请问这样的状态正常么? 我现在能够对ch375s初始化,但是不能产生插入u盘的中断?谁有相同的经历啊,指点一下啊
你测下UD+对地电压是多少?UD-对地电压是多少?如果插入U盘瞬间的电压降的很低的话,可能会产生不了中断
u+对地电压是3.3V,u-对地电压是168mV,给u盘供电电压是4.8V,由于没有试波器,暂时无法测量u盘插入瞬间的电压,我想了另外一个办法,插上u盘之后,再给电路板供电,供电后延时2000ms之后,再对u盘操作,这个时候,应该不存在插入u盘瞬间压降的问题了吧?
现在上电后,有的时候返回0x20,有的时候返回0x2c
1,看下USB的4根线有没有接反,正确的接法为VCC,D-,D+,GND,如果接反的话,我们是可以检测到设备连接,但是主机却认为是一个低速设备,这个时候你在以全速包往下发数据,那么,设备会没有响应的。也就会出现超时的问题了。 2,USB口的供电是否充足,实际在测试的U盘中,有些U盘的电压低于4。8V就开始不正常工作了,这种问题主要出现在3。3V的供电系统中,这种系统需要对U盘单独供电才可以。 3,USB口的UD+和UD-是否串接了电阻,如果串接了电阻,电阻一定要控制在5欧姆以内,由于我们芯片里面在USB的两根信号线上面已经串接了电阻了,所以在设计电路的时候可以串接电阻,也可以不串接电阻,如果串接的话,电阻在0-5欧姆以内。 4,也要注意一下就是USB口的UD+,UD-和我们芯片的UD+,UD-是否连接正常,碰到一个客户检测到设备连接,但是用USB分析仪的话却抓不到任何的SOF包,最后找出来的问题的UD-没有连接正确。实际检查这种问题很简单,在检测到设备之后,直接用示波器去探USB口的两根信号线(探头要打到*10的档),正常情况下,应该会出现周期为100NS做的方波。 5,还有一种可能,就是对于375芯片来说,命令与命令之间,命令与数据之间需要延时在2US,数据与数据之间需要1US,如果这个延时的时间太长的话,DISK-READY函数以及后面的函数都会出现问题,所以对于375的客户,你一定要客户去查下其延时子函数是否准确,延时时间范围在10US以内