Author Topic: 63C09 computer and PCA9564 parallel to i2c bridge  (Read 440 times)

0 Members and 2 Guests are viewing this topic.

Offline WawavounTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: fr
  • Someday I'll get you, Red Baron !
63C09 computer and PCA9564 parallel to i2c bridge
« on: September 15, 2026, 07:18:25 am »
Hi All,

I have a diy 63C09 computer. The computer works with 5 V power supply and the interface with the main data bus is done with a 74LS245.

I try to get a PCA9564 (// to i2c bridge) working. It is 3.3 V powered but inputs are 5 V tolerant and 3.3 V ouputs will be read as a one by 74LS245 so I assume it should work.

RD/ and WR/ are build with 3 nand gates (74LS00) from E and RW/. CE come from a LS139 + LS138 addresses decoder.

On this board another peripheral (63C50 acia) works well. 

As a first test I try to write a slave address into I2CADR register and read them back. No success !

At scope all signals look good, chip is selected, CE ok, RD/ or WR/ come at the right moment relative to CE but when read i see that the data bus stay in high impedance... Consequently I read $FF.

I dont see how I can debug this thing ?

I am ready to desolder the chip (they come from Chine) and try another one but before solder a new one I expect to test them (for example using a Arduino Due).

Any help or advice will be really appreciated.

Regards.
Philippe

 

 

Offline WawavounTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: fr
  • Someday I'll get you, Red Baron !
Re: 63C09 computer and PCA9564 parallel to i2c bridge
« Reply #1 on: September 15, 2026, 05:57:54 pm »
The picture show

CE/ in yellow
RD/ in light blue
A1 (address 1) in purple
D4 (data 4) in dark blue

Probe are located to the nearest possible of the chip and before the 74LS245 (so on the bus side).

I have connected one chip to a Uno and after reset it is possible to directly read the $F8 status.
So I know the PCA9564 I have are at least not all fake and that no special init are required to do that.

On the scope it seems that D4 continue to float around 1.8 V after CE low and RD/ low. Normally at this moment the chip must take control of the bus and voltage move to near 0 V or near 3.3V.
But there is no voltage move on the data bus.

Any idea ?

Philippe
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 8440
  • Country: ro
Re: 63C09 computer and PCA9564 parallel to i2c bridge
« Reply #2 on: Yesterday at 06:29:26 am »
It is not clear how you wired the 3.3V I2C IC to the 5V 74LS245.  Or is that only on the parallel bus side?  Post a schematic.  Did you have pull-up resistors on the I2C data and clock lines?  At which voltage level did you wired the 10k pull-up resistors?



You said you have more than one IC bought.

Before desoldering the IC from the 63C09 board, I would take a new I2C and a 74LS245, put them on a breadboard, and practice controlling the PCA9564 with a 5V Arduino first.
« Last Edit: Yesterday at 06:32:31 am by RoGeorge »
 

Offline WawavounTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: fr
  • Someday I'll get you, Red Baron !
Re: 63C09 computer and PCA9564 parallel to i2c bridge
« Reply #3 on: Yesterday at 07:46:27 am »
PCA9564 is powered by 3.3 V.

D0-D7 are wired directly to 74LS245.
74LS245 VIH is 2 V so 3.3 V should be read as one with margin.
In other direction PCA9564 inputs are 5 V tolerant.

CE/ is wired to 74LS138. RD/ and WR/ are wired to 74LS00.
RESET/ is wired to +5V.
These inputs are also 5 V tolerant.

SDA and SCL have 2.2 K pullups to 3.3 V

I have weld a PCA9564 on a TSSOP to DIP adapter and connect it to a UNO. I use the 3.3 V supply of the UNO to power the PCA9564.
With a simple sketch I create all the control signals and after reset I can directly read $F8 which is the expected status after reset.
The mixing of 5 V (signals from UNO to PCA) and 3.3 V (signals from PCA to UNO) seems not to be a problem in this case.

Then I have try to do same on my final board.
After removing some chips I connect the UNO to the board. This time 3.3 V is made on the board from UNO 5 V.
No success at all.

And I cant find why ???
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 8440
  • Country: ro
Re: 63C09 computer and PCA9564 parallel to i2c bridge
« Reply #4 on: Yesterday at 09:13:56 am »
...
I have weld a PCA9564 on a TSSOP to DIP adapter and connect it to a UNO. I use the 3.3 V supply of the UNO to power the PCA9564.
With a simple sketch I create all the control signals and after reset I can directly read $F8 which is the expected status after reset.
The mixing of 5 V (signals from UNO to PCA) and 3.3 V (signals from PCA to UNO) seems not to be a problem in this case.
...

Well, if you think that's a full description, it is not.  I have to guess what else might be or might be not in the 63C09 vs the Arduino test, and I might not be such a good guesser.  :)

Did you use an LS245 when testing with Arduino?  Asking because my guess is the PCA9564 chip is OK, might be something about the 3-5V levels, or about the timing that is not OK.  LS245 is bidirectional, so that direction switching, or maybe entering the three-state (don't know how it is wired) might make the PCA to not work.  Highly unlikely that a seller will send you mixed faked+good chips.

Without the two schematics (Arduino vs 63C09 wiring), including the significant controls, buffers and power lines it's hard to say what might have went wrong.  Doesn't have to be full CAD schematics, a pencil sketch is enough.  Anyway, good luck with the debugging!  :-+
« Last Edit: Yesterday at 09:16:42 am by RoGeorge »
 

Offline WawavounTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: fr
  • Someday I'll get you, Red Baron !
Re: 63C09 computer and PCA9564 parallel to i2c bridge
« Reply #5 on: Yesterday at 10:08:51 am »
Here are pictures of what I have done.

The first one show the PCA9564 on a test plate and the Uno. This is ok. The PCA9564 works well.
Uno is usb powered and PCA9564 is powered by Uno 3.3 V.

The second show the board I am working on connected to the Uno.

No LS245 etc... in both cases.

Between the two cases the schematic is exactly the same, the only difference is that the 3.3 V is made on board from 5 V.
I have also try to use the Uno 3.3 V even if this powered back the 3.3 V regulator (of course with 5V disconnected) , voltages look good at scope in both cases.
And no success...
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 8440
  • Country: ro
Re: 63C09 computer and PCA9564 parallel to i2c bridge
« Reply #6 on: Yesterday at 10:58:10 am »
Maybe it's a ground loop somewhere, or maybe it's just the length of the wires.  Newer (3.3V) CMOS might be very fast, so fast that they can catch the edges from reflexions and from the ringing in the wires.  I had once an ADS1115 that was wired (for testing only) with a ribon cable to an Arduino, and apparently it was not working.  I thought the chips were bad, only to discover by accident that sometimes it was working, but only when the ribbon cables were flipped.  ???

The ringing/reflection was too fast to see on my 100MHz Rigol DS1054Z, but it was the reflections in the wires.  Seen something similar on a high speed logic analyzer, where the FPGA was sampling at 400MHz, and the frequency appeared as double (it was catching the ringing and the reflexions of the signal in the jumper wires themselves).  :o

Typical mitigation is either to route each signal wire interleaved with a ground wire, and/or to insert a small resistor in series with each signal wire, to dampen the ringing.  Not saying this is what you should do with your PCA9564, only a related bug that I happen to encounter once when working with relatively long wires.  Most other times, same wires were working just fine.  ;D
« Last Edit: Yesterday at 10:59:57 am by RoGeorge »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf