
14
SMS46
2083 1.1 06/04/04
SUMMIT MICROELECTRONICS, Inc.
Preliminary Information
Figure 10 - Write Flow Chart
Acknowledge Polling
When the SMS46 is performing an internal Write operation
it will ignore any new Start conditions. Since the device will
only return an acknowledge after it accepts the Start the
part can be continuously queried until an acknowledge is
issued, indicating that the internal Write cycle is complete.
See the flow chart for the proper sequence of operations for
polling.
READ OPERATIONS
Read operations are initiated with the R/W bit of the
identification field set to 1. There are two different Read
options: 1. Current Address Byte Read, and 2. Random
Address Byte Read.
Current Address Read (memory only)
The SMS46 contains an internal address counter which
maintains the address of the last word accessed, incre-
mented by one. If the last address accessed (either a
Read or Write) was to address location n, the next Read
operation would access data from address location n+1
and increment the current address pointer. When the
SMS46 receives the Slave address field with the R/W bit
set to 1 it issues an acknowledge and transmits the 8-Bit
word stored at address location n+1. The current address
byte Read operation only accesses a single byte of data.
The Master sets the SDA line to NACK and generates a
stop condition. At this point the SMS46 discontinues data
transmission.
Random Address Read (Register and Memory)
Random address Read operations allow the Master to
access any memory location in a random fashion. This
operation involves a two-step process. First, the Master
issues a write command which includes the start condi-
tion and the Slave address field (with the R/W bit set to
Write), followed by the address of the word it is to Read.
This procedure sets the internal address counter of the
SMS46 to the desired address. After the word address
acknowledge is received by the Master it immediately
reissues a Start condition, followed by another Slave
address field with the R/W bit set to READ. The SMS46 will
respond with an Acknowledge and then transmit the 8 data
bits stored at the addressed location. At this point the
Master sets the SDA line to NACK and generates a Stop
condition. The SMS46 discontinues data transmission and
reverts to its standby power mode.
Sequential READ (Memory Only)
Sequential Reads can be initiated as either a current
address Read or random access Read. The first word is
transmitted as with the other byte Read modes (current
address byte Read or random address byte Read);
however, the Master now responds with an Acknowledge,
indicating that it requires additional data from the SMS46.
The SMS46 continues to output data for each Acknowl-
edge received. The Master terminates the sequential
Read operation by responding with a NACK, and issues
a Stop condition. During a sequential Read operation the
internal address counter is automatically incremented
with each Acknowledge signal. For Read operations all
address bits are incremented, allowing the entire array to
be read using a single Read command. After a count of
the last memory address the address counter will rollover
and the memory will continue to output data.
Next
Operation
a Write
ACK
Returned
Issue
Address
Proceed
With
Write
Await
Next
Command
Issue Stop
Issue Slave
Address and
R/W = 0
Issue Stop
Write Cycle
In Progress
Yes
No
Issue Start
2047 Fig12
Yes
No
I
2
C INTERFACE (CONTINUED)