PCA9615DXP communication failure

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

PCA9615DXP communication failure

2,837件の閲覧回数
kvuurens
Contributor I

Dear forum,

I am struggling with 2x PCA9615 to communicate. My test setup consists out of 2x arduino and 2x PCA9615. The master arduino has been given address 11 and the slave has been given 12. 

The Di2c bus is connected using jumper wires on a breadboard, same goes for the i2c bus. Between the DxxxP/DxxxM busses is a 120ohm resistor, with 680ohm resistors pulling the DxxxP side to Vdd and DxxxM to Vss (like in the documentation). I also put an extra 10kOhm resistor on the enable pin to Vdd, but this should not be necessary as the chip has it's own pullup resistor. 

Putting the i2c bus directly from the master to the slave functions as intended, data can be interchanged.

Thank you very much in advance.

0 件の賞賛
返信
8 返答(返信)

2,763件の閲覧回数
guoweisun
NXP TechSupport
NXP TechSupport

1: No more issue for your schematic,but VDD pin need decouple capacitor such as 22uF+100nF.

2: suggest you test the function and performance on PCB no the breadboard.

 

0 件の賞賛
返信

2,752件の閲覧回数
kvuurens
Contributor I

Hi Guo,

the decouple capacitor did the trick. Data is flowing. Got one question; I do not see the "differential" part of the dI2C like it is in the documentation, both for SDA and SCL:

kvuurens_0-1661285709412.png

When I remove the 100Ohm resistor (seen on the screenshot marked by the red stripe), I do see the differential part, but the data (obviously) stops flowing:

kvuurens_1-1661285870396.png

 

0 件の賞賛
返信

2,692件の閲覧回数
kvuurens
Contributor I

So this issue that is shown above really is blocking me, when I use twisted pair instead of jumper wires it stops communicating.

0 件の賞賛
返信

2,654件の閲覧回数
kvuurens
Contributor I

Anybody got an idea about this?

0 件の賞賛
返信

2,773件の閲覧回数
guoweisun
NXP TechSupport
NXP TechSupport

Please give your schematic here!

0 件の賞賛
返信

2,766件の閲覧回数
kvuurens
Contributor I

Dear Guoweisun,

see below. I've only added one termination resistor set, as it's on the same breadboard, max 20cm apart from eachother. Currently not using twisted pair, but will be used in the final solution. All +5V and GND is on the same rail.


kvuurens_0-1661205005471.png

Thank you in advance.

 

0 件の賞賛
返信

2,806件の閲覧回数
kvuurens
Contributor I

kvuurens_0-1660853676036.png

After using the logic analyser I see that the DSDA works, but the DSCL does not. DSCLM is low as you can see in the screenshot and DSCLP is high, as per the documentation. 

The "slave" in the screenshot is actually functioning as a master using I2C terms, which is tring to get data from 0x0C (address 12). Any idea why the DSCL pair is not doing anything? I checked loose wiring etc, but could not find anything..

Also; the actual data part is empty as seen below on the screenshot:

kvuurens_1-1660854197179.png

To add; other chips have the same behaviour. Swapping SDA and SCL on the I2C side does result in the switching of the signal of the differential side (I2C SDA on SCL input, giving DSCL on the line).

0 件の賞賛
返信

2,827件の閲覧回数
kvuurens
Contributor I

I debugged some more and after hooking the oscilloscope up to the output of the differential chip I do not see any activity on the line. Looks like the chip is not enabled?

I've tried 4 different chips to exclude the risk that I've burned the chips while soldering. Chips also are from a reputable reseller (mouser electronics).

0 件の賞賛
返信