AnsweredAssumed Answered

FMCOMMS1 I2C-to-SPI Problems

Question asked by blahblahblah on Aug 7, 2014
Latest reply on Sep 4, 2014 by DragosB



I'm having trouble getting the PIC on my FMCOMMS1 to initiate SPI transactions.

I've got a simple software based bit bang i2c going in python.

And so far can read the firmware version info no problems.

I read back:



I'm now trying to readback some registers from the AD9122.

But so far no luck.


My sequence to read register 0x0 from AD9122 is:

I2C 0x58(write)|0x03|0x00|0x08|0x00|0x01

I2C 0x58(write)|0x04|0x80

I2C 0x58(write)|0x03|0x04|0x28|0x00|0x1

I2C 0x58(read)|0xXX


I'm probing the SPI lines on the FMCOMMS1 board and don't see any action.

The final I2C read returns 0x1a, which is wrong.


My SCL speed is ~200Hz, which is pretty slow.

I'm wondering if there's a timeout in the PIC fimrware?

I've been over the I2C waveforms and can't really see anything wrong.

Since I can readback the firmware version, the I2C interface appears to be alive.

I just can't seem to trigger any SPI transactions.


I'm on a VC709, which doesn't have a ref design, so I can't drop back to those to compare the waveforms.

I do have a ML605, so I might dig that out and fire it up as a fallback.


Can anyone provide some more things to try?

Are there any example waveforms available that show how to trigger a SPI transaction?