yhtomit
Newbie
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
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