Rev 2; 6/05 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal Features The DS3231 is a low-cost, extremely accurate I2C real- Accuracy 2ppm from 0C to +40C Accuracy 3.5ppm from -40C to +85C Battery Backup Input for Continuous Timekeeping Operating Temperature Ranges Commercial: 0C to +70C Industrial: -40C to +85C Low-Power Consumption Real-Time Clock Counts Seconds, Minutes, Hours, Day, Date, Month, and Year with Leap Year Compensation Valid Up to 2100 Two Time-of-Day Alarms Programmable Square-Wave Output Fast (400kHz) I2C Interface 3.3V Operation Digital Temp Sensor Output: 3C Accuracy Register for Aging Trim RST Input/Output UL Recognized time clock (RTC) with an integrated temperaturecompensated crystal oscillator (TCXO) and crystal. The device incorporates a battery input, and maintains accurate timekeeping when main power to the device is interrupted. The integration of the crystal resonator enhances the long-term accuracy of the device as well as reduces the piece-part count in a manufacturing line. The DS3231 is available in commercial and industrial temperature ranges, and is offered in a 16-pin, 300-mil SO package. The RTC maintains 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 an AM/PM indicator. Two programmable time-ofday alarms and a programmable square-wave output are provided. Address and data are transferred serially through an I2C bidirectional bus. A precision temperature-compensated voltage reference and comparator circuit monitors the status of VCC to detect power failures, to provide a reset output, and to automatically switch to the backup supply when necessary. Additionally, the RST pin is monitored as a pushbutton input for generating a reset externally. Applications Ordering Information PART TEMP RANGE DS3231S DS3231SN Servers Utility Power Meters DS3231S+ Telematics GPS DS3231SN+ TOP MARK PIN-PACKAGE 0C to +70C 16 SO DS3231 -40C to +85C 16 SO DS3231N 0C to +70C 16 SO DS3231+ -40C to +85C 16 SO DS3231N+ +Denotes lead-free Pin Configuration appears at end of data sheet. Typical Operating Circuit VCC VCC VCC RPU = tR/CB RPU RPU VCC INT/SQW SCL CPU SDA PUSHBUTTON RESET RST 32kHz VBAT N.C. N.C. N.C. N.C. N.C. N.C. N.C. N.C. DS3231 GND Purchase of I2C components from Maxim Integrated Products, Inc., or one of its sublicensed Associated Companies, conveys a license under the Philips I2C Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard Specification as defined by Philips. ______________________________________________ Maxim Integrated Products For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at 1-888-629-4642, or visit Maxim's website at www.maxim-ic.com. 1 DS3231 General Description DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal ABSOLUTE MAXIMUM RATINGS Voltage Range on VCC, VBAT, 32kHz, SCL, SDA, RST, INT/SQW Relative to Ground.............................-0.3V to +6.0V Operating Temperature Range (noncondensing) .............................................-40C to +85C Junction Temperature ......................................................+125C Storage Temperature Range ...............................-40C to +85C Lead Temperature (Soldering, 10s).....................................................+260C/10s Soldering Temperature....................................See the Handling, PC Board Layout, and Assembly section. 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. RECOMMENDED DC OPERATING CONDITIONS (TA = TMIN to TMAX, unless otherwise noted.) (Notes 1, 2) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS VCC 2.3 3.3 5.5 V VBAT 2.3 3.0 5.5 V Logic 1 Input SDA, SCL VIH 0.7 x VCC VCC + 0.3 V Logic 0 Input SDA, SCL VIL -0.3 +0.3 x VCC V Pullup Voltage (SDA, SCL, 32kHz, INT/SQW) VPU 5.5V V Supply Voltage VCC = 0V ELECTRICAL CHARACTERISTICS (VCC = 2.3V to 5.5V, VCC > VBAT, TA = TMIN to TMAX, unless otherwise noted.) (Typical values are at VCC = 3.3V, VBAT = 3.0V, and TA = +25C, unless otherwise noted.) (Notes 1, 2) PARAMETER Active Supply Current Standby Supply Current Temperature Conversion Current SYMBOL CONDITIONS MIN TYP MAX VCC = 3.63V 200 VCC = 5.5V 300 ICCA (Notes 3, 4) VCC = 3.63V 110 ICCS I2C bus inactive, 32kHz output on, SQW output off (Note 4) VCC = 5.5V 170 I2C bus inactive, 32kHz output on, SQW output off VCC = 3.63V 575 VCC = 5.5V 650 ICCSCONV Power-Fail Voltage VPF Logic 0 Output, 32kHz, INT/SQW, SDA VOL Logic 0 Output, RST UNITS A A 2.70 V IOL = 3mA 0.4 V VOL IOL = 1mA 0.4 V Output Leakage Current 32kHz, INT/SQW, SDA ILO Output high impedance +1 A Input Leakage SCL ILI -1 +1 A RST Pin I/O Leakage IOL -200 +10 A 100 nA VBAT Leakage Current (VCC Active) 2 2.45 RST high impedance (Note 5) IBATLKG _____________________________________________________________________ -1 2.575 A 0 25 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal (VCC = 2.3V to 5.5V, VCC > VBAT, TA = TMIN to TMAX, unless otherwise noted.) (Typical values are at VCC = 3.3V, VBAT = 3.0V, and TA = +25C, unless otherwise noted.) (Notes 1, 2) PARAMETER Output Frequency SYMBOL fOUT Frequency Stability vs. Temperature (Commercial) f/fOUT Frequency Stability vs. Temperature (Industrial) f/fOUT Frequency Stability vs. Voltage CONDITIONS MIN VCC = 3.3V or VBAT = 3.3V 32.768 >40C to +70C 3.5 VCC = 3.3V or VBAT = 3.3V, aging offset = 00h -40C to <0C 3.5 2 ppm 0C to +40C 2 >40C to +85C Specified at: Temperature Accuracy Temp VCC = 3.3V or VBAT = 3.3V -40C 0.7 +25C 0.1 +70C 0.4 +85C After reflow, not production tested ppm 3.5 1 f/LSB UNITS kHz 0C to +40C f/V f/f0 MAX VCC = 3.3V or VBAT = 3.3V, aging offset = 00h Trim Register Frequency Sensitivity per LSB Crystal Aging TYP ppm/V ppm 0.8 -3 +3 First year 1.0 0-10 years 5.0 C ppm ELECTRICAL CHARACTERISTICS (VCC = 0V, VBAT = 2.3V to 5.5V, TA = TMIN to TMAX, unless otherw.ise noted.) (Note 1) PARAMETER Active Battery Current Timekeeping Battery Current Temperature Conversion Current Data-Retention Current SYMBOL CONDITIONS MIN TYP MAX VBAT = 3.63V 70 VBAT = 5.5V 150 IBATA EOSC = 0, BBSQW = 0, SCL = 400kHz (Note 4) VBAT = 3.63V 0.84 3.0 IBATT EOSC = 0, BBSQW = 0, EN32kHz = 1, SCL = SDA = 0V or SCL = SDA = VBAT (Note 4) VBAT = 5.5V 1.0 3.5 EOSC = 0, BBSQW = 0, SCL = SDA = 0V or SCL = SDA = VBAT VBAT = 3.63V 575 VBAT = 5.5V 650 IBATTC IBATTDR UNITS A A A EOSC = 1, SCL = SDA = 0V, +25C 100 nA _____________________________________________________________________ 3 DS3231 ELECTRICAL CHARACTERISTICS (continued) DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal AC ELECTRICAL CHARACTERISTICS (VCC = VCC(MIN) to VCC(MAX) or VBAT = VBAT(MIN) to VBAT(MAX), VBAT > VCC, TA = TMIN to TMAX, unless otherwise noted.) (Note 1) PARAMETER SYMBOL SCL Clock Frequency fSCL Bus Free Time Between STOP and START Conditions tBUF Hold Time (Repeated) START Condition (Note 6) tHD:STA Low Period of SCL Clock tLOW High Period of SCL Clock tHIGH Data Hold Time (Notes 7, 8) tHD:DAT Data Setup Time (Note 9) tSU:DAT Start Setup Time tSU:STA CONDITIONS Fast mode Standard mode MIN TYP MAX 100 400 0 100 Fast mode 1.3 Standard mode 4.7 Fast mode 0.6 Standard mode 4.0 Fast mode 1.3 Standard mode 4.7 Fast mode 0.6 Standard mode 4.0 s s s 0 0.9 Standard mode 0 0.9 100 Standard mode 250 Fast mode 0.6 Standard mode 4.7 Fast mode kHz s Fast mode Fast mode UNITS s ns s 300 20 + 0.1CB Rise Time of Both SDA and SCL Signals (Note 10) tR Fall Time of Both SDA and SCL Signals (Note 10) tF Setup Time for STOP Condition tSU:STO Capacitive Load for Each Bus Line (Note 10) CB Capacitance for SDA, SCL CI/O 10 pF Pulse Width of Spikes That Must Be Suppressed by the Input Filter tSP 30 ns Pushbutton Debounce Standard mode Fast mode Standard mode 1000 300 20 + 0.1CB Fast mode 0.6 Standard mode 4.7 300 ns ns s 400 pF PBDB 250 ms Reset Active Time tRST 250 ms Oscillator Stop Flag (OSF) Delay tOSF 100 ms Temperature Conversion Time (Note 11) tCONV 125 200 ms TYP MAX UNITS POWER-SWITCH CHARACTERISTICS (TA = TMIN to TMAX) PARAMETER SYMBOL CONDITIONS MIN VCC Fall Time; VPF(MAX) to VPF(MIN) tVCCF 300 s VCC Rise Time; VPF(MIN) to VPF(MAX) tVCCR 0 s Recovery at Power-Up 4 tREC (Note 12) _____________________________________________________________________ 250 300 ms Extremely Accurate I2C-Integrated RTC/TCXO/Crystal RST PBDB tRST Power-Switch Timing VCC VPF(MAX) VPF VPF VPF(MIN) tVCCF tVCCR tREC RST _____________________________________________________________________ 5 DS3231 Pushbutton Reset Timing DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal Data Transfer on I2C Serial Bus SDA tBUF tHD:STA tLOW tR tSP tF SCL tHD:STA STOP tSU:STA tHIGH tSU:DAT START REPEATED START tSU:STO tHD:DAT Limits at -40C are guaranteed by design and not production tested. All voltages are referenced to ground. ICCA--SCL clocking at max frequency = 400kHz. Current is the averaged input current, which includes the temperature conversion current. The RST pin has an internal 50k (nominal) pullup resistor to VCC. After this period, the first clock pulse is generated. A device must internally provide a hold time of at least 300ns for the SDA signal (referred to the VIH(MIN) of the SCL signal) to bridge the undefined region of the falling edge of SCL. Note 8: The maximum tHD:DAT needs only to be met if the device does not stretch the low period (tLOW) of the SCL signal. Note 9: A fast-mode device can be used in a standard-mode system, but the requirement tSU:DAT 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 10: CB--total capacitance of one bus line in pF. Note 11: The parameter tOSF is the period of time the oscillator must be stopped for the OSF flag to be set over the voltage range of 0.0V VCC VCC(MAX) and 2.3V VBAT 3.4V. Note 12: This delay applies only if the oscillator is enabled and running. If the EOSC bit is a 1, the startup time of the oscillator is added to this delay. Note 1: Note 2: Note 3: Note 4: Note 5: Note 6: Note 7: 6 _____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal 1.200 DS3231 toc01 150 RST ACTIVE VCC = 0V 1.100 DS3231 toc02 SUPPLY CURRENT vs. SUPPLY VOLTAGE STANDBY SUPPLY CURRENT vs. SUPPLY VOLTAGE ICCS (A) IBAT (A) 100 1.000 0.900 50 0.800 0.700 0 3.0 4.0 4.0 SUPPLY CURRENT vs. TEMPERATURE FREQUENCY DEVIATION vs. TEMPERATURE vs. AGING VALUE 60 0.800 0.700 +85C -40C +70C 0C +40C 50 FREQUENCY DEVIATION (ppm) 0.900 DS3231 toc04 VBAT (V) VBAT = 3.0V 40 30 20 +25C +40C 10 0 -10 -20 +25C -40C +85C -30 0.600 -40.0 -20.0 5.0 VCC (V) 1.000 IBAT (A) 3.0 2.0 5.0 DS3231 toc03 2.0 +70C -40 0.0 20.0 40.0 TEMPERATURE (C) 60.0 80.0 -128 -96 -64 -32 0 32 64 0C 96 128 CRYSTAL AGING REGISTER VALUE _____________________________________________________________________ 7 DS3231 Typical Operating Characteristics (VCC = +3.3V, TA = +25C, unless otherwise noted.) Extremely Accurate I2C-Integrated RTC/TCXO/Crystal DS3231 Block Diagram VCC X1 RST OSCILLATOR AND CAPACITOR ARRAY CONTROL LOGIC/ DIVIDER X2 PUSHBUTTON RESET; SQUARE-WAVE BUFFER; INT/SQW CONTROL N 32kHz N DS3231 VCC VBAT POWER CONTROL TEMPERATURE SENSOR CONTROL AND STATUS REGISTERS GND N CLOCK AND CALENDAR REGISTERS SCL I2C INTERFACE AND ADDRESS REGISTER DECODE SDA 8 INT/SQW USER BUFFER (7 BYTES) _____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal PIN NAME 1 32kHz 2 VCC 3 FUNCTION 32kHz Output. This open-drain pin requires an external pullup resistor. It may be left open if not used. DC Power Pin for Primary Power Supply. This pin should be decoupled using a 0.1F to 1.0F capacitor. If not used, connect to ground. Active-Low Interrupt or Square-Wave Output. This open-drain pin requires an external pullup resistor. It may be left open if not used. This multifunction pin is determined by the state of the INTCN bit in the Control Register (0Eh). When INTCN is set to logic 0, this pin outputs a square wave and its frequency is determined by RS2 INT/SQW and RS1 bits. When INTCN is set to logic 1, then a match between the timekeeping registers and either of the alarm registers activates the INT/SQW pin (if the alarm is enabled). Because the INTCN bit is set to logic 1 when power is first applied, the pin defaults to an interrupt output with alarms disabled. RST Active-Low Reset. This pin is an open-drain input/output. It indicates the status of VCC relative to the VPF specification. As VCC falls below VPF, the RST pin is driven low. When VCC exceeds VPF, for tRST, the RST pin is driven high impedance. The active-low, open-drain output is combined with a debounced pushbutton input function. This pin can be activated by a pushbutton reset request. It has an internal 50k nominal value pullup resistor to VCC. No external pullup resistors should be connected. If the crystal oscillator is disabled, the startup time of the oscillator is added to the tRST delay. 5-12 N.C. No Connection. Must be connected to ground. 13 GND Ground 14 VBAT Backup Power-Supply Input. This pin should be decoupled using a 0.1F to 1.0F low-leakage capacitor. If the I2C interface is inactive whenever the device is powered by the VBAT input, the decoupling capacitor is not required. If VBAT is not used, connect to ground. UL recognized to ensure against reverse charging when used with a lithium battery. Go to www.maxim-ic.com/qa/info/ul. 15 SDA Serial Data Input/Output. This pin is the data input/output for the I2C serial interface. This open-drain pin requires an external pullup resistor. 16 SCL Serial Clock Input. This pin is the clock input for the I2C serial interface and is used to synchronize data movement on the serial interface. 4 Detailed Description The DS3231 is a serial RTC driven by a temperaturecompensated 32kHz crystal oscillator. The TCXO provides a stable and accurate reference clock, and maintains the RTC to within 2 minutes per year accuracy from -40C to +85C. The TCXO frequency output is available at the 32kHz pin. The RTC is a low-power clock/calendar with two programmable time-of-day alarms and a programmable square-wave output. The INT/SQW provides either an interrupt signal due to alarm conditions or a square-wave output. The clock/calendar 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 an AM/PM indicator. The internal registers are accessible though an I2C bus interface. A temperature-compensated voltage reference and comparator circuit monitors the level of VCC to detect power failures and to automatically switch to the backup supply when necessary. The RST pin provides an external pushbutton function and acts as an indicator of a power-fail event. _____________________________________________________________________ 9 DS3231 Pin Description DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal Operation The block diagram shows the main elements of the DS3231. The eight blocks can be grouped into four functional groups: TCXO, power control, pushbutton function, and RTC. Their operations are described separately in the following sections. 32kHz TCXO The temperature sensor, oscillator, and control logic form the TCXO. The controller reads the output of the on-chip temperature sensor and uses a lookup table to determine the capacitance required, adds the aging correction in AGE register, and then sets the capacitance selection registers. New values, including changes to the AGE register, are loaded only when a change in the temperature value occurs, or when a user-initiated temperature conversion is completed. The temperature is read on initial application of VCC and once every 64 seconds afterwards. Pushbutton Reset Function The DS3231 provides for a pushbutton switch to be connected to the RST output pin. When the DS3231 is not in a reset cycle, it continuously monitors the RST signal for a low going edge. If an edge transition is detected, the DS3231 debounces the switch by pulling the RST low. After the internal timer has expired (PBDB), the DS3231 continues to monitor the RST line. If the line is still low, the DS3231 continuously monitors the line looking for a rising edge. Upon detecting release, the DS3231 forces the RST pin low and holds it low for tRST. The same pin, RST, is used to indicate a power-fail condition. When VCC is lower than VPF, an internal power-fail signal is generated, which forces the RST pin low. When VCC returns to a level above VPF, the RST pin is held low for approximately 250ms (tREC) to allow the power supply to stabilize. If the oscillator is not running (see the Power Control section) when VCC is applied, tREC is bypassed and RST immediately goes high. Power Control Real-Time Clock This function is provided by a temperature-compensated voltage reference and a comparator circuit that monitors the VCC level. When VCC is greater than VPF, the part is powered by VCC. When VCC is less than VPF but greater than VBAT, the DS3231 is powered by VCC. If V CC is less than V PF and is less than V BAT , the device is powered by VBAT. See Table 1. With the clock source from the TCXO, the RTC 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 an AM/PM indicator. The clock provides two programmable time-of-day alarms and a programmable square-wave output. The INT/SQW pin either generates an interrupt due to alarm condition or outputs a square-wave signal and the selection is controlled by the bit INTCN. Table 1. Power Control SUPPLY CONDITION POWERED BY VCC < VPF, VCC < VBAT VBAT VCC < VPF, VCC > VBAT VCC VCC > VPF, VCC < VBAT VCC VCC > VPF, VCC > VBAT VCC To preserve the battery, the first time VBAT is applied to the device, the oscillator will not start up until VCC is applied, or until a valid I2C address is written to the part. Typical oscillator startup time is less than one second. Approximately 2 seconds after VCC is applied, or a valid I2C address is written, the device makes a temperature measurement and applies the calculated correction to the oscillator. Once the oscillator is running, it continues to run as long as a valid power source is available (VCC or VBAT), and the device continues to measure the temperature and correct the oscillator frequency every 64 seconds. 10 Address Map Figure 1 shows the address map for the DS3231 timekeeping registers. During a multibyte access, when the address pointer reaches the end of the register space (12h), it wraps around to location 00h. On an I 2 C 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 reread the registers in case the main registers update during a read. I2C Interface The I2C interface is accessible whenever either VCC or VBAT is at a valid level. If a microcontroller connected to the DS3231 resets because of a loss of VCC or other event, it is possible that the microcontroller and DS3231 I2C communications could become unsynchronized, e.g., the microcontroller resets while reading data from the DS3231. When the microcontroller resets, the ____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal ADDRESS BIT 7 MSB 00H 0 10 Seconds Seconds Seconds 00-59 01H 0 10 Minutes Minutes Minutes 00-59 02H 0 12/24 Hour Hours 1-12 + AM/PM 00-23 03H 0 0 Day 1-7 04H 0 0 05H Century BIT 6 BIT 5 AM/PM BIT 3 10 Hour 10 Hour 0 0 0 BIT 2 BIT 1 0 10 Date 0 06H BIT 4 10 Month 10 Year BIT 0 LSB Day FUNCTION RANGE Date Date 00-31 Month Month/ Century 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 Hour Alarm 1 Hours 1-12 + AM/PM 00-23 0AH A1M4 DY/DT Day Alarm 1 Day 1-7 0BH A2M2 0CH A2M3 12/24 0DH A2M4 DY/DT 0EH EOSC BBSQW CONV RS2 RS1 INTCN A2IE 0FH OSF 0 0 0 EN32kHz BSY A2F 10H SIGN DATA DATA DATA DATA DATA 11H SIGN DATA DATA DATA DATA DATA AM/PM 10 Hour 10 Hour 10 Date 10 Minutes AM/PM 10 Hour 10 Hour 10 Date Date Alarm 1 Date 1-31 Minutes Alarm 2 Minutes 00-59 Hour Alarm 2 Hours 1-12 + AM/PM 00-23 Day Alarm 2 Day 1-7 Date Alarm 2 Date 1-31 A1IE Control -- A1F Control/Status -- DATA DATA Aging Offset -- DATA DATA MSB of Temp -- LSB of Temp -- 12H DATA DATA 0 0 0 0 0 0 Note: Unless otherwise specified, the registers' state is not defined when power is first applied. DS3231 I2C interface may be placed into a known state by toggling SCL until SDA is observed to be at a high level. At that point the microcontroller should pull SDA low while SCL is high, generating a START condition. Clock and Calendar The time and calendar information is obtained by reading the appropriate register bytes. Figure 1 illustrates the RTC registers. The time and calendar data are set or initialized by writing the appropriate register bytes. The contents of the time and calendar registers are in the binary-coded decimal (BCD) format. The DS3231 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 second 10-hour bit (20-23 hours). The century bit (bit 7 of the month register) is toggled when the years register overflows from 99 to 00. The day-of-week register increments at midnight. Values that correspond to the day of week are userdefined 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 any START and when the register pointer rolls over to zero. The time information is read from these secondary registers, while the clock continues to run. This eliminates the need to reread the registers in case the main registers update during a read. ____________________________________________________________________ 11 DS3231 Figure 1. Timekeeing Registers DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal The countdown chain is reset whenever the seconds register is written. Write transfers occur on the acknowledge from the DS3231. Once the countdown chain is reset, to avoid rollover issues the remaining time and date registers must be written within 1 second. The 1Hz square-wave output, if enabled, transitions high 500ms after the seconds data transfer, provided the oscillator is already running. 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 2 shows the possible settings. Configurations not listed in the table will result in illogical operation. 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 logic 0, the alarm will be the result of a match with date of the month. If DY/DT is written to logic 1, the alarm will be the result of a match with day of the week. 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 will activate the INT/SQW signal. The match is tested on the once-per-second update of the time and date registers. Alarms The DS3231 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 INT/SQW output on an alarm match condition. Bit 7 of each of the time-of-day/date alarm registers are mask bits (Table 2). When all the mask bits for each alarm are logic 0, an alarm only occurs when the values in the timekeeping registers match the corresponding values Table 2. Alarm Mask Bits DY/DT ALARM RATE 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 12 ALARM 1 REGISTER MASK BITS (BIT 7) A1M4 ALARM 2 REGISTER MASK BITS (BIT 7) ALARM RATE A2M4 A2M3 A2M2 X 1 1 1 Alarm once per minute (00 seconds 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 ____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 EOSC BBSQW CONV RS2 RS1 INTCN A2IE A1IE Special-Purpose Registers The DS3231 has two additional registers (control and status) that control the real-time clock, alarms, and square-wave output. Control Register (0Eh) Bit 7: Enable Oscillator (EOSC). When set to logic 0, the oscillator is started. When set to logic 1, the oscillator is stopped when the DS3231 switches to VBAT. This bit is clear (logic 0) when power is first applied. When the DS3231 is powered by VCC, the oscillator is always on regardless of the status of the EOSC bit. Bit 6: Battery-Backed Square-Wave Enable (BBSQW). When set to logic 1 and the DS3231 is being powered by the VBAT pin, this bit enables the square-wave output when V CC is absent. When BBSQW is logic 0, the INT/SQW pin goes high impedance when VCC falls below the power-fail trip point. This bit is disabled (logic 0) when power is first applied. Bit 5: Convert Temperature (CONV). Setting this bit to 1 forces the temperature sensor to convert the temperature into digital code and execute the TCXO algorithm to update the capacitance array to the oscillator. This can only happen during the idle period. The status bit, BSY, prevents the bit from being set when BSY = 1. The user should check the status bit BSY before forcing the controller to start a new TCXO execution. A user-initiated temperature conversion does not affect the internal 64-second update cycle. A user-initiated temperature conversion does not affect the BSY bit for approximately 2ms. The CONV bit remains at a 1 from the time it is written until the conversion is finished, at which time both CONV and BSY go to 0. The CONV bit should be used when monitoring the status of a user-initiated conversion. SQUARE-WAVE OUTPUT FREQUENCY RS2 RS1 SQUARE-WAVE OUTPUT FREQUENCY 0 0 1Hz 0 1 1.024kHz 1 0 4.096kHz 1 1 8.192kHz Bit 2: Interrupt Control (INTCN). This bit controls the INT/SQW signal. When the INTCN bit is set to logic 0, a square wave is output on the INT/SQW pin. When the INTCN bit is set to logic 1, then a match between the timekeeping registers and either of the alarm registers activates the INT/SQW (if the alarm is also enabled). The corresponding alarm flag is always set regardless of the state of the INTCN bit. The INTCN bit is set to logic 1 when power is first applied. Bit 1: Alarm 2 Interrupt Enable (A2IE). When set to logic 1, this bit permits the alarm 2 flag (A2F) bit in the status register to assert INT/SQW (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 INT/SQW (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 the INT/SQW signal. The A1IE bit is disabled (logic 0) when power is first applied. Bits 4 and 3: Rate Select (RS2 and RS1). These bits control the frequency of the square-wave output when the square wave has been enabled. The following table shows the square-wave frequencies that can be selected with the RS bits. These bits are both set to logic 1 (8.192kHz) when power is first applied. ____________________________________________________________________ 13 DS3231 Control Register (0Eh) DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal Status Register (0Fh) BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 OSF 0 0 0 EN32kHz BSY A2F A1F Status Register (0Fh) Bit 7: Oscillator Stop Flag (OSF). A logic 1 in this bit indicates that the oscillator either is stopped or was stopped for some period and may be used to judge the validity of the timekeeping data. This bit is set to logic 1 any time that the oscillator stops. The following are examples of conditions that can cause the OSF bit to be set: 1) The first time power is applied. 2) The voltages present on both VCC and VBAT are insufficient to support oscillation. 3) The EOSC bit is turned off in battery-backed mode. 4) External influences on the crystal (i.e., noise, leakage, etc.). This bit remains at logic 1 until written to logic 0. Bit 3: Enable 32kHz Output (EN32kHz). This bit indicates the status of the 32kHz pin. When set to logic 1, the 32kHz pin is enabled and outputs a 32.768kHz square-wave signal. When set to logic 0, the 32kHz pin goes to a high-impedance state. The initial power-up state of this bit is logic 1, and a 32.768kHz square-wave signal appears at the 32kHz pin after a power source is applied to the DS3231 (if the oscillator is running). Bit 2: Busy (BSY). This bit indicates the device is busy executing TCXO functions. It goes to logic 1 when the conversion signal to the temperature sensor is asserted and then is cleared when the device is in the 1-minute idle state. 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 logic 1 and the INTCN bit is set to logic 1, the INT/SQW 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 logic 1 and the INTCN bit is set to logic 1, the INT/SQW 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. Crystal Aging The crystal aging offset register provides an 8-bit code to add to the codes in the capacitance array registers. The code is encoded in two's complement. One LSB represents one small capacitor to be switched in or out of the capacitance array at the crystal pins. The offset register is added to the capacitance array register under the following conditions: during a normal temperature conversion, if the temperature changes from the previous conversion, or during a manual user conversion (setting the CONV bit). To see the effects of the aging register on the 32kHz output frequency immediately, a manual conversion should be started after each aging register change. Positive aging values add capacitance to the array, slowing the oscillator frequency. Negative values remove capacitance from the array, increasing the oscillator frequency. The change in ppm per LSB is different at different temperatures. The frequency vs. temperature curve is shifted by the values used in this register. At +25C, one LSB typically provides about 0.1ppm change in frequency. Crystal Aging Offset (10h) 14 BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 Sign Data Data Data Data Data Data Data ____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 Sign Data Data Data Data Data Data Data Temperature Register (Lower Byte) (12h) BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 Data Data 0 0 0 0 0 0 Temperature Registers (11h-12h) Temperature is represented as a 10-bit code with a resolution of +0.25C and is accessible at location 11h and 12h. The temperature is encoded in two's complement format. The upper 8 bits are at location 11h and the lower 2 bits are in the upper nibble at location 12h. Upon power reset, the registers are set to a default temperature of 0C and the controller starts a temperature conversion. New temperature readings are stored in this register. I2C Serial Data Bus The DS3231 supports a bidirectional I2C bus and data transmission protocol. A device that sends data onto the bus is defined as a transmitter and a device receiving data is defined as a receiver. The device that controls the message is called a master. The devices that are controlled by the master are slaves. The bus must be controlled by a master device that generates the serial clock (SCL), controls the bus access, and generates the START and STOP conditions. The DS3231 operates as a slave on the I2C bus. Connections to the bus are made through the SCL input and open-drain SDA I/O lines. Within the bus specifications, a standard mode (100kHz maximum clock rate) and a fast mode (400kHz maximum clock rate) are defined. The DS3231 works in both modes. The following bus protocol has been defined (Figure 2): * Data transfer may be initiated only when the bus is not busy. * During data transfer, the data line must remain stable whenever the clock line is high. Changes in the data line while the clock line is high are interpreted as control signals. Accordingly, the following bus conditions have been defined: Bus not busy: Both data and clock lines remain high. Start data transfer: A change in the state of the data line from high to low, while the clock line is high, defines a START condition. Stop data transfer: A change in the state of the data line from low to high, while the clock line is high, defines a STOP condition. Data valid: The state of the data line represents valid data when, after a START condition, the data line is stable for the duration of the high period of the clock signal. The data on the line must be changed during the low period of the clock signal. There is one clock pulse per bit of data. Each data transfer is initiated with a START condition and terminated with a STOP condition. The number of data bytes transferred between the START and the STOP conditions is not limited, and is determined by the master device. The information is transferred byte-wise and each receiver acknowledges with a ninth bit. Acknowledge: Each receiving device, when addressed, is obliged to generate an acknowledge after the reception of each byte. The master device must generate an extra clock pulse, which is associated with this acknowledge bit. A device that acknowledges must pull down the SDA line during the acknowledge clock pulse in such a way that the SDA line is stable low during the high period of the acknowledge-related clock pulse. Of course, setup and hold times must be taken into account. A master must signal an end of data to the slave by not generating an acknowledge bit on the last byte that has been clocked out of the slave. In this case, the slave must leave the data line high to enable the master to generate the STOP condition. ____________________________________________________________________ 15 DS3231 Temperature Register (Upper Byte) (11h) SDA MSB SLAVE ADDRESS R/W DIRECTION BIT ACKNOWLEDGEMENT SIGNAL FROM RECEIVER ACKNOWLEDGEMENT SIGNAL FROM RECEIVER SCL 1 2 6 7 8 9 1 2 3-7 8 ACK 9 ACK START CONDITION REPEATED IF MORE BYTES ARE TRANSFERED STOP CONDITION OR REPEATED START CONDITION Figure 2. I2C Data Transfer Overview Data transfer from a slave transmitter to a master receiver. The first byte (the slave address) is transmitted by the master. The slave then returns an acknowledge bit. Next follows a number of data bytes transmitted by the slave to the master. The master returns an acknowledge bit after all received bytes other than the last byte. At the end of the last received byte, a not acknowledge is returned. The master device generates all the serial clock pulses and the START and STOP conditions. A transfer is ended with a STOP condition or with a repeated START condition. Since a repeated START condition is also the beginning of the next serial transfer, the bus will not be released. Data is transferred with the most significant bit (MSB) first. The DS3231 can operate in the following two modes: Slave receiver mode (DS3231 write mode): Serial data and clock are received through SDA and SCL. After each byte is received, an acknowledge bit is transmitted. START and STOP conditions are recognized as the beginning and end of a serial transfer. 16 ADDRESS> S 1101000 0 A XXXXXXXX A XXXXXXXX A XXXXXXXX A XXXXXXXX A P Figures 3 and 4 detail how data transfer is accomplished on the I2C bus. Depending upon the state of the R/W bit, two types of data transfer are possible: Data transfer from a master transmitter to a slave receiver. The first byte transmitted by the master is the slave address. Next follows a number of data bytes. The slave returns an acknowledge bit after each received byte. Data is transferred with the most significant bit (MSB) first. S = START DATA TRANSFERRED A = ACKNOWLEDGE (X + 1 BYTES + ACKNOWLEDGE) P = STOP R/W = READ/WRITE OR DIRECTION BIT ADDRESS = D0H Figure 3. Slave Receiver Mode (Write Mode) ADDRESS> S 1101000 1 A XXXXXXXX A XXXXXXXX A XXXXXXXX A XXXXXXXX A P DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal DATA TRANSFERRED S = START (X + 1 BYTES + ACKNOWLEDGE) A = ACKNOWLEDGE NOTE: LAST DATA BYTE IS FOLLOWED BY P = STOP A NOT ACKNOWLEDGE (A) SIGNAL A = NOT ACKNOWLEDGE R/W = READ/WRITE OR DIRECTION BIT ADDRESS = D1H Figure 4. Slave Transmitter Mode (Read Mode) Address recognition is performed by hardware after reception of the slave address and direction bit. The slave address byte is the first byte received after the master generates the START condition. The slave address byte contains the 7-bit DS3231 address, which is 1101000, followed by the direction bit (R/W), which is 0 for a write. After receiving and decoding the slave address byte, the DS3231 outputs an ____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal Handling, PC Board Layout, and Assembly The DS3231 package contains a quartz tuning-fork crystal. Pick-and-place equipment can be used, but precautions should be taken to ensure that excessive shocks are avoided. Ultrasonic cleaning should be avoided to prevent damage to the crystal. Avoid running signal traces under the package, unless a ground plane is placed between the package and the signal line. All N.C. (no connect) pins must be connected to ground. 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. See IPC/JEDEC J-STD-020 standard for moisturesensitive device (MSD) classifications and reflow profiles. Exposure to reflow is limited to 2 times maximum. ____________________________________________________________________ 17 DS3231 acknowledge on SDA. After the DS3231 acknowledges the slave address + write bit, the master transmits a word address to the DS3231. This sets the register pointer on the DS3231, with the DS3231 acknowledging the transfer. The master may then transmit zero or more bytes of data, with the DS3231 acknowledging each byte received. The register pointer increments after each data byte is transferred. The master generates a STOP condition to terminate the data write. Slave transmitter mode (DS3231 read mode): The first byte is received and handled as in the slave receiver mode. However, in this mode, the direction bit indicates that the transfer direction is reversed. Serial data is transmitted on SDA by the DS3231 while the serial clock is input on SCL. START and STOP conditions are recognized as the beginning and end of a serial transfer. Address recognition is performed by hardware after reception of the slave address and direction bit. The slave address byte is the first byte received after the master generates a START condition. The slave address byte contains the 7-bit DS3231 address, which is 1101000, followed by the direction bit (R/W), which is 1 for a read. After receiving and decoding the slave address byte, the DS3231 outputs an acknowledge on SDA. The DS3231 then begins to transmit data starting with the register address pointed to by the register pointer. If the register pointer is not written to before the initiation of a read mode, the first address that is read is the last one stored in the register pointer. The DS3231 must receive a not acknowledge to end a read. Extremely Accurate I2C-Integrated RTC/TCXO/Crystal DS3231 Pin Configuration Chip Information TRANSISTOR COUNT: 33,000 SUBSTRATE CONNECTED TO GROUND PROCESS: CMOS TOP VIEW 32kHz 1 16 SCL VCC 2 15 SDA INT/SQW 3 14 VBAT RST 4 N.C. 5 13 GND DS3231S Thermal Information Theta-JA: +73C/W Theta-JC: +23C/W 12 N.C. N.C. 6 11 N.C. N.C. 7 10 N.C. N.C. 8 9 N.C. SO 18 ____________________________________________________________________ Extremely Accurate I2C-Integrated RTC/TCXO/Crystal 56-G4009-001.EPS 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. Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 ____________________ 19 (c) 2005 Maxim Integrated Products Printed USA is a registered trademark of Dallas Semiconductor Corporation. is a registered trademark of Maxim Integrated Products, Inc. DS3231 Package Information (The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information, go to www.maxim-ic.com/DallasPackInfo).