XICOR X1243S8I

2-Wire RTC
X1243
16K
Real Time Clock/Calendar/Alarm with EEPROM
FEATURES
DESCRIPTION
• 2 Alarms—Interrupt Output
—Settable on the Second, 10s of Seconds,
Minute, 10s of Minutes, Hour, Day, Month, or
Day of the Week
—Repeat alarm for time base generation
• 2 Wire Interface interoperable with I2C.
—400kHz data transfer rate
• Secondary Power Supply Input with internal
switch-over circuitry.
• Year 2000 Compliant
• 2K bytes of EEPROM
—64 Byte Page Write Mode
—3 bit Block Lock
• Low Power CMOS
—<1µA Operating Current
—<3mA Active Current during Program
—<400µA Active Current during Data Read
• Single Byte Write Capability
• Typical Nonvolatile Write Cycle Time: 5ms
• High Reliability
—100,000 Endurance Cycles
—Guaranteed Data Retention: 100 Years
• Small Package Options
—8-Lead SOIC Package, 8L TSSOP Package
The X1243 is a Real Time Clock with clock/calendar
circuits and two alarms. The dual port clock and alarm
registers allow the clock to operate, without loss of
accuracy, even during read and write operations.
The clock/calendar provides functionality that is controllable and readable through a set of registers. The
clock, using a low cost 32.768kHz crystal input, accurately tracks the time in seconds, minutes, hours, date,
day, month and years. It has leap year correction,
automatic adjustment for the year 2000 and months
with less than 31 days.
An alarm match of the RTC sets an interrupt flag and
activates an interrupt pin. An alternative alarm function
provides a pulsed interrupt for long time constant timebases.
The device offers a backup power input pin. This
Vback pin allows the device to be backed up by a nonrechargeable battery. The RTC is fully operational
from 1.8 to 5.5 volts.
The X1243 provides a 2K byte EEPROM array, giving
a safe, secure memory for critical user and configuration data. This memory is unaffected by complete failure of the main and backup supplies.
BLOCK DIAGRAM
32.768kHz
X1
Frequency
Divider
Oscillator
X2
Control
Registers
Status
Register
(EEPROM)
(SRAM)
Timer
Calendar
Logic
Time
Keeping
Registers
(SRAM)
Compare
Alarm
Mask
SCL
Serial
Interface
Decoder
Control
Decode
Logic
1Hz
SDA
Alarm Regs
(EEPROM)
8
Interrupt Enable
IRQ
Xicor, Inc. 1994, 1995, 1996 Patents Pending
9900-3003.1 4/1/99
Alarm
1
16K
EEPROM
Array
Characteristics subject to change without notice
X1243
or Epson C-002RX. The crystal supplies a timebase
for a clock/oscillator. The internal clock can be driven
by an external signal on X1, with X2 left unconnected.
X1243
8 pin SOIC
X1
X2
IRQ
VSS
1
2
3
4
8
7
6
5
VCC
VBack
SCL
SDA
18pF
10M
X1
X2
220K
43pF
X1243
8 pin TSSOP
VBack
VCC
X1
X2
1
2
3
4
8
7
6
5
SCL
SDA
VSS
Figure 1. Recommended Crystal connection
IRQ
POWER CONTROL OPERATION
The Power control circuit accepts a VCC and a VBACK
input. The power control circuit will switch to VBACK
when VCC < VBACK - 0.2V. It will switch back to VCC
when VCC exceeds VBACK.
PIN DESCRIPTIONS
Serial Clock (SCL)
The SCL input is used to clock all data into and out of
the device. The input buffer on this pin is always active
(not gated).
VCC
Internal
Voltage
VBACK
Serial Data (SDA)
VCC = VBACK -0.2V
SDA is a bidirectional pin used to transfer data into
and out of the device. It has an open drain output and
may be wire ORed with other open drain or open collector outputs. The input buffer is always active (not
gated).
Figure 2. Power Control
An open drain output requires the use of a pull-up
resistor. The output circuitry controls the fall time of
the output signal with the use of a slope controlled
pull-down. The circuit is designed for 400kHz 2-wire
interface speeds.
REAL TIME CLOCK OPERATION
The Real Time Clock (RTC) uses an external, 32.768KHz
quartz crystal to maintain an accurate internal representation of the year, month, day, date, hour, minute,
and seconds. The RTC has leap-year correction and a
century byte. The clock will also correct for months having fewer than 31 days and will have a bit that controls
24 hour or AM/PM format. When the X1243 powers up
after the loss of both VCC and VBACK, the clock will not
increment until at least one byte is written to the clock
register.
VBACK
This input provides a backup supply voltage to the
device. VBACK supplies power to the device in the
event the VCC supply fails.
Interrupt Output— IRQ
Reading the Real Time Clock
The RTC is read by initiating a Read command and
specifying the address corresponding to the register of
the Real Time Clock. The RTC Registers can then be
read in a Sequential Read Mode. Since the clock runs
continuously and a read takes a finite amount of time,
there is the possibility that the clock could change during the course of a read operation. In this device, the
time is latched by the read command (falling edge of
This is an interrupt signal output. This signal notifies a
host processor that alarm has occurred and requests
action. It is an open drain active LOW output.
X1, X2
The X1 and X2 pins are the input and output, respectively, of an inverting amplifier that can be configured
for use as an on-chip oscillator. A 32.768kHz quartz
crystal is used. Recommeded crystals are Sieko VT-200
2
X1243
the clock on the ACK bit prior to RTC data output) into
a separate latch to avoid time changes during the read
operation. The clock continues to run. Alarms occuring
during a read are unaffected by the read operation.
Access to another section requires a new operation.
Continued reads or writes, once reaching the end of a
section, will wrap around to the start of the section. A
read or page write can begin at any address in the CCR.
Writing to the Real Time Clock
The time and date may be set by writing to the RTC
registers. To avoid changing the current time by an
uncompleted write operation, the current time value is
loaded into a seperate buffer at the falling edge of the
clock on the ACK bit before the RTC data input bytes,
the clock continues to run. The new serial input data
replaces the values in the buffer. This new RTC value
is loaded back into the RTC Register by a stop bit at
the end of a valid write sequence. An invalid write
operation aborts the time update procedure and the
contents of the buffer are discarded. After a valid write
operation the RTC will reflect the newly loaded data
beginning with the first “one second” clock cycle after
the stop bit. The RTC continues to update the time
while an RTC register write is in progress and the RTC
continues to run during any nonvolatile write sequences.
A single byte may be written to the RTC without affecting the other bytes.
Section 5) is a volatile register. It is not necessary to set
the RWEL bit prior to writing the status register. Section 5)
supports a single byte read or write only. Continued reads
or writes from this section terminates the operation.
CLOCK/CONTROL REGISTERS (CCR)
There are two alarm registers whose contents mimic
the contents of the RTC register, but add enable bits
and exclude the 24 hour time selection bit. The enable
bits specify which registers to use in the comparison
between the Alarm and Real Time Registers. For
example:
The state of the CCR can be read by performing a random read at any address in the CCR at any time. This
returns the contents of that register location. Additional
registers are read by performing a sequential read.
The read instruction latches all Clock registers into a
buffer, so an update of the clock does not change the
time being read. A sequential read of the CCR will not
result in the output of data from the memory array. At
the end of a read, the master supplies a stop condition
to end the operation and free the bus. After a read of
the CCR, the address remains at the previous address
+1 so the user can execute a current address read of
the CCR and continue reading the next Register.
ALARM REGISTERS
The Control/Clock Registers are located in an area
logically separated from the array and are only accessible following a slave byte of “1101111x” and reads or
writes to addresses [0000h:003Fh].
CCR access
The contents of the CCR can be modified by performing
a byte or a page write operation directly to any address in
the CCR. Prior to writing to the CCR (except the status
register), however, the WEL and RWEL bits must be
set using a two step process (See section “Writing to
the Clock/Control Registers.”)
—The user can set the X1242 to alarm every Wednesday at 8:00 AM by setting the EDWn, the EHRn and
EMNn enable bits to ‘0’ and setting the DWAn,
HRAn and MNAn Alarm registers to 8:00 AM
Wednesday.
—A daily alarm for 9:30PM results when the EHRn
and EMNn enable bits are set to ‘0’ and the HRAn
and MNAn registers set 9:30 PM.
The CCR is divided into 5 sections. These are:
—Setting the EMOn bit in combination with other
enable bits and a specific alarm time, the user can
establish an alarm that triggers at the same time
once a year.
1. Alarm 0 (8 bytes)
2. Alarm 1 (8 bytes)
3. Control (2 bytes)
4. Real Time Clock (8 bytes)
5. Status (1 byte)
When there is a match, an alarm flag is set. The occurance of an alarm can be determined by polling the AL0
and AL1 bits, or by setting the AL0E and AL1E bits to ‘1’
and monitoring the IRQ output. The AL0E and AL1E
bits enable the circuit that triggers the output IRQ pin
when an alarm occurs. Writing a ‘0’ to one of the bits
Sections 1) through 3) are nonvolatile and Sections 4)
and 5) are volatile. Each register is read and written
through buffers. The non-volatile portion (or the counter
portion of the RTC) is updated only if RWEL is set and
only after a valid write operation and stop bit. A sequential read or page write operation provides access to the
contents of only one section of the CCR per operation.
3
X1243
disables the output IRQ for that alarm condition, but the
alarm condition can still be checked by polling the
alarm flag.
The alarm enable bits are located in the MSB of the
particular register. When all enable bits are set to ‘0’,
there are no alarms.
Bit
Factroy
Settings
Table 1. Clock/Control Memory Map
Reg
Name
7
6
5
4
3
2
1
0
(optional)
SR
BAT
AL1
AL0
0
0
RWEL
WEL
RTCF
0037
Y2K
0
0
Y2K21
Y2K20
Y2K13
0
0
Y2K10
19/20
0036
DW
0
0
0
0
0
DY2
DY1
DY0
0-6
0035
YR
Y23
Y22
Y21
Y20
Y13
Y12
Y11
Y10
0-99
MO
0
0
0
G20
G13
G12
G11
G10
1-12
DT
0
0
D21
D20
D13
D12
D11
D10
1-31
0032
HR
T24
0
H21
H20
H13
H12
H11
H10
0-23
0031
MN
0
M22
M21
M20
M13
M12
M11
M10
0-59
0030
SC
0
S22
S21
S20
S13
S12
S11
S10
0-59
INT
IM
AL1E
AL0E
0
0
0
0
0
00h
BL
BP2
BP1
BP0
0
0
0
0
0
00h
DY2
DY1
DY0
0-6
0h
Addr.
003F
0034
0033
0011
0010
Type
Status
RTC
(SRAM)
Control
(E2PROM)
unused
000F
000E
DWA1
000D
YRA1
000C
Range
EDW1
0
0
0
0
Unused - Default = RTC Year value
MOA1
EMO1
0
0
A1G20
A1G13
A1G12
A1G11
A1G10
1-12
0h
DTA1
EDT1
0
A1D21
A1D20
A1D13
A1D12
A1D11
A1D10
1-31
0h
000A
HRA1
EHR1
0
A1H21
A1H20
A1H13
A1H12
A1H11
A1H10
0-23
0h
0009
MNA1
EMN1
A1M22
A1M21
A1M20
A1M13
A1M12
A1M11
A1M10
0-59
0h
0008
SCA1
ESC1
A1S22
A1S21
A1S20
A1S13
A1S12
A1S11
A1S10
0-59
0h
DY2
DY1
DY0
0-6
0h
000B
Alarm1
(E2PROM)
0007
unused
0006
DWA1
0005
YRA0
0004
EDW0
0
0
0
0
Unused - Default = RTC Year value
MOA0
EMO0
0
0
A0G20
A0G13
A0G12
A0G11
A0G10
1-12
0h
DTA0
EDT0
0
A0D21
A0D20
A0D13
A0D12
A0D11
A0D10
1-31
0h
0002
HRA0
EHR0
0
A0H21
A0H20
A0H13
A0H12
A0H11
A0H10
0-23
0h
0001
MNA0
EMN0
A0M22
A0M21
A0M20
A0M13
A0M12
A0M11
A0M10
0-59
0h
0000
SCA0
ESC0
A0S22
A0S21
A0S20
A0S13
A0S12
A0S11
A0S10
0-59
0h
0003
Alarm0
(E2PROM)
REAL TIME CLOCK REGISTERS
Day of the Week Register (DW)
This register provides a Day of the Week status and
uses three bits DY2 to DY0 to represent the seven
days of the week. The counter advances in the cycle
0-1-2-3-4-5-6-0-1-2-... The assignment of a numerical
Year 2000 (Y2K)
The X1243 has a century byte that “rolls over” from 19
to 20 when the years byte changes from 99 to 00. The
Y2K byte can contain only the values of 19 or 20.
4
X1243
value to a specific day of the week is arbitrary and may
be decided by the system software designer. The Clock
Default values define 0=Sunday.
AL1, AL0: Alarm bits—Volatile
These bits announce if either alarm 1 or alarm 2 match
the real time clock. If there is a match, the respective bit
is set to ‘1’. The falling edge of the last data bit in a SR
Read operation resets the flags. Note: Only the AL bits
that are set when an SR read starts will be reset. An
alarm bit that is set by an alarm occuring during an SR
read operation will remain set after the read operation
is complete.
Clock/Calendar Registers (YR, MO, DT, HR, MN, SC)
These registers depict BCD representations of the time.
As such, SC (Seconds) and MN (Minutes) range from
00 to 59, HR (Hour) is 1 to 12 with an AM or PM indicator (H21 bit) or 0 to 23 (with T24=1), DT (Date) is 1 to
31, MO (Month) is 1 to 12, YR (year) is 0 to 99.
RWEL: Register Write Enable Latch—Volatile
This bit is a volatile latch that powers up in the LOW
(disabled) state. The RWEL bit must be set to “1” prior
to any writes to the Clock/Control Registers. Writes to
RWEL bit do not cause a nonvolatile write cycle, so the
device is ready for the next operation immediately after
the stop condition. A write to the CCR requires both the
RWEL and WEL bits to be set in a specific sequence.
24 Hour Time
If the T24 bit of the HR register is 1, the RTC will use a
24-hour format. If the T24 bit is 0, the RTC will use 12hour format and bit H21 will function as an AM/PM indicator with a ‘1’ representing PM. The clock defaults to
Standard Time with H21=0.
Leap Years
Leap years add the day February 29 and are defined as
those years that are divisible by 4. Years divisible by
100 are not leap years, unless they are also divisible by
400. This means that the year 2000 is a leap year, the
year 2100 is not. The X1243 does not correct for the
leap year in the year 2100.
WEL: Write Enable Latch—Volatile
The WEL bit controls the access to the CCR and memory array during a write operation. This bit is a volatile
latch that powers up in the LOW (disabled) state. While
the WEL bit is LOW, writes to the CCR or any array
address will be ignored (no acknowledge will be issued
after the Data Byte). The WEL bit is set by writing a “1”
to the WEL bit and zeroes to the other bits of the Status
Register. Once set, WEL remains set until either reset
to 0 (by writing a “0” to the WEL bit and zeroes to the
other bits of the Status Register) or until the part powers up again. Writes to WEL bit do not cause a non-volatile write cycle, so the device is ready for the next
operation immediately after the stop condition.
STATUS REGISTER (SR)
The Status Register is located in the RTC area at
address 003FH. This is a volatile register only and is
used to control the WEL and RWEL write enable
latches, read an optional Low Voltage Sense bit, and
read the two alarm bits. This register is logically seperated from both the array and the Clock/Control Registers (CCR).
RTCF: Real Time Clock Fail Bit—Volatile
This bit is set to a ‘1’ after a total power failure. This is a
read only bit that is set by hardware when the device
powers up after having lost all power to the device. The
bit is set regardless of whether VCC or VBACK is applied
first. The loss of one or the other supplies does not
result in setting the RTCF bit. The first valid write to the
RTC (writing one byte is sufficient) resets the RTCF bit
to ‘0’.
Table 2. Status Register (SR)
Addr
7
6
5
4
3
2
1
0
003Fh
BAT
AL1
AL0
0
0
RWEL
WEL
RTCF
Default
0
0
0
0
0
0
0
0
BAT: Battery Supply—Volatile
This bit set to “1” indicates that the device is operating
from VBACK, not VCC. It is a read only bit and is set/
reset by hardware.
Unused Bits:
These devices do not use bits 3 or 4, but must have a
zero in these bit positions. The Data Byte output during
a SR read will contain zeros in these bit locations.
5
X1243
CONTROL REGISTERS
A match of the RTC and the contents of the alarm 1
registers automatically sets the AL1 bit. If the AL1E bit
is also set, the output IRQ signal goes active (LOW). If
the AL1E bit is not set, the AL1 bit is set, but the IRQ
signal remains unchanged.
Block Protect Bits - BP2, BP1, BP0 - (Nonvolatile)
The Block Protect Bits, BP2, BP1 and BP0, determine
which blocks of the array are write protected. A write
to a protected block of memory is ignored. The block
protect bits will prevent write operations to one of eight
segments of the array. The partitions are described in
Table 3.
Reading the status register, containing the AL0 and
AL1 bits, resets the bits. The bits do not reset until the
falling edge of the 8th output clock of the status register containing the Alarm bits. When the bits reset, the
output IRQ signal returns to the inactive state.
Table 3. Block Protect Bits
BP1
BP0
Array Lock
BP2
Protected Addresses
X1243
0
0
0
None
None
0
0
1
600h - 7FFh
Upper 1/4
0
1
0
400h - 7FFh
Upper 1/2
0
1
1
000h - 7FFh
Full Array
1
0
0
000h - 03Fh
First Page
1
0
1
000h - 07Fh
First 2 pgs
1
1
0
000h - 0FFh
First 4 pgs
1
1
1
000h - 1FFh
First 8 Pgs
Pulsed Interrupt Mode (IM bit =1)
In this mode, the alarm interrupt enable bits (AL0E and
AL1E) are not used. Alarm 1 operates as before, so a
match of the RTC and Alarm 1 sets the AL1 bit. Since
the interrupt enable bits have no function, it is necessary for the host processor to poll the AL1 bit to determine if an alarm has occurred.
Alarm 0 provides an output response. In this case,
when the RTC matches the Alarm 0 registers, the output IRQ pulses one time. This pulse can be used to
control some outside circuit or event, without the need
for a local processor. The duration of the pulse is 1024
cycles of the 32.748kHz oscillator. All alarm 0 enable
options are available, so this becomes a very flexible
long term repeat trigger.
Interrupt Control Bits (AL1E, AL0E)
There are two Interrupt Control bits, Alarm 1 Interrupt
Enable (AL1E) and Alarm 0 Interrupt Enable (AL0E) to
specifically enable or disable the alarm interrupt signal
output. The interrupt output is enabled when either bit is
set to ‘1’. Two volatile bits (AL1 and AL0), associated
with these alarms, indicate if an alarm has happened.
These bits are set on an alarm condition regardless of
whether the alarm interrupts are enabled. The AL1
and AL0 bits are reset by the falling edge of the 8th
clock of a read of the register containing the bits.
WRITING TO THE CLOCK/CONTROL REGISTERS
Changing any of the nonvolatile bits of the clock/control register requires the following steps:
—Write a 02H to the Status Register to set the Write
Enable Latch (WEL). This is a volatile operation, so
there is no delay after the write. (Operation preceeded by a start and ended with a stop).
In an alternative mode (called pulsed interrupt mode),
controlled by an interrupt mode (IM) bit, the alarm 0
setting provides an output pulse on IRQ each time the
alarm matches the RTC. In this case the AL0 bit is not
used. Alarm 1 works as before (i.e. the AL1 bit is set
when an alarm occurs), but it is necessary to poll the status register to determine whether a match has occurred.
This read operation is necessary to reset the AL1 flag.
—Write a 06H to the Status Register to set both the
Register Write Enable Latch (RWEL) and the WEL
bit. This is also a volatile cycle. The zeros in the data
byte are required. (Operation preceeded by a start
and ended with a stop).
—Write one to 8 bytes to the Clock/Control Registers
with the desired clock, alarm, or control data. This
sequence starts with a start bit, requires a slave byte
of “11011110” and an address within the CCR and is
terminated by a stop bit. A write to the CCR changes
EEPROM values so these initiate a nonvolatile write
cycle and will take up to 10ms to complete. Writes to
undefined areas have no effect. The RWEL bit is
reset by the completion of a nonvolatile write write
cycle, so the sequence must be repeated to again
Normal Mode (IM bit =0)
A match of the RTC and the contents of the alarm 0
registers automatically sets the AL0 bit. If the AL0E bit
is also set, the output IRQ signal goes active (LOW). If
the AL0E bit is not set, the AL0 bit is set, but the IRQ
signal remains unchanged.
6
X1243
initiate another change to the CCR contents. If the
sequence is not completed for any reason (by sending an incorrect number of bits or sending a start
instead of a stop, for example) the RWEL bit is not
reset and the device remains in an active mode.
SERIAL COMMUNICATION
Interface Conventions
The device supports a bidirectional bus oriented protocol. The protocol defines any device that sends data
onto the bus as a transmitter, and the receiving device
as the receiver. The device controlling the transfer is
called the master and the device being controlled is
called the slave. The master always initiates data
transfers, and provides the clock for both transmit and
receive operations. Therefore, the devices in this family operate as slaves in all applications.
—Writing all zeros to the status register resets both
the WEL and RWEL bits.
—A read operation occurring between any of the previous operations will not interrupt the register write
operation.
—The RWEL and WEL bits can be reset by writing a 0
to the Status Register.
SCL
SDA
Data Stable
Data Change
Data Stable
Figure 3. Valid Data Changes on the SDA Bus
Clock and Data
Data states on the SDA line can change only during
SCL LOW. SDA state changes during SCL HIGH are
reserved for indicating start and stop conditions. See
Figure 3.
and SCL lines for the start condition and will not
respond to any command until this condition has been
met. See Figure 4.
Stop Condition
All communications must be terminated by a stop condition, which is a LOW to HIGH transition of SDA when
SCL is HIGH. The stop condition is also used to place
the device into the Standby power mode after a read
sequence. A stop condition can only be issued after
the transmitting device has released the bus Refer to
Figure 4.
Start Condition
All commands are preceded by the start condition,
which is a HIGH to LOW transition of SDA when SCL
is HIGH. The device continuously monitors the SDA
SCL
SDA
Start
Stop
Figure 4. Valid Start and Stop Conditions
7
X1243
SCL from Master
1
8
9
Data Output from
Transmitter
Data Output
from Receiver
Start
Acknowledge
Figure 5. Acknowledge Response From Receiver
Acknowledge
Acknowledge is a software convention used to indicate successful data transfer. The transmitting device,
either master or slave, will release the bus after transmitting eight bits. During the ninth clock cycle, the
receiver will pull the SDA line LOW to acknowledge
that it received the eight bits of data. Refer to Figure 5.
WRITE OPERATIONS
Byte Write
For a byte write operation, the device requires the
Slave Address Byte and the Word Address Bytes. This
gives the master access to any one of the words in the
array or CCR. (Note: Prior to writing to the CCR, the
master must write a 02h, then 06h to the status register in preceding operations to enable the write operation. See “Writing to the Clock/Control Registers” on
page 6.) Upon receipt of each address byte, the
X1243 responds with an acknowledge. After receiving
both address bytes the X1243 awaits the eight bits of
data. After receiving the 8 data bits, the X1243 again
responds with an acknowledge. The master then terminates the transfer by generating a stop condition.
The X1243 then begins an internal write cycle of the
data to the nonvolatile memory. During the internal
write cycle, the device inputs are disabled, so the
device will not respond to any requests from the master.
The SDA output is at high impedance. See Figure 6.
The device will respond with an acknowledge after
recognition of a start condition and if the correct
Device Identifier and Select bits are contained in the
Slave Address Byte. If a write operation is selected,
the device will respond with an acknowledge after the
receipt of each subsequent eight bit word. The device
will acknowledge all incoming data and address bytes,
except for:
—The Slave Address Byte when the Device Identifier
and/or Select bits are incorrect
—All Data Bytes of a write when the WEL in the Write
Protect Register is LOW
A write to a protected block of memory is ignored, but
will still receive an acknowledge. At the end of the
write command, the X1243 will not initiate an internal
write cycle, and will continue to ACK commands.
—The 2nd Data Byte of a Register Write Operation
(when only 1 data byte is allowed)
In the read mode, the device will transmit eight bits of
data, release the SDA line, then monitor the line for an
acknowledge. If an acknowledge is detected and no
stop condition is generated by the master, the device
will continue to transmit data. The device will terminate
further data transmissions if an acknowledge is not
detected. The master must then issue a stop condition
to return the device to Standby mode and place the
device into a known state.
8
X1243
S
t
a
r
t
Signals from
the Master
SDA Bus
Word
Address 1
Slave
Address
1
1 11 0
Signals from
the Slave
Word
Address 0
S
t
o
p
Data
0000 0
A
C
K
A
C
K
A
C
K
A
C
K
Figure 6. Byte Write Sequence
7 bytes
23 bytes
address pointer
ends here
Addr = 7
address
=6
address
40
address
63
Figure 7. Writing 30 bytes to a 64-byte page starting at adress 40.
Signals from
the Master
SDA Bus
Signals from
the Slave
S
t
a
r
t
(1 < n < 64)
Word
Address 1
Slave
Address
1
1 1 10
Word
Address 0
Data
(1)
S
t
o
p
Data
(n)
0 00 0 0
A
C
K
A
C
K
A
C
K
A
C
K
Figure 8. Page Write Sequence
Page Write
The X1243 has a page write operation. It is initiated in
the same manner as the byte write operation; but instead
of terminating the write cycle after the first data byte is
transferred, the master can transmit up to 63 more bytes
to the memory array and up to 7 more bytes to the
clock/control registers. (Note: Prior to writing to the
CCR, the master must write a 02h, then 06h to the status register in two preceding operations to enable the
write operation. See “Writing to the Clock/Control Registers” on page 6.)
After the receipt of each byte, the X1243 responds
with an acknowledge, and the address is internally
incremented by one. When the counter reaches the
end of the page, it “rolls over” and goes back to the
first address on the same page. This means that the
master can write 64 bytes to a memory array page or 8
bytes to a CCR section starting at any location on that
page. If the master begins writing at location 40 of the
memory and loads 30 bytes, then the first 23 bytes are
written to addresses 40 through 63, and the last 7
bytes are written to columns 0 through 6. Afterwards,
9
X1243
the address counter would point to location 7 on the
page that was just written. If the master supplies more
than the maximum bytes in a page, then the previously
loaded data is over written by the new data, one byte
at a time.
Byte load completed
by issuing STOP.
Enter ACK Polling
The master terminates the Data Byte loading by issuing a stop condition, which causes the device to begin
the non-volatile write cycle. As with the byte write
operation, all inputs are disabled until completion of
the internal write cycle. Refer to Figure 8 for the
address, acknowledge, and data transfer sequence.
Issue START
Issue Slave
Address Byte
(Read or Write)
Stops and Write Modes
Stop conditions that terminate write operations must
be sent by the master after sending at least 1 full data
byte and it’s associated ACK signal. If a stop is issued
in the middle of a data byte, or before 1 full data byte +
ACK is sent, then the device will reset itself without
performing the write. The contents of the array will not
be affected.
ACK
returned?
Issue STOP
NO
YES
nonvolatile write
Cycle complete.
Continue command
sequence?
Acknowledge Polling
The disabling of the inputs during non-volatile write
cycles can be used to take advantage of the typical
5mS write cycle time. Once the stop condition is
issued to indicate the end of the master’s byte load
operation, the device initiates the internal non-volatile
write cycle. Acknowledge polling can be initiated
immediately. To do this, the master issues a start condition followed by the Slave Address Byte for a write or
read operation. If the device is still busy with the nonvolatile write cycle then no ACK will be returned. If the
device has completed the write operation, an ACK will
be returned and the host can then proceed with the read
or write operation. Refer to the flow chart in Table 9.
NO
Issue STOP
YES
Continue normal
Read or Write
command
sequence
PROCEED
Figure 9. Acknowledge Polling Sequence
Upon receipt of the Slave Address Byte with the R/W
bit set to one, the device issues an acknowledge and
then transmits the eight bits of the Data Byte. The
master terminates the read operation when it does not
respond with an acknowledge during the ninth clock
and then issues a stop condition. Refer to Figure 10
for the address, acknowledge, and data transfer
sequence.
READ OPERATIONS
There are three basic read operations: Current
Address Read, Random Read, and Sequential Read.
Current Address Read
Internally the device contains an address counter that
maintains the address of the last word read incremented by one. Therefore, if the last read was to
address n, the next read operation would access data
from address n+1. On power up, the sixteen bit
address is initialized to 0h. In this way, a current
address read can be initiated immediately after the
power on reset to download the contents of memory
starting at the first location.
It should be noted that the ninth clock cycle of the read
operation is not a “don’t care.” To terminate a read
operation, the master must either issue a stop condition during the ninth cycle or hold SDA HIGH during
the ninth clock cycle and then issue a stop condition.
10
X1243
Signals from
the Master
SDA Bus
S
t
a
r
t
S
t
o
p
Slave
Address
1
11 11
A
C
K
Signals from
the Slave
Data
Figure 10. Current Address Read Sequence
Random Read
Random read operation allows the master to access
any memory location in the array. Prior to issuing the
Slave Address Byte with the R/W bit set to one, the
master must first perform a “dummy” write operation.
newly loaded address. This operation could be useful
if the master knows the next address it needs to read,
but is not ready for the data.
Sequential Read
Sequential reads can be initiated as either a current
address read or random address read. The first Data
Byte is transmitted as with the other modes; however,
the master now responds with an acknowledge, indicating it requires additional data. The device continues to
output data for each acknowledge received. The master
terminates the read operation by not responding with
an acknowledge and then issuing a stop condition.
The master issues the start condition and the Slave
Address Byte, receives an acknowledge, then issues
the Word Address Bytes. After acknowledging receipts
of the Word Address Bytes, the master immediately
issues another start condition and the Slave Address
Byte with the R/W bit set to one. This is followed by an
acknowledge from the device and then by the eight bit
word. The master terminates the read operation by not
responding with an acknowledge and then issuing a
stop condition. Refer to Figure 11 for the address,
acknowledge, and data transfer sequence.
The data output is sequential, with the data from address
n followed by the data from address n + 1. The address
counter for read operations increments through all page
and column addresses, allowing the entire memory
contents to be serially read during one operation. At
the end of the address space the counter “rolls over” to
the start of the address space and the device continues
to output data for each acknowledge received. Refer
to Figure 12 for the acknowledge and data transfer
sequence.
In a similar operation, called “Set Current Address,”
the device sets the address if a stop is issued instead of
the second start shown in Figure 11. The X1243 then
goes into standby mode after the stop and all bus activity
will be ignored until a start is detected. This operation
loads the new address into the address counter. The next
Current Address Read operation will read from the
Signals from
the Master
SDA Bus
Signals from
the Slave
S
t
a
r
t
Slave
Address
1
Word
Address 0
Word
Address 1
1110
S
t
a
r
t
0 0 0 00
A
C
K
1
A
C
K
A
C
K
Figure 11. Random Address Read Sequence
11
S
t
o
p
Slave
Address
111 1
A
C
K
Data
X1243
DEVICE ADDRESSING
Following the Slave Byte is a two byte word address.
The word address is either supplied by the master
device or obtained from an internal counter. On power
up the internal address counter is set to address 0h,
so a current address read of the EEPROM array starts
at address 0. When required, as part of a random
read, the master device must supply the 2 Word
Address Bytes.
Following a start condition, the master must output a
Slave Address Byte. The first four bits of the Slave
Address Byte specify access to the EEPROM array or
to the CCR. Slave bits ‘1010’ access the EEPROM
array. Slave bits ‘1101’ access the CCR.
Bit 3 through Bit 1 of the slave byte specify the device
select bits. These are set to ‘111’.
In a random read operation, the slave byte in the
“dummy write” portion must match the slave byte in
the “read” section. That is if the random read is from
the array the slave byte must be ‘1010111x’ in both
instances. Similarly, for a random read of the Clock/
Control Registers, the slave byte must be ‘1101111x’
in both places.
The last bit of the Slave Address Byte defines the
operation to be performed. When this R/W bit is a one,
then a read operation is selected. A zero selects a
write operation. Refer to Figure 12.
After loading the entire Slave Address Byte from the
SDA bus, the device compares the device identifier
and device select bits with ‘1010111’ or ‘1101111’.
Upon a correct compare, the device outputs an
acknowledge on the SDA line.
Signals from
the Master
SDA Bus
Signals from
the Slave
Slave
Address
A
C
K
A
C
K
A
C
K
1
A
C
K
Data
(2)
Data
(1)
Data
Data
(n-1)
(n)
(n is any integer greater than 1)
Figure 12. Sequential Read Sequence
12
S
t
o
p
X1243
Device Identifier
Array
CCR
1
1
Slave Address Byte
Byte 0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
A10
A9
A8
High Order Word Address
Byte 1
A7
A6
A5
A4
A3
A2
A1
A0
Low Order Word Address
Byte 2
D7
D6
D5
D4
D3
D2
D1
D0
Data Byte
Byte 3
R/W
Figure 13. Slave Address, Word Address, and Data Bytes (64 Byte pages)
13
X1243
ABSOLUTE MAXIMUM RATINGS
Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the
device. This is a stress rating only and the functional
operation of the device at these or any other conditions
above those indicated in the operational sections of
this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may
affect device reliability.
Temperature Under Bias.................. -65˚C to +135˚C
Storage Temperature....................... -65˚C to +150˚C
Voltage on any pin with respect to ground-1.0V to 7.0V
DC Output Current .............................................5 mA
Lead Temperature (Soldering, 10 Seconds) .... 300˚C
DC OPERATING CHARACTERISTICS Temperature = -40°c to +85°c, unless otherwise stated.)
Symbol
Parameter
Min
Vcc
Main Power Supply
VBACK
Backup Power Supply
VCB
Switch to Backup Supply
VBC
Switch to Main Supply
ICC1
Supply Current
ICC2
ICC3
IBACK1
IBACK2
Typ
Max
Unit
2.7
5.5
V
1.8
5.5
V
VCC =
VBACK -0.2
VBACK -0.1
V
VCC =
VBACK
VBACK +0.1
VCC = 2.7V
1.2
µA
VCC = 5.5V
1.7
µA
VCC = 2.7V
3.8
5
VCC = 5.5V
7.5
15
µA
Program Supply Current
(non-volatile)
VCC = 2.7V
1.5
mA
VCC = 5.5V
3.0
mA
VBACK = 1.8V
1.0
µA
VBACK = 5.5V
1.5
µA
Timekeeping Current
(External crystal network)
2:
2:
Supply Current
(External crystal network)
Timekeeping Current
Notes
3:, 5:, 10:
2:, 3:, 5:, 11:
VCC= 1.8V
1.6
3
µA
VCC = 5.5V
7.5
15
µA
1:, 3:, 5:, 10:
2:, 4:, 6:, 10:
2:, 4:, 6:, 11:
ILI
Input Leakage Current
10
µA
7:
ILO
Output Leakage Current
10
µA
7:
VIL
Input LOW Voltage
-0.5
VCC x 0.3 or
VBACK x 0.3
V
2:, 9:
VIH
Input HIGH Voltage
VCC x 0.7 or
VBACK x 0.7
VCC + 0.5
VBACK + 0.5
V
2:, 9:
VOL
Output LOW Voltage
2.7V
0.4
V
8:
5.5V
0.4
Notes:
1:
The device enters the Program state 200nS after a stop ending a write operation and continues for tWC.
2:
Periodically sampled and not 100% tested.
14
X1243
3:
VIL = VCC x 0.1, VIH = VCC x 0.9, fSCL = 400KHz, SDA = Open
4:
VCC = 0V.
5:
VBACK= 0V.
6:
VSDA=VSCL=VBACK, Others=GND or VBACK
7:
VSDA = GND to VCC, VCLK = GND or VCC
8:
IOL = 3.0mA at 5V, 1.5mA at 1.8V
9:
Threshold voltages based on the higher of Vcc or Vback.
10:
Driven by external 32.768KHz square wave oscillator on X1, X2 open.
11:
Using recommended crystal and oscillator network applied to X1 and X2 (25°C).
Capacitance (TA = 25˚C, f = 1.0 MHz, VCC = 5V)
Symbol
COUT
(1)
CIN (1)
1.
Parameter
Max
Units
Test Conditions
Output Capacitance (SDA, IRQ)
8
pF
VOUT = 0V
Input Capacitance (SCL)
6
pF
VIN = 0V
This parameter is periodically sampled and not 100% tested.
AC CHARACTERISTICS
AC Test Conditions
Input Pulse Levels
VCC x 0.1 to VCC x 0.9
Input Rise and Fall Times
10ns
Input and Output Timing
Levels
VCC x 0.5
Output Load
Standard Output Load
Equivalent AC Output Load Circuit for VCC = 5V
5.0V
1533Ω
For VOL= 0.4V
and IOL = 3 mA
SDA.
IRQ
100pF
Figure 14. Standard Output Load for testing the
device with VCC = 5.0V
15
X1243
AC Specifications - TA = -40˚C to +85˚C, VCC = +2.7V to +5.5V, unless otherwise specified.
400kHz Option
Symbol
Parameter
Min
Max
Units
400
KHz
fSCL
SCL Clock Frequency
0
tIN(1)
Pulse width Suppression Time at inputs
50
tAA
SCL LOW to SDA Data Out Valid
0.1
tBUF
Time the bus must be free before a new transmission
can start
1.3
µS
tLOW
Clock LOW Time
1.3
µS
tHIGH
Clock HIGH Time
0.6
µS
tSU:STA
Start Condition Setup Time
0.6
µS
tHD:STA
Start Condition Hold Time
0.6
µS
tSU:DAT
Data In Setup Time
100
nS
tHD:DAT
Data In Hold Time
0
µS
tSU:STO
Stop Condition Setup Time
0.6
µS
tDH
Data Output Hold Time
50
nS
tR(1)
SDA and SCL Rise Time
20 +.1Cb(2)
300
nS
tF(1)
SDA and SCL Fall Time
20 +.1Cb(2)
300
nS
Cb
Capacitive load for each bus line
400
pF
1.
This parameter is periodically sampled and not 100% tested.
2.
Cb = total capacitance of one bus line in pF.
nS
0.9
Timing Diagrams
Bus Timing
tF
SCL
tHIGH
tLOW
tR
tSU:DAT
tSU:STA
SDA IN
tHD:STA
tHD:DAT
tSU:STO
tAA tDH
SDA OUT
16
tBUF
µS
X1243
Write Cycle Timing
SCL
SDA
8th bit of last byte
ACK
tWC
Stop
Condition
Start
Condition
Power Up Timing
Symbol
tPUR
(1)
(1)
tPUW
1.
Parameter
Min.
Max.
Units
Time from Power Up to Read
1
mS
Time from Power Up to Write
5
mS
Delays are measured from the time VCC is stable until the specified operation can be initiated. These parameters are periodically sampled and not 100% tested.
Nonvolatile Write Cycle Timing
Symbol
tWC
1.
(1)
Parameter
Min.
Write Cycle Time
Typ.(1)
Max.
Units
5
10
mS
tWC is the time from a valid stop condition at the end of a write sequence to the end of the self-timed internal nonvolatile
write cycle. It is the minimum cycle time to be allowed for any nonvolatile write by the user, unless Acknowledge Polling is
used.
17
X1243
ORDERING INFORMATION
Vcc Range
Package
2.7-5.5V
8L SOIC
8L TSSOP
Operating
Temperature Range
PART NUMBER
16Kb EEPROM
RESET (LOW)
0oC - 70oC
X1243S8
-40o
o
X1243S8I
C - 85 C
0oC - 70oC
X1243V8
Part Mark Information
8-Lead SOIC
8-Lead TSSOP
X1243 X
XX
EYWW
XXXXX
Blank = 8-Lead SOIC
Blank = 2.7 to 5.5V, 0 to +70°C
I = 2.7 to 5.5V, -40 to +85°C
X1243 = 2.7 to 5.5V, 0 to +70°C
1243I = 2.7 to 5.5V, -40 to +85°C
LIMITED WARRANTY
Devices sold by Xicor, Inc. are covered by the warranty and patent indemnification provisions appearing in its Terms of Sale only. Xicor, Inc.
makes no warranty, express, statutory, implied, or by description regarding the information set forth herein or regarding the freedom of the
described devices from patent infringement. Xicor, Inc. makes no warranty of merchantability or fitness for any purpose. Xicor, Inc. reserves the
right to discontinue production and change specifications and prices at any time and without notice.
Xicor, Inc. assumes no responsibility for the use of any circuitry other than circuitry embodied in a Xicor, Inc. product. No other circuits, patents,
licenses are implied.
U.S. PATENTS
Xicor products are covered by one or more of the following U.S. Patents: 4,263,664; 4,274,012; 4,300,212; 4,314,265; 4,326,134; 4,393,481;
4,404,475; 4,450,402; 4,486,769; 4,488,060; 4,520,461; 4,533,846; 4,599,706; 4,617,652; 4,668,932; 4,752,912; 4,829, 482; 4,874, 967;
4,883, 976. Foreign patents and additional patents pending.
LIFE RELATED POLICY
In situations where semiconductor component failure may endanger life, system designers using this product should design the system with
appropriate error detection and correction, redundancy and back-up features to prevent such an occurence.
Xicor's products are not authorized for use in critical components in life support devices or systems.
1.
Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or
sustain life, and whose failure to perform, when properly used in accordance with instructions for use provided in the labeling, can be
reasonably expected to result in a significant injury to the user.
2.
A critical component is any component of a life support device or system whose failure to perform can be reasonably expected to cause
the failure of the life support device or system, or to affect its safety or effectiveness.
18