X1203 2-Wire™ RTC Real Time Clock/Calendar/Alarm 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 • Low Power CMOS —<1µA operating current —<3µA active current during program —<400µA active current during data read • Typical Nonvolatile Write Cycle Time: 5ms • High Reliability —100,000 endurance cycles —Guaranteed data retention: 100 years • Small Package Options —8-lead SOIC package, 8-lead TSSOP package The X1203 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 2.5 to 6 volts. BLOCK DIAGRAM 32.768kHz X1 Frequency Divider Oscillator X2 SDA Serial Interface Decoder Control Registers Status Registers (EEPROM) (SRAM) Timer Calendar Logic Time Keeping Registers (SRAM) Compare Alarm Mask SCL Control Decode Logic 1Hz Alarm Regs (EEPROM) 8 Interrupt Enable IRQ Xicor, Inc. 2000 Patents Pending 9900-3002.1 4/28/00 EP Alarm Characteristics subject to change without notice. 1 of 20 X1203 PIN CONFIGURATION X1203 8 Pin SOIC X1 1 2 X2 IRQ VSS 8 VCC 7 VBACK 3 6 SCL 4 5 SDA quartz crystal is used with the on-chip oscillator. Recommended crystals are Seiko VT-200 or Epson C002RX. The crystal supplies a timebase for a clock/ oscillar, see figure 1. Using an external timebase, the internal clock is driven by the external signal on X1, with X2 left unconnected. Figure 1. Recommended Crystal Connection 18pF X1203 8 Pin TSSOP VBACK VCC X1 X2 1 2 3 4 8 7 6 5 SCL SDA VSS 10M 43pF IRQ 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). X1 X2 220K POWER CONTROL OPERRATION 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. Figure 2. Power Control Serial Data (SDA) 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). 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 pulldown. The circuit is designed for 400kHz 2-wire interface speeds. 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 This is an interrupt signal output. This signal notifies a host processor that alarm has occured 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 accept an external 32.768KHz sqare wave reference on X1 or can be configured for use as an on-chip oscillator. A 32.768kHz VCC Internal Voltage VBACK VCC = VBACK -0.2V REAL TIME CLOCK OPERATION The Real Time Clock (RTC) uses an external 32.768KHz quartz crystal network or timebase 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. After power up, when both VCC and VBACK fail, the clock will not advance unless at least one byte is written to the RTC register. 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 Characteristics subject to change without notice. 2 of 20 X1203 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 the clock on the ACK bit prior to RTC data output) into a seperate 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. 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 separate 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. CLOCK/CONTROL REGISTERS (CCR) 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 CCR is divided into 5 sections. These are: 1. Alarm 0 2. Alarm 1 3. Control 4. Real Time Clock 5. Status 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 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. 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. 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. 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. 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 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 user can set the X1203 to alarm every Wednesday at 8:00 AM by setting the EDWn, the EHRn and EMNn enable bits to ‘1’ 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 ‘1’ and the HRAn and MNAn registers set 9:30 PM. Characteristics subject to change without notice. 3 of 20 X1203 – 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. when an alarm occurs. Writing a ‘0’ to one of the bits disables the output IRQ for that alarm condition, but the alarm condition can still be checked by polling the alarm flag. 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 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 Addr. Type Reg Name 7 6 5 4 3 2 1 0 (optional) BAT AL1 AL0 0 0 RWEL WEL RTCF Range Factory Settings Table 1. Clock/Control Memory Map 003F Status SR 0037 RTC (SRAM) Y2K 0 0 Y2K21 Y2K20 Y2K13 0 0 Y2K10 19/20 20h DW 0 0 0 0 0 DY2 DY1 DY0 0-6 00h 0035 YR Y23 Y22 Y21 Y20 Y13 Y12 Y11 Y10 0-99 00h 0034 MO 0 0 0 G20 G13 G12 G11 G10 1-12 00h 0036 01h 0033 DT 0 0 D21 D20 D13 D12 D11 D10 1-31 00h 0032 HR T24 0 H21 H20 H13 H12 H11 H10 0-23 00h 0031 MN 0 M22 M21 M20 M13 M12 M11 M10 0-59 00h 0-59 00h 0030 SC 0 S22 S21 S20 S13 S12 S11 S10 0011 Control (E2PROM) INT IM AL1E AL0E 0 0 0 0 0 000F Alarm1 (E2PROM) Y2K 0 0 A1Y2K21 A1Y2K20 A1Y2K13 0 0 A1Y2K10 19/20 20h DWA0 EDW1 0 0 0 0 DY2 DY1 DY0 0-6 00h 000E 00h 000D YRA0 Unused - Default = RTC Year value 000C MOA0 EMO1 0 0 A1G20 A1G13 A1G12 A1G11 A1G10 1-12 00h 000B DTA0 EDT1 0 A1D21 A1D20 A1D13 A1D12 A1D11 A1D10 1-31 00h 000A HRA0 EHR1 0 A1H21 A1H20 A1H13 A1H12 A1H11 A1H10 0-23 00h 0009 MNA0 EMN1 A1M22 A1M21 A1M20 A1M13 A1M12 A1M11 A1M10 0-59 00h SCA0 ESC1 A1S22 A1S21 A1S20 A1S13 A1S12 A1S11 A1S10 0-59 00h Y2K 0 0 A0Y2K21 A0Y2K20 A0Y2K13 0 0 A0Y2K10 19/20 20h DWA1 EDW0 0 0 0 0 DY2 DY1 DY0 0-6 00h 0008 0007 0006 Alarm0 (E2PROM) 0005 YRA1 Unused - Default = RTC Year value 0004 MOA1 EMO0 0 0 A0G20 A0G13 A0G12 A0G11 A0G10 1-12 00h 0003 DTA1 EDT0 0 A0D21 A0D20 A0D13 A0D12 A0D11 A0D10 1-31 00h 0002 HRA1 EHR0 0 A0H21 A0H20 A0H13 A0H12 A0H11 A0H10 0-23 00h 0001 MNA1 EMN0 A0M22 A0M21 A0M20 A0M13 A0M12 A0M11 A0M10 0-59 00h 0000 SCA1 ESC0 A0S22 A0S21 A0S20 A0S13 A0S12 A0S11 A0S10 0-59 00h Characteristics subject to change without notice. 4 of 20 X1203 REAL TIME CLOCK REGISTERS Year 2000 (Y2K) The X1203 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. 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-23-4-5-6-0-1-2-... The assignment of a numerical 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. 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. 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 X1203 does not correct for the leap year in the year 2100. 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). Table 2. Status Register (SR) Addr 7 6 5 4 3 2 003Fh BAT AL1 AL0 x x RWEL Default 0 0 0 0 0 0 1 0 WEL RTCF 0 1 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. 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. 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. 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. Characteristics subject to change without notice. 5 of 20 X1203 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’. 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. CONTROL REGISTERS 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. 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. 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. 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. 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. 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 pulse is about 30ms in duration. All alarm 0 mask options are available, so this becomes a very flexible long term repeat trigger. 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.) – 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 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. Characteristics subject to change without notice. 6 of 20 X1203 – 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. 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. 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. 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 and SCL lines for the start condition and will not respond to any command until this condition has been met. See Figure 4. Figure 3. Valid Data Changes on the SDA Bus SCL SDA Data Stable Data Change 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 and SCL lines for the start condition and will not respond to any command until this condition has been met. See Figure 4. Data Stable 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. See Figure 4. Figure 4. Valid Start and Stop Conditions SCL SDA Start Stop Characteristics subject to change without notice. 7 of 20 X1203 Figure 5. Acknowledge Response From Receiver SCL from Master 1 8 9 Data Output from Transmitter Data Output from Receiver Start 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. 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 – 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. Acknowledge WRITE OPERATIONS Byte Write For a byte write operation, the device requires the slave address byte and the CCR address bytes. This gives the master access to any one of the words in the CCR. (Note: Prior to writing to the CCR, the master must write a 02h, then 06h to the status register in two preceeding operations to enable the write operation. See “Writing to the Clock/Control Registers” on page 6.) Upon receipt of each address byte, the X1203 responds with an acknowledge. After receiving both address bytes the X1203 awaits the eight bits of data. After receiving the 8 data bits, the X1203 again responds with an acknowledge. The master then terminates the transfer by generating a stop condition. The X1203 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. Page Write The X1203 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 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 preceeding operations to enable the write operation. See “Writing to the Clock/Control Registers” on page 6.) Characteristics subject to change without notice. 8 of 20 X1203 Figure 6. Byte Write Sequence S t a r t Signals from the Master SDA Bus Slave Address CCR Address 1 11 0 1 1 1 1 0 Signals from the Slave CCR Address 0 S t o p Data 0 0 0 0 00 0 0 A C K A C K A C K A C K Figure 7. Page Write Sequence Signals from the Master SDA Bus Signals from the Slave S t a r t (1 ≤ n ≤ 8) Slave Address CCR Address 0 CCR Address 1 1 1 0 11 1 1 0 Data (1) S t o p Data (n) 0 0 0 0 0 0 00 A C K After the receipt of each byte, the X1203 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. If the master supplies more than 8 bytes of data, then the previously loaded data is over written by the new data, one byte at a time. 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 7 for the address, acknowledge, and data transfer sequence. 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. A C K A C K A C K 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 non volatile 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 Figure 8. Characteristics subject to change without notice. 9 of 20 X1203 Figure 8. Acknowledge Polling Sequence READ OPERATIONS There are three basic read operations: Current Address Read, Random Read, and Sequential Read. Byte load completed by issuing STOP. Enter ACK Polling 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. Issue START Issue Slave Address Byte (Read or Write) ACK returned? Issue STOP 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 9 for the address, acknowledge, and data transfer sequence. NO YES non volatile write Cycle complete. Continue command sequence? NO 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. Issue STOP YES Continue normal Read or Write command sequence PROCEED Figure 9. Current Address Read Sequence Signals from the Master SDA Bus Signals from the Slave S t a r t S t o p Slave Address 1 1 0 1 1 1 1 1 A C K Data Characteristics subject to change without notice. 10 of 20 X1203 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. The master issues the start condition and the Slave Address Byte, receives an acknowledge, then issues the CCR Address Bytes. After acknowledging receipt of the CCR 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 10 for the address, 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 X1203 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 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. Figure 10. Random Address Read Sequence Signals from the Master SDA Bus S t a r t Slave Address 0 00 0 0 00 0 A C K Signals from the Slave CCR Address 0 CCR Address 1 11 0 1 1 1 1 0 S t a r t 1 1 0 1 11 1 1 A C K A C K 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. S t o p Slave Address A C K Data 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 automatically, allowing the entire register contents to be serially read during one operation. At the end of the register space the counter “rolls over” to the first location in the register and the device continues to output data for each acknowledge received. Refer to Figure 12 for the acknowledge and data transfer sequence. Figure 11. Sequential Read Sequence Signals from the Master SDA Bus Signals from the Slave Slave Address A C K A C K S t o p A C K 1 A C K Data (1) Data (2) Data (n-1) Data (n) (n is any integer greater than 1) Characteristics subject to change without notice. 11 of 20 X1203 DEVICE ADDRESSING 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 CCR. 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. 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 1101111. Upon a correct compare, the device outputs an acknowledge on the SDA line. Following the slave byte is a two byte CCR address. The CCR address is either supplied by the master device or obtained from an internal counter. In a random read operation, the slave byte in the “dummy write” portion must match the slave byte in the “read” section. That is, for a random read of the clock/ control registers, the slave byte must be 1101111x in both places. Figure 12. Slave Address, Word Address, and Data Bytes (64 Byte pages) Device Identifier 1 R/W Slave Address Byte Byte 0 1 0 1 1 0 0 0 0 0 0 0 High Order Word Address Byte 1 - X1202 A7 A6 A5 A4 A3 A2 A1 A0 Low Order Word Address Byte 2 - X1202 D7 D6 D5 D4 D3 D2 D1 D0 Data Byte Byte 3 0 1 1 Characteristics subject to change without notice. 12 of 20 X1203 ABSOLUTE MAXIMUM RATINGS 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 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. DC OPERATING CHARACTERISTICS (Temperature = -40°C to +85°C, unless otherwise stated.) Symbol VCC VBACK Parameter Min. Typ. Max. Unit Main power supply 2.7 5.5 V Backup power supply 1.8 5.5 V V VCB Switch to backup supply VCC = VBACK = -0.2 VBACK -0.1 VBC Switch to main supply VCC = VBACK VBACK +0.1 ICC1 Active supply current ICC2 Program supply current (non-volatile) ICC3 Timekeeping current ICC4 Main supply current IBACK1 Timekeeping current IBACK2 Backup supply current Notes 2 2 VCC = 2.7V 1.2 µA VCC = 5V 1.7 µA VCC = 2.7V 1.5 µA VCC = 5V 3.0 µA VCC = 2.7V 1.2 µA VCC = 5V 1.7 µA VCC = 2.7V 3.8 5 VCC = 5V 7.5 10 µA VBACK = 1.8V 500 µA VBACK = 5V 1.5 µA VBACK= 1.8V 1.6 3 µA VBACK = 5V 7.5 10 µA 3, 5, 10 2, 3, 5, 11 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.2 or VBACK x 0.2 V 2, 9 VIH Input HIGH voltage 2 VCC + 0.5 VBACK + 0.5 V 2, 9 VHYS Schmitt trigger input hysteresis VOL Output LOW voltage VOH Output HIGH voltage Vcc related level .05 x VCC or .05 x VBACK V 1.8V 0.4 5V 0.4 1.8V 1.6 5V 2.4 V 8 V Characteristics subject to change without notice. 13 of 20 X1203 Notes: (1) The device enters the active state after any start, and remains active: for 9 clock cycles if the device select bits in the slave address byte are incorrect or until 200nS after a stop ending a read or write operation. (2) The device enters the program state 200nS after a stop ending a write operation and continues for t WC. (3) The device goes into the Timekeeping state 200nS after any stop, except those that initiate a non volatile write cycle; t WC after a stop that initiates a non volatile write cycle; or 9 clock cycles after any start that is not followed by the correct device select bits in the slave address byte. (4) For reference only and not tested. (5) VIL = VCC x 0.1, VIH = VCC x 0.9, fSCL = 400KHz, SDA = open (6) VIL = VCC x 0.1, VIH = VCC x 0.9, fSCL = 400KHz, fSDA = 400KHz, VCC = 1.22 x VCC Min. (7) VCC = 0V. (8) VBACK= 0V. (9) VSDA=VSCL=VCC, Others=GND or VCC (10)VSDA=VSCL=VBACK, Others=GND or VBACK (11)VSDA = GND to VCC, VCLK = GND or VCC (12)IOL = 3.0mA at 5V, 1.5mA at 1.8V (13)IOH = -1.0mA at 5V, -0.4mA at 1.8V (14)Threshold voltages based on the higher of Vcc or Vback. (16)Driven by external 32.768KHz wave oscillator on X1, X2 open. (17)Using recommended crystal and oscillator network applied to X1 and X2 (25°C). Periodically sampled and not 100% tested. Capacitance (TA = 25°C, f = 1.0 MHz, VCC = 5V) Symbol COUT CIN (Notes:) (Notes:) Parameter Max Units Test Conditions Output Capacitance (SDA, IRQ) 8 pF VOUT = 0V Input Capacitance (SCL) 6 pF VIN = 0V Notes: (1) This parameter is periodically sampled and not 100% tested. AC CHARACTERISTICS EQUIVALENT AC OUTPUT LOAD CIRCUIT FOR VCC = 5V 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 Figure 13. Standard Output Load for testing the device with VCC = 5.0V 5.0V 1533Ω For VOL= 0.4V and IOL = 3 mA SDA 100pF Characteristics subject to change without notice. 14 of 20 X1203 AC SPECIFICATIONS TA = -55°C to +125°C, VCC = +2.7V to +5.5V, unless otherwise specified. Symbol Min. Max. Units SCL clock frequency 0 400 KHz tIN 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 fSCL Parameter nS 0.9 µ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 Data output hold time 50 nS tDH SDA and SCL rise time tR tF SDA and SCL fall time Cb Capacitive load for each bus line 20 +.1Cb(3) 300 nS 20 +.1Cb(3) 300 nS 400 pF Notes: (1) Typical values are for TA = 25°C and VCC = 5.0V (2) This parameter is periodically sampled and not 100% tested. (3) Cb = total capacitance of one bus line in pF. TIMING DIAGRAMS Bus Timing tHIGH tF SCL tLOW tR tSU:DAT tSU:STA SDA IN tHD:STA tHD:DAT tSU:STO tAA tDH tBUF SDA OUT Characteristics subject to change without notice. 15 of 20 X1203 Write Cycle Timing SCL SDA 8th Bit of Last Byte ACK tWC Stop Condition Start Condition Power Up Timing Symbol (1) (1) tPUR tPUW Parameter Min. Typ() Max. Units Time from power up to read 1 mS Time from power up to write 5 mS Notes: (1) 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. (2) Typical values are for TA = 25˚C and VCC = 5.0V Nonvolatile Write Cycle Timing Symbol (1) tWC Parameter Write Cycle Time Min. Typ.(1) Max. Units 5 10 mS Notes: (1) 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. Characteristics subject to change without notice. 16 of 20 X1203 8-Lead Plastic Small Outline Gull Wing Package Type S 0.150 (3.80) 0.228 (5.80) 0.158 (4.00) 0.244 (6.20) Pin 1 Index Pin 1 0.014 (0.35) 0.019 (0.49) 0.188 (4.78) 0.197 (5.00) (4X) 7° 0.053 (1.35) 0.069 (1.75) 0.004 (0.19) 0.010 (0.25) 0.050 (1.27) 0.010 (0.25) X 45° 0.020 (0.50) 0.050"Typical 0.050" Typical 0° - 8° 0.0075 (0.19) 0.010 (0.25) 0.250" 0.016 (0.410) 0.037 (0.937) 0.030" Typical 8 Places FOOTPRINT NOTE: ALL DIMENSIONS IN INCHES (IN P ARENTHESES IN MILLIMETERS) Characteristics subject to change without notice. 17 of 20 X1203 8-Lead Plastic, TSSOP, Package Type V .025 (.65) BSC .169 (4.3) .252 (6.4) BSC .177 (4.5) .114 (2.9) .122 (3.1) .047 (1.20) .0075 (.19) .0118 (.30) .002 (.05) .006 (.15) .010 (.25) Gage Plane 0° – 8° Seating Plane .019 (.50) .029 (.75) (4.16) (7.72) Detail A (20X) (1.78) .031 (.80) .041 (1.05) See Detail “A” (0.42) (0.65) All Measurements Are Typical NOTE: ALL DIMENSIONS IN INCHES (IN P ARENTHESES IN MILLIMETERS) Characteristics subject to change without notice. 18 of 20 X1203 ORDERING INFORMATION VCC Range 2.7-5.5V Package Operating Temperature Range Part Number RESET (LOW) 8 Pin PDIP 0–70°C X1203P 0–70°C X1203S8 -40–85°C X1203S8I 0–70°C X1203V8 8L SOIC 8L TSSOP Characteristics subject to change without notice. 19 of 20 X1203 PART MARK INFORMATION 8-Lead TSSOP EYWW XXXXX X1203 = 2.7 to 5.5V, 0 to +70°C 1203I = 2.7 to 5.5V, -40 to +85°C 8Pin PDIP/8-Lead SOIC/14-Lead TSSOP X1203 X XX Blank = 8-Lead SOIC Blank = 2.7 to 5.5V, 0 to +70°C I = 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, or licenses are implied. TRADEMARK DISCLAIMER: Xicor and the Xicor logo are registered trademarks of Xicor, Inc. AutoStore, Direct Write, Block Lock, SerialFlash, MPS, and XDCP are also trademarks of Xicor, Inc. All others belong to their respective owners. U.S. PATENTS Xicor products are covered by one or more of the following U.S. Patents: 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; 4,980,859; 5,012,132; 5,003,197; 5,023,694; 5,084,667; 5,153,880; 5,153,691; 5,161,137; 5,219,774; 5,270,927; 5,324,676; 5,434,396; 5,544,103; 5,587,573; 5,835,409; 5,977,585. 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. Characteristics subject to change without notice. 20 of 20