19-6425; Rev 0; 8/12 DS1339A Low-Current, I2C, Serial Real-Time Clock General Description The DS1339A serial real-time clock (RTC) is a lowpower clock/date device with two programmable timeof-day alarms and a programmable square-wave output. Address and data are transferred serially through an I2C bus. The clock/date provides seconds, minutes, hours, day, date, month, and year information. The date at the end of the month is automatically adjusted for months with fewer than 31 days, including corrections for leap year. The clock operates in either the 24-hour or 12-hour format with AM/PM indicator. The DS1339A has a builtin power-sense circuit that detects power failures and automatically switches to the backup supply, maintaining time, date, and alarm operation. Applications Features SDrop-In Replacement for DS1339 SReal-Time Clock (RTC) Counts Seconds, Minutes, Hours, Day, Date, Month, and Year with Leap-Year Compensation up to 2200 SI2C Serial Interface STwo Time-of-Day Alarms SProgrammable Square-Wave Output SOscillator Stop Flag SAutomatic Power-Fail Detect and Switch Circuitry STrickle-Charge Capability Ordering Information appears at end of data sheet. Handhelds (GPS, POS Terminals) Consumer Electronics (Set-Top Box, Digital Recording, Network Appliance) For related parts and recommended products to use with this part, refer to www.maxim-ic.com/DS1339A.related. Office Equipment (Fax/Printers, Copier) Medical (Glucometer, Medicine Dispenser) Telecommunications (Routers, Switches, Servers) Other (Utility Meter, Vending Machine, Thermostat, Modem) DS1339A Functional Diagram 32.768kHz SQW/INTB 8.192kHz 4.096kHz /4 X1 X2 /2 /4096 VCC POWER CONTROL SCL SDA N SERIAL BUS INTERFACE AND ADDRESS REGISTER N ALARMS, TRICKLE CHARGER, AND CONTROL REGISTERS OSCILLATOR AND DIVIDER VBACKUP 1Hz MUX/ BUFFER CONTROL LOGIC CLOCK AND CALENDAR REGISTERS USER BUFFER (7 BYTES) For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com. 1 DS1339A Low-Current, I2C, Serial Real-Time Clock ABSOLUTE MAXIMUM RATINGS Voltage Range on Any Pin Relative to Ground.....-0.3V to +6.0V Operating Temperature Range (Noncondensing).....-40NC to +85NC Storage Temperature Range............................. -55NC to +125NC Lead Temperature (soldering, 10 seconds)....................+300NC Soldering Temperature (reflow).......................................+260NC Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. PACKAGE THERMAL CHARACTERISTICS (Note 1) µSOP Junction-to-Ambient Thermal Resistance (BJA)......206.3NC/W Junction-to-Case Thermal Resistance (BJC)................42NC/W Note 1: Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a fourlayer board. For detailed information on package thermal considerations, refer to www.maxim-ic.com/thermal-tutorial. RECOMMENDED OPERATING CONDITIONS (TA = -40NC to +85NC, unless otherwise noted.) (Note 2) PARAMETER Supply Voltage SYMBOL CONDITIONS MIN TYP MAX UNITS V VCC 1.71 3.3 5.5 VBACKUP 1.3 3.0 3.7 VBACKMIN 1.15 1.3 Logic 1 VIH 0.7 x VCC 5.5 V Logic 0 VIL -0.3 0.3 x VCC V Power-Fail Voltage VPF 1.51 1.61 1.71 V MIN TYP MAX UNITS Backup Supply Voltage V DC ELECTRICAL CHARACTERISTICS (VCC = MIN to MAX, VBACKUP = MIN to MAX, TA = -40NC to +85NC.) (Note 2) PARAMETER SYMBOL CONDITIONS Input Leakage ILI (Note 3) -0.1 0.1 FA I/O Leakage ILO (Note 4) -0.1 0.1 FA Logic 0 Out (SDA or SQW/INT) VOL = 0.4V, VCC R VCCMIN IOL (Note 4) 3 mA Logic 0 Out (SQW/INT) VOL = 0.2V, VCC = 0V, VBAT R VBATMIN IOL (Note 4) 250 FA VCC Active Current ICCA (Note 5) 450 FA VCC Standby Current ICCS (Note 6) 200 FA R1 (Note 7) Trickle-Charger Resistor Register 10h = A5h, VCC = Typ, VBACKUP = 0V 200 I 2 DS1339A Low-Current, I2C, Serial Real-Time Clock DC ELECTRICAL CHARACTERISTICS (continued) (VCC = MIN to MAX, VBACKUP = MIN to MAX, TA = -40NC to +85NC, unless otherwise noted.) (Note 2) PARAMETER SYMBOL Trickle-Charger Resistor Register 10h = A6h, VCC = Typ, VBACKUP = 0V R2 2000 I Trickle-Charger Resistor Register 10h = A7h, VCC = Typ, VBACKUP = 0V R3 4000 I VBACKUP Leakage Current CONDITIONS IBKLKG MIN TYP MAX UNITS -100 25 200 nA MIN TYP MAX UNITS DC ELECTRICAL CHARACTERISTICS (VCC = 0V, VBACKUP = MIN to MAX, TA = -40NC to +85NC, unless otherwise noted.) (Note 2) PARAMETER SYMBOL CONDITIONS VBACKUP Current EOSC = 0, SQW Off IBKOSC (Note 8) 300 600 nA VBACKUP Current EOSC = 0, SQW On IBKSQW (Note 8) 500 1100 nA VBACKUP Current EOSC = 1 IBKDR 10 200 nA TYP MAX UNITS 400 kHz AC ELECTRICAL CHARACTERISTICS (VCC = MIN to MAX, TA = -40NC to +85NC, unless otherwise noted.) (Note 2, Figure 1) PARAMETER SYMBOL CONDITIONS MIN SCL Clock Frequency fSCL 0.03 Bus Free Time Between a STOP and START Condition tBUF 1.3 Fs 0.6 Fs Hold Time (Repeated) START Condition tHD:STA (Note 9) Low Period of SCL Clock tLOW 1.3 Fs High Period of SCL Clock tHIGH 0.6 Fs Setup Time for a Repeated START Condition tSU:STA 0.6 Fs Data Hold Time tHD:DAT (Notes 10, 11) Data Setup Time tSU:DAT (Note 12) 100 Rise Time of Both SDA and SCL Signals tR (Note 13) 20 + 0.1CB 300 ns Fall Time of Both SDA and SCL Signals tF (Note 13) 20 + 0.1CB 300 ns Setup Time for STOP Condition tSU:STO 0 0.6 0.9 Fs ns Fs 3 DS1339A Low-Current, I2C, Serial Real-Time Clock AC ELECTRICAL CHARACTERISTICS (continued) (VCC = MIN to MAX, TA = -40NC to +85NC, unless otherwise noted.) (Note 2, Figure 1) PARAMETER Capacitive Load for Each Bus Line SYMBOL CONDITIONS MIN TYP MAX UNITS 400 pF CB (Note 13) I/O Capacitance (SDA, SCL) CI/O (Note 14) 10 pF Oscillator Stop Flag (OSF) Delay tOSF (Note 15) 100 ms tTIMEOUT (Note 16) 35 ms MAX UNITS Timeout Interval 25 POWER-UP/DOWN CHARACTERISTICS (TA = -40NC to +85NC, unless otherwise noted.) (Note 2, Figure 2) PARAMETER SYMBOL CONDITIONS (Note 17) MIN TYP Recovery at Power-Up tREC 2 ms VCC Slew Rate; VPF to 0V VCC Slew Rate; 0V to VPF tVCCF 1 1/50 V/Fs tVCCR 1/1 V/Fs WARNING: Under no circumstances are negative undershoots, of any amplitude, allowed when device is in battery-backup mode. Note 2: Limits are 100% production tested at TA = +25NC and TA = +85NC. Limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization. Typical values are not guaranteed. Note 3: SCL only. Note 4: SDA and SQW/INT. Note 5:ICCA—SCL at fSCL max, VIL = 0.0V, VIH = VCC, trickle charger disabled. Note 6: Specified with the I2C bus inactive, VIL = 0.0V, VIH = VCC, trickle charger disabled. Note 7:VCC must be less than 3.63V if the 200I resistor is selected. Note 8: Using recommended crystal on X1 and X2. Note 9: After this period, the first clock pulse is generated. Note 10:A device must internally provide a hold time of at least 300ns for the SDA signal (referred to the VIHMIN of the SCL signal) to bridge the undefined region of the falling edge of SCL. Note 11:The maximum tHD:DAT need only be met if the device does not stretch the low period (tLOW) of the SCL signal. Note 12:A fast-mode device can be used in a standard-mode system, but the requirement tSU:DAT R to 250ns must then be met. This is automatically the case if the device does not stretch the low period of the SCL signal. If such a device does stretch the low period of the SCL signal, it must output the next data bit to the SDA line tR(MAX) + tSU:DAT = 1000 + 250 = 1250ns before the SCL line is released. Note 13:CB—total capacitance of one bus line in pF. Note 14:Guaranteed by design; not production tested. Note 15:The parameter tOSF is the period of time the oscillator must be stopped for the OSF flag to be set. Note 16: The DS1339A can detect any single SCL clock held low longer than tTIMEOUTMIN. The device’s I2C interface is in reset state and can receive a new START condition when SCL is held low for at least tTIMEOUTMAX. Once the device detects this condition, the SDA output is released. The oscillator must be running for this function to work. Note 17:This delay applies only if the oscillator is running. If the oscillator is disabled or stopped, no power-up delay occurs. 4 DS1339A Low-Current, I2C, Serial Real-Time Clock SDA tBUF tF tLOW tSP tHD:STA SCL tHD:STA tHIGH tR tHD:DAT STOP START tSU:STA tSU:STO tSU:DAT REPEATED START NOTE: TIMING IS REFERENCED TO VIL(MAX) AND VIH(MIN). Figure 1. I2C Timing VCC VPF tREC tVCCF tVCCR SCL RECOGNIZED DON’T CARE RECOGNIZED SDA VALID HIGH IMPEDANCE VALID Figure 2. Power-Up/Down Timing 5 DS1339A Low-Current, I2C, Serial Real-Time Clock Typical Operating Characteristics (VCC = 3.3V, TA = +25NC, unless otherwise noted.) TA = +25°C 80 250 200 40 2.7 3.7 4.7 fSCL = 1kHz 150 TA = -40°C 2.7 1.7 3.7 4.7 5.7 450 400 300 2.3 1.3 DS1339A toc03 4.3 0.6 0.5 0.4 0.3 0.2 0.1 TA = -40°C 250 VCC = 1.71V, TA = +25°C 0.7 TA = +25°C 350 3.3 BACKUP VOLTAGE (V) 0.8 DS1339A toc04 500 3.3 0 4.3 0 2 4 6 8 BACKUP VOLTAGE (V) OUTPUT CURRENT (mA) INT/SQW OUTPUT CURRENT vs. OUTPUT VOLTAGE TRICKLE CHARGER RESISTORS vs. POWER SUPPLY VOLTAGE 4000 DS1339A toc06 VBACKUP = 1.3V, VCC = 0V, TA = +25°C 3500 TA = +25°C 3000 RESISTANCE (Ω) 0.3 2.3 1.3 INT/SQW OUTPUT CURRENT vs. OUTPUT VOLTAGE TA = +85°C 0.4 TA = -40°C SUPPLY VOLTAGE (V) OUTPUT VOLTAGE (V) 550 200 100 VCC = 0V, SQW ON, IOUT = 0mA 600 250 50 5.7 TA = +25°C 300 150 BACKUP SUPPLY CURRENT vs. BACKUP VOLTAGE 650 350 100 SUPPLY VOLTAGE (V) BACKUP CURRENT (nA) 1.7 fSCL = 100kHz TA = +85°C 400 DS1339A toc05 60 fSCL = 400kHz 300 VCC = 0V, SQW OFF 450 0.2 4kΩ SELECTED 2500 2000 1500 2kΩ SELECTED 1000 0.1 10 DS1339A toc07 100 350 500 BACKUP CURRENT (nA) TA = +85°C 120 OUTPUT VOLTAGE (V) SUPPLY CURRENT (µA) 140 BACKUP SUPPLY CURRENT vs. BACKUP VOLTAGE VCC = SDA, VBACKUP = 3V 400 SUPPLY CURRENT (mA) VCC = SCL = SDA, VBACKUP = 3V 160 450 DS1339A toc01 180 POWER SUPPLY CURRENT vs. SCL FREQUENCY DS1339A toc02 POWER SUPPLY CURRENT vs. POWER SUPPLY VOLTAGE 200Ω SELECTED 500 0 0 0 0.5 1.0 1.5 OUTPUT CURRENT (mA) 2.0 1.7 2.7 3.7 4.7 5.7 POWER SUPPLY VOLTAGE (V) 6 DS1339A Low-Current, I2C, Serial Real-Time Clock Pin Configuration TOP VIEW X1 1 X2 2 VBACKUP 3 GND 4 + 8 DS1339A VCC 7 SQW/INT 6 SCL 5 SDA µSOP Pin Description PIN NAME 1 X1 2 X2 FUNCTION Connections for Standard 32.768kHz Quartz Crystal. The internal oscillator circuitry is designed for operation with a crystal having a specified load capacitance (CL) of 6pF. For more information about crystal selection and crystal layout considerations, see the Applications Information section and refer to Application Note 58: Crystal Considerations with Dallas Real-Time Clocks. Secondary Power Supply. Supply voltage must be held between 1.3V and 3.7V for proper operation. This pin can be connected to a primary cell, such as a lithium coin cell. Additionally, this pin can be connected to a rechargeable cell or a super cap when used in conjunction with the trickle-charge feature. Diodes should not be placed in series between the backup source and the VBACKUP input, or improper operation will result. If a backup supply is not required, VBACKUP must be grounded. UL recognized to ensure against reverse charging current when used with a primary lithium cell. For more information, visit www.maxim-ic.com/qa/info/ul. 3 VBACKUP 4 GND Ground 5 SDA Serial Data Input/Output. SDA is the input/output pin for the I2C serial interface. The SDA pin is an opendrain output and requires an external pullup resistor. The pull up voltage may be up to 5.5V regardless of the voltage on VCC. 6 SCL Serial Clock Input. SCL is used to synchronize data movement on the I2C serial interface. The pull up voltage may be up to 5.5V regardless of the voltage on VCC. 7 SQW/INT 8 VCC Square-Wave/Interrupt Output. Programmable square-wave or interrupt output signal. The SQW/INT pin is an open-drain output and requires an external pullup resistor. The pull up voltage may be up to 5.5V regardless of the voltage on VCC. If not used, this pin may be left unconnected. Primary Power Supply. When voltage is applied within normal limits, the device is fully accessible and data can be written and read. When a backup supply is connected and VCC is below VPF, reads and writes are inhibited. The timekeeping and alarm functions operate when the device is powered by VCC or VBACKUP. 7 DS1339A Low-Current, I2C, Serial Real-Time Clock Detailed Description The DS1339A serial real-time clock (RTC) is a lowpower clock/date device with two programmable timeof-day alarms and a programmable square-wave output. Address and data are transferred serially through an I2C bus. The clock/date provides seconds, minutes, hours, day, date, month, and year information. The date at the end of the month is automatically adjusted for months with fewer than 31 days, including corrections for leap year. The clock operates in either the 24-hour or 12-hour format with AM/PM indicator. The DS1339A has a builtin power-sense circuit that detects power failures and automatically switches to the backup supply, maintaining time, date, and alarm operation. Table 1. Power Control Power Control SUPPLY CONDITION READ/ WRITE ACCESS POWERED BY VCC < VPF, VCC < VBACKUP No VBACKUP VCC < VPF, VCC > VBACKUP VCC > VPF, VCC < VBACKUP No VCC Yes VCC VCC > VPF, VCC > VBACKUP Yes VCC Table 2. Crystal Specifications* PARAMETER Nominal Frequency Series Resistance Load Capacitance SYMBOL fO MIN TYP CL MAX 32.768 ESR UNITS kHz 60 6 Operation The DS1339A operates as a slave device on the serial bus. Access is obtained by implementing a START condition and providing a device identification code followed by data. Subsequent registers can be accessed sequentially until a STOP condition is executed. The device is fully accessible and data can be written and read when VCC is greater than VPF. However, when VCC falls below VPF, the internal clock registers are blocked from any access. If VPF is less than VBACKUP, the device power is switched from VCC to VBACKUP when VCC drops below VPF. If VPF is greater than VBACKUP, the device power is switched from VCC to VBACKUP when VCC drops below VBACKUP. The registers are maintained from the VBACKUP source until VCC is returned to nominal levels. The Functional Diagram shows the main elements of the serial real-time clock. kI pF *The crystal, traces, and crystal input pins should be isolated from RF generating signals. Refer to Application Note 58: Crystal Considerations for Dallas Real-Time Clocks for additional specifications. The power-control function is provided by a precise, temperature-compensated voltage reference and a comparator circuit that monitors the VCC level. The device is fully accessible and data can be written and read when VCC is greater than VPF. However, when VCC falls below VPF, the internal clock registers are blocked from any access. If VPF is less than VBACKUP, the device power is switched from VCC to VBACKUP when VCC drops below VPF. If VPF is greater than VBACKUP, the device power is switched from VCC to VBACKUP when VCC drops below VBACKUP. The registers are maintained from the VBACKUP source until VCC is returned to nominal levels (Table 1). After VCC returns above VPF, read and write access is allowed after tREC (Figure 2). On the first application of power to the device the time and date registers are reset to 01/01/00 01 00:00:00 (DD/MM/YY DOW HH:MM:SS). Oscillator Circuit The DS1339A uses an external 32.768kHz crystal. The oscillator circuit does not require any external resistors or capacitors to operate. Table 2 specifies several crystal parameters for the external crystal. The Functional Diagram shows a basic schematic of the oscillator circuit. The startup time is usually less than 1 second when using a crystal with the specified characteristics. 8 DS1339A Low-Current, I2C, Serial Real-Time Clock Clock Accuracy The accuracy of the clock is dependent upon the accuracy of the crystal and the accuracy of the match between the capacitive load of the oscillator circuit and the capacitive load for which the crystal was trimmed. Additional error is added by crystal frequency drift caused by temperature shifts. External circuit noise coupled into the oscillator circuit may result in the clock running fast. Figure 6 shows a typical PC board layout for isolating the crystal and oscillator from noise. Refer to Application Note 58: Crystal Considerations with Dallas Real-Time Clocks for detailed information RTC Address Map Table 3 shows the address map for the DS1339A registers. During a multibyte access, when the address pointer reaches the end of the register space (10h), it wraps around to location 00h. On an I2C START or address pointer incrementing to location 00h, the current time is transferred to a second set of registers. The time information is read from these secondary registers, while the clock may continue to run. This eliminates the need to re-read the registers in case of an update of the main registers during a read. Time and Date Operation The time and date information is obtained by reading the appropriate register bytes. Table 3 shows the RTC registers. The time and date are set or initialized by writing the appropriate register bytes. The contents of the time and date registers are in the BCD format. The DS1339A can be run in either 12-hour or 24-hour mode. Bit 6 of the HOURS register is defined as the 12- or 24-hour mode-select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is the AM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the 20-hour bit (20 to 23 hours). All hours values, including the alarms, must be re-entered whenever the 12/24-hour mode bit is changed. The Century bit (bit 7 of the MONTH register) is toggled when the YEAR register overflows from 99 to 00. If the Century bit is logic 0, the year will be designated as a Leap Year and February will contain 29 days. If the Century bit is logic 1, the year will not be designated as a Leap Year and February will contain 28 days. The Day-Of-Week register increments at midnight. Values that correspond to the day of week are user-defined, but must be sequential (i.e., if 1 equals Sunday, then 2 equals Monday and so on). Illogical time and date entries result in undefined operation. When reading or writing the time and date registers, secondary (user) buffers are used to prevent errors when the internal registers update. When reading the time and date registers, the user buffers are synchronized to the internal registers on a START or when the address pointer rolls over to 00h. The countdown chain is reset whenever the seconds register is written. Write transfers occurs on the acknowledge pulse from the device. To avoid rollover issues, once the countdown chain is reset, the remaining time and date registers must be written within one second. If enabled, the 1Hz square-wave output transitions high 500ms after the seconds data transfer, provided the oscillator is already running. 9 DS1339A Low-Current, I2C, Serial Real-Time Clock Table 3. Timekeeping Register Map ADDRESS BIT 7 FUNCTION RANGE 00h 0 BIT 6 10 Seconds Seconds Seconds 00-59 01h 0 10 Minutes Minutes Minutes 00-59 Hours 01-12 +AM/PM 00-23 Day 01-07 02h 0 12/24 03h 0 0 04h 0 0 05h Century BIT 5 AM/PM 20 Hour 10 Hour 0 0 BIT 3 BIT 2 BIT 1 BIT 0 Hours 0 Day 10 Date 0 06h BIT 4 10 Month 0 10 Year Date 01-31 Month Month 01-12 +Century Year Year 00-99 07h A1M1 10 Seconds Seconds Alarm 1 Seconds 00-59 08h A1M2 10 Minutes Minutes Alarm 1 Minutes 00-59 09h A1M3 12/24 Hours Alarm 1 Hours 01-12 +AM/PM 00-23 0Ah A1M4 DY/DT Day, Date Alarm 1 Day, Alarm 1 Date 01-07, 01-31 0Bh A2M2 Minutes Alarm 2 Minutes 00-59 0Ch A2M3 12/24 Hours Alarm 2 Hours 01-12 +AM/PM 00-23 0Dh A2M4 DY/DT Day, Date Alarm 2 Day, Alarm 2 Date 01-07, 01-31 0Eh EOSC OSF 0 BBSQI RS2 RS1 INTCN A2IE A1IE Control - 0 0 0 0 0 A2F A1F Status - ROUT0 Trickle Charger - 0Fh 10h TCS3 AM/PM 10 Hour 20 Hour 10 Date 10 Minutes TCS2 AM/PM 10 Hour 20 Hour 10 Date TCS1 TCS0 DS1 DS0 ROUT1 “0” - reads as Logic 0. Note: Unless otherwise specified, the state of the registers are not defined when power is first applied or when VCC and VBACKUP fall below the VBACKUP(MIN). 10 DS1339A Low-Current, I2C, Serial Real-Time Clock Alarms The DY/DT bits (bit 6 of the alarm day/date registers) control whether the alarm value stored in bits 0 to 5 of that register reflects the day of the week or the date of the month. If DY/DT is written to a logic 0, the alarm is the result of a match with date of the month. If DY/DT is written to a logic 1, the alarm is the result of a match with day of the week. The DS1339A contains two time of day/date alarms. Alarm 1 can be set by writing to registers 07h to 0Ah. Alarm 2 can be set by writing to registers 0Bh to 0Dh. The alarms can be programmed (by the Alarm Enable and INTCN bits of the Control Register) to activate the SQW/INT output on an alarm match condition. Bit 7 of each of the time of day/date alarm registers are mask bits (Table 4). When all the mask bits for each alarm are logic 0, an alarm only occurs when the values in the timekeeping registers 00h to 06h match the values stored in the time of day/date alarm registers. The alarms can also be programmed to repeat every second, minute, hour, day, or date. Table 4 shows the possible settings. Configurations not listed in the table result in illogical operation. The device checks for an alarm match once per second. When the RTC register values match alarm register settings, the corresponding Alarm Flag ‘A1F’ or ‘A2F’ bit is set to logic 1. If the corresponding Alarm Interrupt Enable ‘A1IE’ or ‘A2IE’ is also set to logic 1 and the INTCN bit is set to logic 1, the alarm condition activates the SQW/INT signal. If the BBSQI bit is set to 1, the INT output activates while the part is being powered by VBACKUP. The alarm output remains active until the alarm flag is cleared by the user. Table 4. Alarm Mask Bits DY/DT ALARM1 REGISTER MASK BITS (BIT 7) ALARM RATE A1M4 A1M3 A1M2 A1M1 X 1 1 1 1 Alarm once per second X 1 1 1 0 Alarm when seconds match X 1 1 0 0 Alarm when minutes and seconds match X 1 0 0 0 Alarm when hours, minutes, and seconds match 0 0 0 0 0 Alarm when date, hours, minutes, and seconds match 1 0 0 0 0 Alarm when day, hours, minutes, and seconds match DY/DT ALARM2 REGISTER MASK BITS (BIT 7) ALARM RATE A2M4 A2M3 A2M2 X 1 1 1 Alarm once per minute (00 sec. of every minute) X 1 1 0 Alarm when minutes match X 1 0 0 Alarm when hours and minutes match 0 0 0 0 Alarm when date, hours, and minutes match 1 0 0 0 Alarm when day, hours, and minutes match 11 DS1339A Low-Current, I2C, Serial Real-Time Clock Control Register (0Eh) The control register controls the operation of the SQW/INT pin and provides oscillator status. Bit # Name POR BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 EOSC 0 0 BBSQI RS2 RS1 INTCN A2IE A1IE 0 0 1 1 0 0 0 Bit 7: Enable Oscillator (EOSC). When the EOSC bit is 0, the oscillator is enabled. When this bit is a 1, the oscillator is disabled. This bit is cleared (0) when power is first applied. Bit 5: Battery-Backed Square-Wave Interrupt (BBSQI). When set to logic 1, this bit enables the SQW/INT output functionality while the part is powered by VBACKUP. When set to logic 0, this bit disables the SQW/INT output while the part is powered by VBACKUP. Bits 4 and 3: Rate Select (RS2 and RS1). These bits control the frequency of the SQW/INT output when the squarewave has been enabled (INTCN=0). Table 5 lists the square-wave frequencies that can be selected with the RS bits. Bit 2: Interrupt Control (INTCN). This bit controls the relationship between the two alarms and the interrupt output pin. When the INTCN bit is set to logic 1, a match between the timekeeping registers and the Alarm 1 or Alarm 2 registers activate the SQW/INT pin (provided that the alarm is enabled). When the INTCN bit is set to logic 0, a square wave is output on the SQW/INT pin. This bit is set to logic 0 when power is first applied. Bit 1: Alarm 2 Interrupt Enable (A2IE). When set to a logic 1, this bit permits the Alarm 2 Flag (A2F) bit in the status register to assert SQW/INT (when INTCN = 1). When the A2IE bit is set to logic 0 or INTCN is set to logic 0, the A2F bit does not initiate an interrupt signal. The A2IE bit is disabled (logic 0) when power is first applied. Bit 0: Alarm 1 Interrupt Enable (A1IE). When set to logic 1, this bit permits the Alarm 1 Flag (A1F) bit in the status register to assert SQW/INT (when INTCN = 1). When the A1IE bit is set to logic 0 or INTCN is set to logic 0, the A1F bit does not initiate an interrupt signal. The A1IE bit is disabled (logic 0) when power is first applied. Table 5. SQW/INT Output INTCN RS2 RS1 A1IE 0 0 SQW/INT OUTPUT 1Hz A2IE 0 X X 0 0 1 4.096kHz X X 0 1 0 8.192kHz X X 0 1 1 32.768kHz X X 1 X X A1F 0 1 1 X X A2F 1 0 1 X X A2F + A1F 1 1 12 DS1339A Low-Current, I2C, Serial Real-Time Clock Status Register (0Fh) The control register controls the operation of the SQW/INT pin and provides oscillator status. Bit # BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 Name OSF 0 0 0 0 0 A2F A1F 1 0 0 0 0 0 0 0 POR Bit 7: Oscillator Stop Flag (OSF). A logic 1 in this bit indicates that the oscillator has stopped or was stopped for some time period and can be used to judge the validity of the clock and calendar data. This bit is edge triggered, and is set to logic 1 when the internal circuitry senses the oscillator has transitioned from a normal run state to a stopped condition. The following are examples of conditions that may cause the OSF bit to be set: The first time power is applied. The voltage present on VCC and VBAT are insufficient to support oscillation. The EOSC bit is set to 1, disabling the oscillator. External influences on the crystal (i.e., noise, leakage, etc.). This bit remains at logic 1 until written to logic 0. This bit can only be written to logic 0. Attempting to write OSF to logic 1 leaves the value unchanged. Bit 1: Alarm 2 Flag (A2F). A logic 1 in the Alarm 2 Flag bit indicates that the time matched the Alarm 2 registers. If the A2IE bit is a logic 1 and the INTCN bit is set to a logic 1, the SQW/INT pin is also asserted. A2F is cleared when written to logic 0. This bit can only be written to logic 0. Attempting to write to logic 1 leaves the value unchanged. Bit 0: Alarm 1 Flag (A1F). A logic 1 in the Alarm 1 Flag bit indicates that the time matched the Alarm 1 registers. If the A1IE bit is a logic 1 and the INTCN bit is set to a logic 1, the SQW/INT pin is also asserted. A1F is cleared when written to logic 0. This bit can only be written to logic 0. Attempting to write to logic 1 leaves the value unchanged. 13 DS1339A Low-Current, I2C, Serial Real-Time Clock Trickle Charger (10h) The simplified schematic in Figure 3 shows the basic components of the trickle charger. The trickle-charge select bits (TCS[3:0]) control the selection of the trickle charger. To prevent accidental enabling, only a pattern on 1010 enables the trickle charger. All other patterns disable the trickle charger. The trickle charger is disabled when power is first applied. The diode-select (DS[1:0]) bits select whether or not a diode is connected between VCC and VBACKUP. The ROUT[1:0] bits select the value of the resistor connected between VCC and VBACKUP. Table 6 shows the register settings. R1 200Ω VCC R2 2kΩ VBACKUP R3 4kΩ 1 0F 16 SELECT NOTE: ONLY 1010 CODE ENABLES CHARGER TRICKLECHARGE REGISTER 1 OF 2 SELECT TCS3 TCS2 TCS1 TCS0 DS1 DS0 BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 1 OF 3 SELECT TCS[3:0] = TRICKLE-CHARGE SELECT DS[1:0] = DIODE SELECT ROUT[1:0] = RESISTOR SELECT ROUT1 ROUT0 BIT 1 BIT 0 Figure 3. Trickle Charger Table 6. Trickle Charger Register (10h) BIT 7 TCS3 X X X 1 1 1 1 1 1 0 BIT 6 TCS2 X X X 0 0 0 0 0 0 0 BIT 5 TCS1 X X X 1 1 1 1 1 1 0 BIT 4 TCS0 X X X 0 0 0 0 0 0 0 BIT 3 DS1 0 1 X 0 1 0 1 0 1 0 BIT 2 DS0 0 1 X 1 0 1 0 1 0 0 BIT 1 ROUT1 X X 0 0 0 1 1 1 1 0 BIT 0 ROUT0 X X 0 1 1 0 0 1 1 0 FUNCTION Disabled Disabled Disabled No diode, 200I resistor One diode, 200I resistor No diode, 2kI resistor One diode, 2kI resistor No diode, 4kI resistor One diode, 4kI resistor Initial power-up values Warning: The ROUT value of 200I must not be selected whenever VCC is greater than 3.63V. The user determines diode and resistor selection according to the maximum current desired for battery or super cap charging. The maximum charging current can be calculated as illustrated in the following example. Assume that a 3.3V system power supply is applied to VCC and a super cap is connected to VBACKUP. Also assume that the trickle charger has been enabled with a diode and resistor R2 between VCC and VBACKUP. The maximum current IMAX would therefore be calculated as follows: IMAX = (3.3V - diode drop) / R2 ≈ (3.3V - 0.7V) / 2kI ≈ 1.3mA As the super cap or battery charges, the voltage drop between VCC and VBACKUP decreases and therefore the charge current decreases. 14 DS1339A Low-Current, I2C, Serial Real-Time Clock I2C Serial Port Operation identically to a normal START condition. See Figure 1 for applicable timing. I2C Slave Address Bit Write: Transitions of SDA must occur during the low state of SCL. The data on SDA must remain valid and unchanged during the entire high pulse of SCL plus the setup and hold time requirements (see Figure 1). Data is shifted into the device during the rising edge of the SCL. The DS1339A’s slave address byte is D0h. The first byte sent to the device includes the device identifier and the R/W bit (Figure 4). The device address sent by the I2C master must match the address assigned to the device. LSB MSB 1 1 0 1 DEVICE IDENTIFIER 0 0 0 R/W READ/ WRITE BIT Figure 4. Slave Address Byte I2C Definitions The following terminology is commonly used to describe I2C data transfers. Master Device: The master device controls the slave devices on the bus. The master device generates SCL clock pulses and START and STOP conditions. Slave Devices: Slave devices send and receive data at the master’s request. Bus Idle or Not Busy: Time between STOP and START conditions when both SDA and SCL are inactive and in their logic-high states. When the bus is idle it often initiates a low-power mode for slave devices. START Condition: A START condition is generated by the master to initiate a new data transfer with a slave. Transitioning SDA from high to low while SCL remains high generates a START condition. See Figure 1 for applicable timing. STOP Condition: A STOP condition is generated by the master to end a data transfer with a slave. Transitioning SDA from low to high while SCL remains high generates a STOP condition. See Figure 1 for applicable timing. Repeated START Condition: The master can use a repeated START condition at the end of one data transfer to indicate that it immediately initiates a new data transfer following the current one. Repeated STARTs are commonly used during read operations to identify a specific memory address to begin a data transfer. A repeated START condition is issued Bit Read: At the end a write operation, the master must release the SDA bus line for the proper amount of setup time (see Figure 1) before the next rising edge of SCL during a bit read. The device shifts out each bit of data on SDA at the falling edge of the previous SCL pulse and the data bit is valid at the rising edge of the current SCL pulse. Remember that the master generates all SCL clock pulses including when it is reading bits from the slave. Acknowledge (ACK and NACK): An Acknowledge (ACK) or Not Acknowledge (NACK) is always the 9th bit transmitted during a byte transfer. The device receiving data (the master during a read or the slave during a write operation) performs an ACK by transmitting a zero during the 9th bit. A device performs a NACK by transmitting a one during the 9th bit. Timing for the ACK and NACK is identical to all other bit writes. An ACK is the acknowledgment that the device is properly receiving data. A NACK is used to terminate a read sequence or as an indication that the device is not receiving data. Byte Write: A byte write consists of 8 bits of information transferred from the master to the slave (most significant bit first) plus a 1-bit acknowledgment from the slave to the master. The 8 bits transmitted by the master are done according to the bit write definition and the acknowledgment is read using the bit read definition. Byte Read: A byte read is an 8-bit information transfer from the slave to the master plus a 1-bit ACK or NACK from the master to the slave. The 8 bits of information that are transferred (most significant bit first) from the slave to the master are read by the master using the bit read definition, and the master transmits an ACK using the bit write definition to receive additional data bytes. The master must NACK the last byte read to terminate communication so the slave returns control of SDA to the master. 15 DS1339A Low-Current, I2C, Serial Real-Time Clock Slave Address Byte: Each slave on the I2C bus responds to a slave address byte sent immediately following a START condition. The slave address byte contains the slave address in the most significant 7 bits and the R/W bit in the least significant bit. The whatever’s slave address is D0h and cannot be modified by the user. When the R/W bit is 0 (such as in D0h), the master is indicating it writes data to the slave. If R/W = 1, (D1h in this case), the master is indicating it wants to read from the slave. If an incorrect slave address is written, the DS1339A assumes the master is communicating with another I2C device and ignores the communication until the next START condition is sent. of data, and generate a STOP condition. Remember the master must read the slave’s acknowledgment during all byte write operations. Writing Multiple Bytes to a Slave: To write multiple bytes to a slave, the master generates a START condition, writes the slave address byte (R/W = 0), writes the starting memory address, writes multiple data bytes, and generates a STOP condition. Reading a Single Byte from a Slave: Unlike the write operation that uses the specified memory address byte to define where the data is to be written, the read operation occurs at the present value of the memory address counter. To read a single byte from the slave, the master generates a START condition, writes the slave address byte with R/W = 1, reads the data byte with a NACK to indicate the end of the transfer, and generates a STOP condition. However, since requiring the master to keep track of the memory address counter is impractical, the following method should be used to perform reads from a specified memory location. Memory Address: During an I2C write operation, the master must transmit a memory address to identify the memory location where the slave is to store the data. The memory address is always the second byte transmitted during a write operation following the slave address byte. I2C Communication Writing a Single Byte to a Slave: The master must generate a START condition, write the slave address byte (R/W = 0), write the memory address, write the byte Manipulating the Address Counter for Reads: A dummy write cycle can be used to force the address counter to a particular value. To do this the master TYPICAL I2C WRITE TRANSACTION MSB START 1 LSB 1 0 1 0 0 0 R/W MSB SLAVE ACK b7 LSB b6 READ/ WRITE SLAVE ADDRESS b5 b4 b3 b2 b1 b0 MSB SLAVE ACK b7 LSB b6 b5 b4 REGISTER ADDRESS b3 b2 b1 b0 SLAVE ACK STOP DATA EXAMPLE I2C TRANSACTIONS D0h A) SINGLE BYTE WRITE -WRITE CONTROL REGISTER TO B8h START B) SINGLE BYTE READ -READ CONTROL REGISTER START 1 1 0 1 0 0 0 0 11010000 D0h 0Eh SLAVE 00001110 ACK 0Eh SLAVE SLAVE 00001110 ACK ACK D0h C) MULTIBYTE WRITE -WRITE DATE REGISTER TO "02" AND MONTH REGISTER TO "11" START 1 1 0 1 0 0 0 0 04h SLAVE ACK 00000100 SLAVE ACK 00000010 D0h D) MULTIBYTE READ -READ HOURS AND DAY REGISTER VALUES START 1 1 0 1 0 0 0 0 B8h SLAVE 10111000 ACK SLAVE ACK STOP D1h REPEATED START DATA 11010001 00000010 SLAVE ACK REPEATED START SLAVE ACK 00010001 SLAVE ACK SLAVE ACK VALUE D1h 02h VALUE MASTER NACK STOP 11h 02h SLAVE ACK SLAVE ACK 11010001 STOP DATA DATA MASTER ACK VALUE MASTER NACK STOP Figure 5. I2C Transactions 16 DS1339A Low-Current, I2C, Serial Real-Time Clock generates a START condition, writes the slave address byte (R/W = 0), writes the memory address where it desires to read, generates a repeated START condition, writes the slave address byte (R/W = 1), reads data with ACK or NACK as applicable, and generates a STOP condition. See Figure 5 for a read example using the repeated START condition to specify the starting memory location. Reading Multiple Bytes From a Slave: The read operation can be used to read multiple bytes with a single transfer. When reading bytes from the slave, the master simply ACKs the data byte if it desires to read another byte before terminating the transaction. After the master reads the last byte it must NACK to indicate the end of the transfer and then it generates a STOP condition. Applications Information Power-Supply Decoupling To achieve the best results when using the DS1339A, decouple the VCC power supply with a 0.01FF and/or 0.1FF capacitor. Use a high-quality, ceramic, surfacemount capacitor if possible. Surface-mount components minimize lead inductance, which improves performance, and ceramic capacitors tend to have adequate highfrequency response for decoupling applications. CRYSTAL Using an Open-Drain Output The SQW/INT output is open-drain and therefore requires an external pullup resistor to realize a logic-high output level. SDA and SCL Pullup Resistors SDA is an open-drain output and requires an external pullup resistor to realize a logic-high output level. Because the DS1339A does not use clock cycle stretching, a master using either an open-drain output with a pullup resistor or CMOS output driver (push-pull) could be used for SCL. Battery Charge Protection The DS1339A contains Maxim’s redundant batterycharge protection circuit to prevent any charging of an external battery. Handling, PCB Layout, and Assembly Avoid running signal traces under the package, unless a ground plane is placed between the package and the signal line. Do not use external components to compensate for improper crystal selection. Moisture-sensitive packages are shipped from the factory dry-packed. Handling instructions listed on the package label must be followed to prevent damage during reflow. Refer to the IPC/JEDEC J-STD-020 standard for moisture-sensitive device (MSD) classifications. X1 X2 LOCAL GROUND PLANE (LAYER 2) Figure 6. Typical PCB Layout for Crystal 17 DS1339A Low-Current, I2C, Serial Real-Time Clock Package Information Ordering Information PART DS1339AU+ TEMP RANGE PIN-PACKAGE -40NC to +85NC 8 FSOP +Denotes a lead(Pb)-free/RoHS-compliant package. Chip Information PROCESS: CMOS For the latest package outline information and land patterns (footprints), go to www.maxim-ic.com/packages. Note that a “+”, “#”, or “-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status. PACKAGE TYPE PACKAGE CODE OUTLINE NO. LAND PATTERN NO. 8-pin FSOP U8+1 21-0036 90-0092 SUBSTRATE CONNECTED TO GROUND 18 DS1339A Low-Current, I2C, Serial Real-Time Clock Revision History REVISION NUMBER REVISION DATE 0 7/12 DESCRIPTION Initial release PAGES CHANGED — Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are implied. Maxim reserves the right to change the circuitry and specifications without notice at any time. The parametric values (min and max limits) shown in the Electrical Characteristics table are guaranteed. Other parametric values quoted in this data sheet are provided for guidance. Maxim Integrated Products, Inc. 160 Rio Robles, San Jose, CA 95134 USA 1-408-601-1000 © 2012 Maxim Integrated Products 19 Maxim is a registered trademark of Maxim Integrated Products, Inc.