0

I have written a program to read data from Microchip I2C EEPROM 24XX64. Initially I was able to get an acknowledge from the slave for command byte which indicates a READ operation. Perhaps, instead of data bits I was able to witness stL( write drive low signal) in model simulator. I would like to know the reason for this and what must be done to over come this signal.

2
  • Show us some waveforms and mark where you think things are going wrong! Commented Oct 10, 2012 at 16:09
  • Thanks for the reply. Please find the waveforms in the following link tinypic.com/r/2cr8qrb/6 Commented Oct 10, 2012 at 17:35

1 Answer 1

3

To read from an I2C slave, you usually have to write the register address first. The process to read is:

  • START
  • Device Address + WRITE
  • Register Address (# of bytes depends on slave)
  • REPEATED START
  • Device Address + READ
  • Slave ACKs
  • Master Read bytes and NACKs when it's had enough
  • STOP

Did you do a write to set up a register address for the read?

Sign up to request clarification or add additional context in comments.

2 Comments

yeah. Data 16'b FFFF was written previously. I was about to perform a current read operation where in the data in current read was expected.
Hello, I just wrote a program for read as it was mentioned above but still I could see write drive 0 from the slave.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.