Gee Whiz, Olin, I'll check with you first next time, OK? What I said is the way my I2C works. Nobody was answering so I took a crack at it. --Bob Olin Lathrop wrote: >Bob Axtell wrote: > > >>The ACK signal is the way that the Master knows that everything is >>working. >> >> > >It is important to distinguish between master/slave and sender/receiver. >The ACK bit is always driven by the receiver, whether that is the master or >the slave. > > > >>3. Usually there are one or more bytes of address bytes (depends on >>what the >>SLAVE chip does) >> >> > >There are only 2 types of IIC addresses, 7 bit and 10 bit. I've found chips >that support only 7 bit to be far more common. While it is possible that >there is an additional address byte since 10 bit addressing could be used, I >would NOT say that it is "usual". For most ordinary purposes you can >consider IIC to be a 7 bit addressed bus and forget about 10 bit address >mode. In no cases are there more than 2 address bytes. > > > >>4. Finally, if data is to be written to the slave, it acknowledges >>that >>it is taking >>each byte by pulling down during the 9th. When the chip can no longer >>take anymore data, it no longer acknowledges by pulling down, >>indicating to the Master that fact. >> >> > >This is correct. I just want to point out that this is only one way of >ending a write sequence. The master can chose to stop at any time by >issuing a BUS STOP, whether the slave ACKed the last byte or not. > > > >>2. In order to set the address before sending the data, the read >>cycle looks exactly like a WRITE transmission, except that after the >>addresses are sent, the Master issues a STOP FLAG. >> >> > >No! Whether a IIC sequence is a read or a write is indicated by the LSB of >the first address byte. Both master and slave then know which direction >subsequent bytes will be sent. When the master writes a BUS STOP, the IIC >sequence is over. Any new sequence will need to start with a new BUS START >and address byte, and therefore can be read or write indpendently of the >previous. In IIC, there is no requirement to preserve state from before the >last BUS START or BUS STOP. Whatever happens in one sequence has no effect >on the next as far as the IIC bus is concerned. > > > >>This transmission scheme, developed in the 1970s to send control info >>on TV chassis, remains to this day the most efficient 2-wire >>signalling method ever >>developed. >> >> > >That's a very general statement, which is neither useful nor correct. IIC >can be a good solution to particular problems, but can't possibly be the >"most efficient" because each application has its own set of tradeoffs and >"efficiency" will have many different meanings in different contexts. >Comparing IIC to RS-485 to CAN, for example, outside the context of a >particular problem is like comparing apples to cars to fenceposts. > > >***************************************************************** >Embed Inc, embedded system specialists in Littleton Massachusetts >(978) 742-9014, http://www.embedinc.com > > -- Note: To protect our network, attachments must be sent to attach@engineer.cotse.net . 1-866-263-5745 USA/Canada http://beam.to/azengineer -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist