Document Number: 001-84450 Rev. *M Page 6 of 18
Slave Device Address
The first byte that the FM24C16B expects after a START
condition is the slave address. As shown in Figure 6, the slave
address contains the device type, the page of memory to be
accessed, and a bit that specifies if the transaction is a read or
a write.
Bits 7–4 are the device type and should be set to 1010b for the
FM24C16B. These bits allow other function types to reside on
the I2C bus within an identical address range. Bits 3–1 are the
page select. It specifies the 256-byte block of memory that is
targeted for the current operation. Bit 0 is the read/write bit
(R/W). R/W = ‘1’ indicates a read operation and R/W = ‘0’
indicates a write operation.
Addressing Overview (Word Address)
After the FM24C16B (as receiver) acknowledges the slave
address, the master can place the word address on the bus for
a write operation. The word address is the lower 8-bits of the
address to be combined with the 3-bits page select to specify
exactly the byte to be written. The complete 11-bit address is
latched internally. No word address occurs for a read operation,
though the 3-bit page select is latched internally. Reads always
use the lower 8-bits that are held internally in the address latch.
That is, reads always begin at the address following the previous
access. A random read address can be loaded by doing a write
operation as explained below.
After transmission of each data byte, just prior to the
acknowledge, the FM24C16B increments the internal address
latch. This allows the next sequential byte to be accessed with
no additional addressing. After the last address (7FFh) is
reached, the address latch will roll over to 000h. There is no limit
to the number of bytes that can be accessed with a single read
or write operation.
Data Transfer
After the address bytes have been transmitted, data transfer
between the bus master and the FM24C16B can begin. For a
read operation the FM24C16B will place 8 data bits on the bus
then wait for an acknowledge from the master. If the
acknowledge occurs, the FM24C16B will transfer the next
sequential byte. If the acknowledge is not sent, the FM24C16B
will end the read operation. For a write operation, the FM24C16B
will accept 8 data bits from the master then send an
acknowledge. All data transfer occurs MSB (most significant bit)
first.
Memory Operation
The FM24C16B is designed to operate in a manner very similar
to other I2C interface memory products. The major differences
result from the higher performance write capability of F-RAM
technology. These improvements result in some differences
between the FM24C16B and a similar configuration EEPROM
during writes. The complete operation for both writes and reads
is explained below.
Write Operation
All writes begin with a slave address, then a word address. The
bus master indicates a write operation by setting the LSB of the
slave address (R/W bit) to a ‘0’. After addressing, the bus master
sends each byte of data to the memory and the memory
generates an acknowledge condition. Any number of sequential
bytes may be written. If the end of the address range is reached
internally, the address counter will wrap from 7FFh to 000h.
Unlike other nonvolatile memory technologies, there is no
effective write delay with F-RAM. Since the read and write
access times of the underlying memory are the same, the user
experiences no delay through the bus. The entire memory cycle
occurs in less time than a single bus clock. Therefore, any
operation including read or write can occur immediately following
a write. Acknowledge polling, a technique used with EEPROMs
to determine if a write is complete is unnecessary and will always
return a ready condition.
Internally, an actual memory write occurs after the 8th data bit is
transferred. It will be complete before the acknowledge is sent.
Therefore, if the user desires to abort a write without altering the
memory contents, this should be done using START or STOP
condition prior to the 8th data bit. The FM24C16B uses no page
buffering.
The memory array can be write-protected using the WP pin.
Setting the WP pin to a HIGH condition (VDD) will write-protect
all addresses. The FM24C16B will not acknowledge data bytes
that are written to protected addresses. In addition, the address
counter will not increment if writes are attempted to these
addresses. Setting WP to a LOW state (VSS) will disable the write
protect. WP is pulled down internally.
Figure 7 and Figure 8 on page 7 below illustrate a single-byte
and multiple-byte write cycles.
Figure 6. Memory Slave Device Address
Slave ID
10 10A2 A0
A1
Page Select
Figure 7. Single-Byte Write
S ASlave Address 0Word Address AData Byte A P
By Master
By F-RAM
Start Address & Data Stop
Acknowledge