I2C query

Document created by analog-archivist Employee on Feb 23, 2016
Version 1Show Document
  • View in full screen mode

We are using ADuC7020QS-U2 development board for our application development.
But we are facing some problems regarding I2C programming. If you have typical
application programs of I2C bus, please forward to us. Kindly help us.Thankyou
very much for your help. However this doesn't solve our problem. Earlier I2c
was working in the slave mode,but failed to work in master mode.
Our objective is to send 'N' number of bytes to the slave device in one
transmission sequence while working in the master mode.Even with your program,
we could only send one byte in one tranmission sequence.
                The chip we are using has got some silicon anomalies regarding
I2C. I am attaching the anamaly list. Please review it and have a comment
regarding the
feasibility of I2C programming in master mode(transmitting 'N' bytes).


The I2C0MTX MMR is a 1 byte deep FIFO. As long as there is data in this MMR
when the pervious byte is transmitted the next byte will be sent.
If no data is in this register then a STOP condition will be sent.

All the customer needs to do is to make sure that his code continuously loads
this MMR with the bytes of data to be sent to the slave.

For reading from the slave the I2C0CNT MMR sets the number of bytes to be read
from the slave. The Master will continue to ACK bytes received from the slave
(i.e. request another byte) until this reaches 0. When this reaches 0 it will
send a NACK to the slave (i.e. do not send any more data).