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:
I would appreciate any help or suggestion regarding this problem.
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.
Regarding your questions, here are the answers:
- 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 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,