[求助]CH375B并口连接方式问题 - 我还漏了什么?

我用C8051F020与CH375B连接,5V电源情况下,采用库文件是CH375HF5.LIB, 用串口连接一切正常,U盘可读可写,但是用并口连接方式就失败,用EXAM7演示程序,无论写什么命令都是返回0xFF. 用示波器检查,/WR,/RD,/CS,A0 信号宽度都在100us以上(改mDelay1_2uS()),检查并口数据发现信号、连接也没有错,TXD已用1K电阻接地(也试过更小的电阻)。反复看了芯片说明和演示程序,仍然没有发现问题在哪里。请问我还漏掉了些什么没有检查?

串口可以使用,至少电源、地线、USB连接、复位线等都没有错了吧。

谢谢!

那你先做下测试命令看下返回的数据是多少呢??


测试命令也是返回0XFF


那就是你的硬件连接有问题,你测一下CH375的25脚和26脚的电压是多少,正常的情况下25脚的低,26脚为高,否则的话375复位有问题,这时候你就要看晶振有没有起振了!!


谢谢楼上两位的回复。 回 下雨的天 : 1. 晶振没有问题,3.3V情况下,14脚12MHz信号幅度达2Vp-p,应该说非常好 2. 26、25脚复位信号也没有问题。我用第2脚(RSTI)控制复位,复位期间(RSTI=1) 26脚输出低电平,25脚输出高电平,复位完(RSTI=0),25,26脚分别输出高、低电平。这个也算正常吧

另:我用的是CH375B,3.3V电压[28、9脚接3.3V]、5V电压情况下都试过

我的程序: ........ RSTI = 1; // HARDWARE RESET CS = 0; mDelay100mS( ); /* 延时100毫秒 */ RSTI = 0; CS = 1;

xWriteCH375Cmd(0x05); //reset all mDelay100mS();

xWriteCH375Cmd(0x06); //check exist mDelay10uS(); xWriteCH375Data(0xaa); mDelay10uS(); i = xReadCH375Data(); // i 总是返回0xFF,正确的应该是0x55 (串口模式正常)


不知道你有没有说错,如果按照你这样说的话是不正常的,25脚和26脚的电平是这样的,复位期间,25脚为高,26为低,复位以后恰好相反. 还有就是你的V3脚是怎么接的,5V的情况下应该接一个0.01UF的电容,3.3V的情况下直接接到VCC. 还有就是你总线的时候电路是怎么接的,能否贴出来看看?还有就是程序你可以参考我们的程序!!


睡了一觉,终于找到问题了!唉,低级错误啊,原来我为了省事,硬件上串口并口都接了线,在切换到并口模式的时候,TXD(Pin5)还连接着单片机呢,单片机的RXD脚复位后是高电平(程序也无法让它输出低电平),所以虽然第5脚有1K电阻下地,依然是高电平,复位后当然进入不了并口模式。重新设置了交叉开关,把UART0取消掉,在把相应的管脚输出0电平就好了。

忙乎了一个星期,总算调通了读写U盘程序。第一次接触USB,从无到有对USB有了一些认识,说实在的,USB协议太复杂了,如果没有wch的一系列芯片,用单片机读U盘简直是不可能的。由衷感谢wch为我们提供了这么好的芯片! 另外,建议wch把库函数的使用方法写个指南什么的,比如怎么一步一步地设置字节读写/扇区模式、缓存区等等,我都是看*.h文件搞清楚的,对初学者了说比较累(演示程序太多了),如果有一个指导性的流程图就太爽了。

感谢楼上两位的回复! 看坛子里面也有人问有关C8051的问题,所以另外开个帖子把我的方法写出来,但愿对其他人也有些帮助。


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