cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
501 Views
Registered: ‎03-14-2018

Zedboard Zynq I2c Failing

Jump to solution

Hi,

I have a Zedboard and want to communicate over MIO10/11 (JE2 and JE3 at 3.3V) with an I2C device that has the address 0x42 (0x21 in 7-bit) . I activated for this the ZYNQ PS I2C-0.

The SDA and SCL lines have 10Ohm pull-ups to 3.3V.

Unfortunately trying any of the Xilinx SDK I2C examples, such as xiicps_polled_master_example.c (using 0x21), return a Fail.

To check what is going on, I used a Raspberry Pi to communicate with the device, which works fine (please see scope screen shot below).

I compared that with the scoped I2C communication between Zedboard and the I2C device (please see scope screen shot below) - which returns a FAIL.

The difference I see is that, after the addressing the level is pulled up in case of the Raspberry Pi and is low in case of the Zynqboard.

Thanks for any hint about what I am doing wrong here.

Pi_communicationScreenshot.gif
ZYNQ_communicationScreenshot_2.gif
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Observer
Observer
610 Views
Registered: ‎03-14-2018

Ok, now I understand:

I actually need the Aardvark test hardware which is supposed to answer what I wrote on the bus. Unfortunately I don't have that device, but a simple I2C device that does not answer anything if I don't do a read().

So w/o the Aardvark I will always get the FAIL.

Thanks

View solution in original post

0 Kudos
2 Replies
Highlighted
Observer
Observer
484 Views
Registered: ‎03-14-2018

Sorry, that was my mistake: I was actually writing on the PI 0xff into the I2C device. That's why the level was high. Writing 0x00 looks much more like the ZedBoard I2C.

However I am still getting a FAIL running e.g. xxips_polled_master_example.c...

Pi_communicationScreenshot_3.gif
0 Kudos
Highlighted
Observer
Observer
611 Views
Registered: ‎03-14-2018

Ok, now I understand:

I actually need the Aardvark test hardware which is supposed to answer what I wrote on the bus. Unfortunately I don't have that device, but a simple I2C device that does not answer anything if I don't do a read().

So w/o the Aardvark I will always get the FAIL.

Thanks

View solution in original post

0 Kudos