Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

I2C read - unable to read byte data from register

Hi,

 

We are working on a solution that involves i2C communication between the XC7A35T-1FTG256C and FX3 development kit and are experiencing problems reading data from the FPGA registers.

What we are trying to do is to read a single byte of data from a register (0x40) from the FPGA, using the FX3. The transaction should be as shown in the first image, where the FX3 does this steps:

  1. Send start condition
  2. Send the device address followed by a write bit
  3. Receive an ACK from FPGA
  4. Send register address (0x40)
  5. Receive an ACK from FPGA
  6. Send repeated start condition
  7. Send device address followed by read bit
  8. Receive ACK from FPGA
  9. Receive byte from FPGA register
  10. Send ACK to FPGA
  11. Send stop condition to FPGA

The issue is that the FX3 does not release the Bus after sending the read address to the FPGA (step 7). This prevents the FPGA from sending the register data to the FX3 board. What could cause this problem?

 

I have attached a second image that shows the result we get on the signal analyzer.

 

Thanks

0 Kudos
Message 1 of 2
(969 Views)

Could you please clarify if any of the products involved in this thread are made or supported by NI.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 2 of 2
(915 Views)