Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I2C Query , Why Write followed by read in 10 bit addressing mode

Status
Not open for further replies.

naaj_ila

Member level 3
Joined
Jan 8, 2007
Messages
60
Helped
9
Reputation
18
Reaction score
9
Trophy points
1,288
Location
Bangalore,INDIA.
Activity points
1,689
In I2C Recieving 10 bit addressing Protocol, Master Reads data from Slave.

Master
1.Start condition
2.Slave Address 7 bits (11110XXX) + WRITE( Why Write here, Directly Master can send Read signal???)
3.Slaves ACK
4.Slave Address 2nd Byte
5.Slave ACK
6.Restart
7.SLave Address 7 bits (11110XXX) + READ (Why Master sending Restart and send Alve addree with Read operation????)
8.Slave ACK
9.SLAVE DATA
10.ACK +STOP


Check teh Screen shot
https://obrazki.elektroda.pl/8465689800_1428912118.jpg
 

As per the I2C protocol for any read operation there must be a dummy write prior to sending the read request.

I2C Read Sequence
-------------------
1) Send start condition.
2) Send 7-bit slave address with write bit (R/W = 0) /* This is the dummy write operation */
3)Send address or location on I2C device where you want to read from, after this the internal address pointer of I2C device points to location where you want to read from.

Step1 to Step 3 collectively is called dummy write

4) Now send a repeated start condition.
5) Send 7-bit slave address with read bit (R/W = 1). /* Read command */
6) Now slave will send data to master and master will acknowledge after each byte read. If it’s the last byte to be read from slave then master will send a NOT acknowledge (NACK).
7) Master then sends a stop condition to end the transfer.
 

Thanks for the reply .I dont think so it is a Dummy write.Before Restart (Step1-Step3), Slave will store the 1st Byte and 2nd Byte address).After Restart "ONLY1st Bytes address will be overwritten and 2nd Address will be as it is Used."
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top