Page 1 of 1

Differential I2C Bus Extender (PCA9615) is making me cry

Posted: Mon Feb 11, 2019 4:46 pm
by javiernicola
Hola!
Im trying to set up a long i2c bus with 6 stm32 acting as slaves and 1stm32 acting as a master.
All of them connected to a differential i2c bus using Sparkfun´s PCA9615 board
https://learn.sparkfun.com/tutorials/qw ... okup-guide

The master is asking for data from each slave, it works perfectly untill i connect 4 devices and everything goes silent.
Image

I was expecting too much deformation or noise in the i2c signal but when i check the i2c signal received by the last slave6 i get this beautiful perfect signal.
On top the i2c communication failing with 6 slaves connected
On the bottom the i2c communication working good with 3 slaves connected
Image

What is happening?
They have different addresses

Re: Differential I2C Bus Extender (PCA9615) is making me cry

Posted: Tue Feb 12, 2019 5:18 pm
by amongstmyselves
If you're using the Roger Clark based arduino core https://github.com/rogerclarkmelbourne/Arduino_STM32 then make sure it's up to date. I recently had some multiple processor issues with I2C which fixed this. My issue caused the STM32's to freeze up.

Also if you're using the onReceive function, I don't believe the STM32 code has this implemented. Not 100% sure about this though. I know the older vesion of the core I was using doesn't support it.

Steve.