piclist 2001\02\01\134613a >
Thread: I2C questions
www.piclist.com/techref/i2cs.htm?key=i2c
flavicon
face BY : Mike Mansheim email (remove spam text)



>1. while clock is high  and  high to low transition on SDA line is Start
>Condition right ?

Yes.

>acknowledge

>    transmitter or receiver leaves SDA and SCL lines high for the device
to
>acknowledge
>    and the device must pull SDA line to low while SCL line is high right
?

No.  The device must pull SDA low such that it is stable low during the ack
clock pulse.  The rule is that SDA never changes state while SCL is high
except to signal starts and stops.

>2. Arbitration

>the purpose of arbitration is when there are more then one masters
>connected to the bus to prevent simultaneous control make sure they do not
>drive
>same slave at the same time by comparing address byte. my question is
>how each master is programmed to recognize this condition.

Arbitration is on a bit by bit basis - it can happen anywhere in the bit
stream, and is NOT related to the address byte.  On the i2c bus, a high
is "asserted" by releasing the line and letting it float high via the
pull-ups.  A low is asserted by driving the line low.  If two masters
generate a start condition at the same time, "arbitration" is used to
determine which one gets the bus.  This is determined the first time the
two want to put a different value on SDA.  The one putting a "zero" on
SDA wins.  This is done by each master checking SDA each time it wants a
"one" on SDA:  if a "zero" is read, then that master must get off the
bus (by simpling releasing both lines, NOT by generating a stop).  This
works because a master can't force a one, only a zero.
Clock stretching works in much the same way - when a master wants to start
a
clock pulse, it releases SCL high.  By waiting until SCL actually goes
high, that master will wait until all devices on the bus are ready -
because any of them can force SCL low.

>3. 10 bit addressing

Never used it, but the i2c bus specification from Phillips discusses it.

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


<OFAD0686DD.E8D45D8C-ON862569E6.00640896@msp.graco.com>

See also: www.piclist.com/techref/i2cs.htm?key=i2c
Reply You must be a member of the piclist mailing list (not only a www.piclist.com member) to post to the piclist. This form requires JavaScript and a browser/email client that can handle form mailto: posts.
Subject (change) I2C questions

month overview.

new search...