公司最近要我做CH375控制打印机打印检测画像的工具,软件部分主要参考贵公司的资料,但是硬件部分一直有问题,由于现在是在测试,所以是用的手工焊接的,单片机部分有现成的电路,我在上面引了对应的管脚出来。CH375就直接焊接在贵公司提供的SOP转DIP28的电路板上。但是现在遇到个很头疼的问题,就是用CHECK_EXIST测试后读回的一直是-256,set_usb_mode也是失败。看了资料可能是CH375没有在工作,用示波器测了晶振两端(分别接在晶振两端,这样测试对吗?),是在震荡的,RSTI在上电的时候也会有5ms左右的高电平,但是25和26脚不像芯片手册上说的那样,比如RST复位时的高电平,复位完成后会降为低电平,而我的是一直的高电平,RST#一直低电平,请问这样的情况会是哪里出现错误了呢?有什么好的解决办法吗? 谢谢!
从你说的情况来看,硬件上有问题.确实是CH375没有工作,现在初步判断是RSTI引脚被一直拉成高电平,虽然你说芯片复位的时候也有高电平,但感觉就象是RSTI引脚被一直拉成高电平,建议你查一下复位以后RSTI引脚的电压,看看硬件接错了,导致RSTI一直被拉成高电平!!
我把硬件再次检查了,都没什么问题,后来多次用示波器检测,不知道为什么RST上出现了一次上升后下降,呵呵,就是说可以工作了,我赶快接上单片机DEBUG,果然可以通过了。 现在设置HOST为模式6后再连接打印机,CH375检测到打印机连接后,设置为模式7,复位成功后设置为模式6,然后就卡在那里了。 我看了一下代码,下一步应该是运行 while ( wait_interrupt()!=USB_INT_CONNECT ); /* 等待复位之后的设备端再次连接上来 */ 请问这样的情况下可能会是什么原因呢?它卡死在那里了,就是wait_interrupt函数一直不能返回USB_INT_CONNECT参数,是因为CH375一直不能检测到再次连接的打印机吗? 谢谢!
在设置好模式7到设置模式6之间的延时需要10MS以上,这样的话才能进行检测设备连接,你这个时候你去看下USB口的UD+的电压是多少?正常应该是3左右,UD-电压在0V左右
谢谢hcn的指导,贵公司的技术支持很热心,上次打电话也是,呵呵,谢谢了。 为了防止不稳定,我在每次设置的时候都延迟了很长时间,至少mDelaymS( 200 ) 刚才我用示波器看了一下,UD-是在0V,UD+确实在3V左右,也就是说CH375已经工作了。不过可能是由于现在是手工焊接的,没有电路板,很多跳线,所以很不稳定,连出现刚才所述情况的机会都不多。 为此我每次上电都检测CH375是否在工作了,发送0x55,应该收到0xAA的,一半情况下收到个-256(应该是个10进制的),其他情况可能会是另外一些没有道理的数据,呵呵。