Searching \ for 'IIC troubles' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/i2cs.htm?key=iic
Search entire site for: 'IIC troubles'.

Truncated match.
PICList Thread
'IIC troubles'
1997\05\07@103649 by Clewer,Brian

flavicon
face
Hi everyone,
I am having trouble understanding the way in which the stop condition is
produced from the master to the slave on a read/write to and from the
eeprom (24C65).  As I understand it, the protocol goes something like
this...

1. The sda line is an open drain/collector line and can only be pulled
down by any device (pulled up by external resistor).

2. Both lines in the steady state are high until the start bit (sda goes
low when scl is high)

3. Data then commences (addressing devices first) from D7 to D0 with an
ack in between.

4. The stop bit is produced after the last byte and ack.  sda goes from
low to high while the scl is high (Data transfer over).

My problem is 'If the last data bit has been read from the eeprom and the
ack has been sent back from the eeprom, when I want to generate my stop
bit on the next high of the scl, what is to stop the next bit of data
coming from the eeprom (D7) interfering with my sda line going up?  If
the data (D7) is low, the sda line will stay low even if the master
wishes it to go up because of the open drain.'

Thanks for any help in advance,
Brian.

1997\05\07@113942 by Site Y

picon face
<spam_OUTbrian.clewerTakeThisOuTspamTELEMATICS.COM> wrote:
>Hi everyone,
> I am having trouble understanding the way in which the stop condition
>is produced from the master to the slave on a read/write to and from the
>eeprom (24C65).  As I understand it, the protocol goes something like
>this...

 Get a hold of a XICOR data book.  They are the only folks who diagram
and explain this entire protocol in a clear and comprehensible fashion!

SCL, SDA,
 Marv

1997\05\07@122821 by Chris Atkins

flavicon
face
My problem is 'If the last data bit has been read from the eeprom and the
ack has been sent back from the eeprom, when I want to generate my stop
bit on the next high of the scl, what is to stop the next bit of data
coming from the eeprom (D7) interfering with my sda line going up?  If
the data (D7) is low, the sda line will stay low even if the master
wishes it to go up because of the open drain.'

When the Master is reading the EEPROM it generates the ACKs.
When you are done reading you don't give an ACK, just a stop.
This is shown in on the 24C65 data sheet.

Chris


Attachment converted: wonderland:WINMAIL.DAT 1 (????/----) (0000F28D)

More... (looser matching)
- Last day of these posts
- In 1997 , 1998 only
- Today
- New search...