CH395 : 5V and parallel

Hello,


I am trying to connect to ch395 on a 8 bits cpu. I use it on the same pcb which have a CH376 :ch376 works very well with the cpu in parallel mode (vcc is equal to 3,3V for CH376 on this board but main cpu is running with 5V for VCC). It does the job.


Anyway, for CH395 i don't have the same results because i can't have ch395 working in the same ways than ch376 does


I saw that ch395 accepts 5V on  pins input (except some pins that i don't need to drive it with 5V), that is why i was thinking that it will work like ch376.


When  i connect SEL to GND to have parallel interface on CH395 (and TXD to VCC=3,3) i can't get any correct data on dataport from CH395.


When i compare ch376 and CH395 datasheet, VOL,VOH, VIL, VIH are almost the same for theses two chips. What i am missing to have CH395 working in parallel mode and with 5V input/5V output from ch395 (with VCC for CH395 is 3,3V)


I mean what i am missing on CH395 when CH376 is working well on the same design ?


Thanks



Hello!


If your ch395 PCB is similar to the official one. You can check the following points.


1. Whether the 3.3V power supply and 1.8V power supply of ch395 are handled according to our EVT schematic diagram.


2. Whether the external crystal oscillator of ch395 is 30m or not, instead of the external 12m crystal oscillator of CH376.


3. If you think there is no problem with your hardware, you can download ch395evt from WCH website. Most of the exam projects are written with 51 single chip microcomputer. You only need to write ch395_ OP_ INTERFACE_ The macro definition of mode is written as 2, so it is GPIO analog parallel port timing communication. You can refer to the timing in this code to check.

Download link:/downloads/CH395EVT_ZIP.html



Hello,


Thanks for the reply. Is there any shematic to show how to plug properly CH395 to parallel CPU ?


I use CH395L module found on aliexpress (with two pin header).  I have 2 same module.


On the first one, i never had the parallel data port working. D0 to D7 does no act (CH395 does not set signal to 0 or 1) when i pul SEL=0 (GND), TXD to 1 (3,3V), RXD is not connected, RD/ to GND and WR/ to R/W signal from CPU


On the second one module,  i don't know how but parallel mode worked a few time (with same connection than the first module), but i had theses issues : D7, D6 and D3 produce CPU crashes (even when PCS was not selected), it means that CH395 was driving theses 3 pins even when PCS is not selected. Then disconnected D7, D6 and D3, and others pins seems acting than it should (but it was impossible to send command to ch395 with 3 bits missing). The second strange behavior with this step, it was that Ethernet led was not blink when a cable was removed, and CH395 was not hot (as it should)


I switch off the ch395, and started again, now parallel port stopped working, ch395 begins to be hot again, and led from ethernet connector blinks when a ethernet cable is inserted.


I tried external PSU and the same problem appears.


That is why if a schematic is available for parallel connection, it could be useful. I did not connect RSTI (i tryed but it changes nothing).


Thanks




Hello,


Finally, i managed to have CH395 module, but i bought a new one, because even when i used uart mode with usb CH340 module, CH395 did not answer to any request.The new one works


Now, i have parallel mode working 'almost' on my CPU.


I can lost some bytes on data port, and i did not have the problem with CH376 (which seems to have same timings than CH395).


Anyway, my cpu is a 80's one (6502), and timings are a bit special because it can read 10 ns on databus after cpu clock is falling to ground, and i think i lost some bytes here


Which timings CH395 has when RD is set to ground always and WR get write signal from cpu ? when pcs goes high, databus is sent  but when, when RD is always low ?


I mean when RD is set to ground we does not know in the datasheet how ch395 works and which timings do we have in that special case


When PCS goes high (and RD is still to ground), does databus from ch395 send data with TON+TOF timings only (minimum : 5ns, max 40ns) after PCS rised 1 ?


My problem is that when i read 4 times databus (and then data port from ch395) (for mac adress), the 3 first bytes are OK, the fourth is not the right value, it's the fifth, it means that i lost data from databus for my cpu, but ch395 saw the read on his data port from cpu





Hello,

         With you coming up with the problem, it is seemingly the old one module a malfunctioning module. 

         A0 is used to distinguish command code at 1 between data byte at 0. PCS should be pull down only if you need operate on databus. 

         There could be more circumustances when RD is set to groud because it just means that CPU can't read any valid data from CH395 and how CH395 reacts on databus depend on command code latestly recceived from CPU.

         In terms of the missed bytes, you can try to delay 2.7us or more between commad and data bytes which means after A0 set to grand you should wait the delay times then operate RD or WR.



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