Communication failure using PCA9615 Differential I2C Bus Extender

cancel
Showing results for 
Search instead for 
Did you mean: 

Communication failure using PCA9615 Differential I2C Bus Extender

91 Views
Contributor I

I have used PCA9615 differential I2C bus driver in one design to extend the I2C bus over CAT5 cable. (datasheet https://www.nxp.com/docs/en/data-sheet/PCA9615.pdf)

The design has been done according to the datasheet recommendation and with the help of a reference design of a popular open-source board manufactured by Sparkfun which I used as a demo board, before starting the design.

Unfortunately, the design didn't work well in my case, as the communication doesn't establish when connecting a pair of PCA9615 using CAT5 cable. I have attached my schematic and layout of the board, and the connection topology I used.

Here are some observations:

  • It seems when connecting the PCA9615 boards over the ethernet cable (tested it using 1 m long cable), both SDA and SCL lines get pulled low, so there is no connection over I2C.
  • The termination resistors have been calculated according to the datasheet recommendations (yielding 88.5Ohm parallel resistance close to the 100Ohm indicated in the datasheet, it should work since SparkFun's module uses the same values as I)
  • I tested it for the pin-to-pin continuity for one board to another and it's correct.
  • Every board is designed with three I2C inputs, if I connected to two I2C devices on the same board without connecting the second board, then it works fine, which means no problem from the I2C side.
  • I have tested the voltage levels on both boards and they indicate correct voltage levels (5V in my case)

I would appreciate any help or suggestion regarding this problem.

0 Kudos
5 Replies

4 Views
NXP TechSupport
NXP TechSupport

HI

1:If you use the hot swap function,you need follow this timing and EN configuration.

2: This device no registers setting so we don't have the code example.

 

 

0 Kudos

60 Views
NXP TechSupport
NXP TechSupport

Hi

1:What's the VDDA and VDDB value?

2:Your schematic only half  pair  of PCA9615,the other half has same circuit with your attached?

3:You also need follow the timing of PCA9615 as datasheet page8 Fig6.

0 Kudos

55 Views
Contributor I

Hi guoweisun,

Regarding your questions, here are the answers:

  1. The VDDA and VDDB are tied together and both have 4.86V when using Vcc= 5V and a CAT5e cable of 2m.
  2. Yes, identical board, they are connected using RJ45 connectors / pin-to-pin, such as 1 to 1, 2 to 2, etc...
  3. I will verify the timing of the signals and upload a picture of it ASAP.

 - could you please confirm whether the schematic design is correct or has any design problem?

- In my design, the En pin is left unconnected, assuming it has an internal pull-up and always in Active state, Could this cause a problem?

- using PCA9615 and with reference to the timing requirement, does it demand any change on the original software? (assuming the code is originally attended to be used with direct I2C bus.

Thanks,

0 Kudos

30 Views
NXP TechSupport
NXP TechSupport

1:R1/R5/R2/R6=600ohm.R3/R4=100ohm.

2: EN can’t be floating please following the timing also in datasheet.

 

0 Kudos

24 Views
Contributor I

Hi,

Thanks for your answer.

But from my previous experience using Sparkfun's PCA9615 two years ago, the En pin is optional to use, and I left it floating, and it worked, also the datasheet mentioned the En pin is internally pulled up to VDDA, and an internal control circuit manages the operation sequence, please correct me if I'm wrong on this.

Is it possible to give me an example code for the correct operation sequence? (I'm using STM32F103 MCU), because I'm planning to mass-produce this module and I have told the PCB manufacture to suspend the production until I found what's wrong with the design.

-----

Thank you very much,

0 Kudos