-
Notifications
You must be signed in to change notification settings - Fork 1
Timekeeping Registers
Timekeeping registers from a variety of DS/Maxim RTC ICs.
All DS devices have an I²C address that derives from 0b1101000 (0x68); additional functionality, such as EEPROM or FRAM storage, is typically presented in separately-addressable 256-byte blocks (ie. as 0x69, 0x6A, etc).
Applies to: DS1307
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | CH | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | 0 | 12/24 | AM/PM | 10 Hour | Hours | Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | 0 | 0 | 0 | 10 Month | Month | Month | 01-12 | |||
| 06h | 10 Year | Year | Year | 00-99 | ||||||
| 07h | OUT | 0 | 0 | SQWE | 0 | 0 | RS1 | RS0 | Control | |
| 08h-3Fh | RAM 56 x 8 | 00h-FFh | ||||||||
Applies to: DS1337, DS1337C
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | 0 | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | 0 | 12/24 | AM/PM | 10 Hour | Hours | Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | Century | 0 | 0 | 10 Month | Month | Month/Century | 01-12 | |||
| 06h | 10 Year | 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 | AM/PM | 10 Hour | Hours | Alarm 1 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Ah | A1M4 | DY/DT | 0 | 0 | 0 | Day | Alarm 1 Day | 1-7 | ||
| Date | Alarm 1 Date | 01-31 | ||||||||
| 0Bh | A2M2 | 10 Minutes | Minutes | Alarm 2 Minutes | 00-59 | |||||
| 0Ch | A2M3 | 12/24 | AM/PM | 10 Hour | Hours | Alarm 2 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Dh | A2M4 | DY/DT | 0 | 0 | 0 | Day | Alarm 2 Day | 1-7 | ||
| Date | Alarm 2 Date | 01-31 | ||||||||
| 0Eh | EOSC | 0 | 0 | RS2 | RS1 | INTCN | A2IE | A1IE | Control | |
| 0Fh | OSF | 0 | 0 | 0 | 0 | 0 | A2F | A1F | Status | |
Applies to: DS1338, DS1338C, DS1338U, DS1338Z
Notes: functionally identical to DS1307 except for addition of OSF (Oscillator Stop Flag) bit in the control register.
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | CH | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | 0 | 12/24 | AM/PM | 10 Hour | Hours | Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | 0 | 0 | 0 | 10 Month | Month | Month | 01-12 | |||
| 06h | 10 Year | Year | Year | 00-99 | ||||||
| 07h | OUT | 0 | OSF | SQWE | 0 | 0 | RS1 | RS0 | Control | |
| 08h-3Fh | RAM 56 x 8 | 00h-FFh | ||||||||
Applies to: DS1339, DS1339C, DS1339U
Notes: functionally identical to DS1337 except for addition of BBSQI bit in the control register, and trickle charger register.
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | 0 | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | 0 | 12/24 | AM/PM | 10 Hour | Hours | Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | Century | 0 | 0 | 10 Month | Month | Month/Century | 01-12 | |||
| 06h | 10 Year | 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 | AM/PM | 10 Hour | Hours | Alarm 1 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Ah | A1M4 | DY/DT | 0 | 0 | 0 | Day | Alarm 1 Day | 1-7 | ||
| Date | Alarm 1 Date | 01-31 | ||||||||
| 0Bh | A2M2 | 10 Minutes | Minutes | Alarm 2 Minutes | 00-59 | |||||
| 0Ch | A2M3 | 12/24 | AM/PM | 10 Hour | Hours | Alarm 2 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Dh | A2M4 | DY/DT | 0 | 0 | 0 | Day | Alarm 2 Day | 1-7 | ||
| Date | Alarm 2 Date | 01-31 | ||||||||
| 0Eh | EOSC | 0 | BBSQI | RS2 | RS1 | INTCN | A2IE | A1IE | Control | |
| 0Fh | OSF | 0 | 0 | 0 | 0 | 0 | A2F | A1F | Status | |
| 10h | TCS3 | TCS2 | TCS1 | TCS0 | DS1 | DS0 | ROUT1 | ROUT0 | Trickle Charger | |
Applies to: DS1340, DS1340C
Notes: Similar to DS1307.
- EOSC (Enable Oscillator) is now at register 0x00 bit 7 instead of CH.
- CEB (Century Enable Bit) added at 0x02 bit 7
- CB (Century Bit) is now at 0x02 bit 6 instead of 12/24 switch.
- Control register has changed significantly.
- Trickle Charger register added.
- OSF (Oscillator Stop Flag) added, in new Flag register.
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | EOSC | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | CEB | CB | 10 Hours | Hours | Century/Hours | 0-1; 00-23 | ||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | 0 | 0 | 0 | 10 Month | Month | Month | 01-12 | |||
| 06h | 10 Year | Year | Year | 00-99 | ||||||
| 07h | OUT | FT | S | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 | Control | |
| 08h | TCS3 | TCS2 | TCS1 | TCS0 | DS1 | DS0 | ROUT1 | ROUT0 | Trickle Charger | |
| 09h | OSF | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Flag | |
Applies to: DS1341, DS1342
Notes: Similar to DS1337, with differences in control and status registers.
- EGFIL (Enable Glitch Filter) added to control register
- DOSF (Disable Oscillator Stop Flag), LOS (Loss Of Signal), CLKSEL1/2 (Select Clock Source), and ECLK (Enable External Clock Input) added to control/status register.
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | 0 | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | 0 | 12/24 | AM/PM | 10 Hour | Hours | Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | Century | 0 | 0 | 10 Month | Month | Month/Century | 01-12 | |||
| 06h | 10 Year | 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 | AM/PM | 10 Hour | Hours | Alarm 1 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Ah | A1M4 | DY/DT | 0 | 0 | 0 | Day | Alarm 1 Day | 1-7 | ||
| Date | Alarm 1 Date | 01-31 | ||||||||
| 0Bh | A2M2 | 10 Minutes | Minutes | Alarm 2 Minutes | 00-59 | |||||
| 0Ch | A2M3 | 12/24 | AM/PM | 10 Hour | Hours | Alarm 2 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Dh | A2M4 | DY/DT | 0 | 0 | 0 | Day | Alarm 2 Day | 1-7 | ||
| Date | Alarm 2 Date | 01-31 | ||||||||
| 0Eh | EOSC | 0 | EGFIL | RS2 | RS1 | INTCN | A2IE | A1IE | Control | |
| 0Fh | OSF | DOSF | LOS | CLKSEL2 | CLKSEL1 | ECLK | A2F | A1F | Control/Status | |
Applies to: DS1371
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION |
|---|---|---|---|---|---|---|---|---|---|
| 00h | TOD COUNTER BYTE 0 | Time-of-Day Counter | |||||||
| 01h | TOD COUNTER BYTE 1 | Time-of-Day Counter | |||||||
| 02h | TOD COUNTER BYTE 2 | Time-of-Day Counter | |||||||
| 03h | TOD COUNTER BYTE 3 | Time-of-Day Counter | |||||||
| 04h | WD/ALM COUNTER BYTE 0 | Watchdog/Alarm Counter | |||||||
| 05h | WD/ALM COUNTER BYTE 1 | Watchdog/Alarm Counter | |||||||
| 06h | WD/ALM COUNTER BYTE 2 | Watchdog/Alarm Counter | |||||||
| 07h | EOSC | WACE | WD/ALM | 0 | INTCN | RS2 | RS1 | AIE | Control |
| 08h | OSF | 0 | 0 | 0 | 0 | 0 | 0 | AF | Status |
Applies to: DS1372
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION |
|---|---|---|---|---|---|---|---|---|---|
| 00h | Seconds Counter Byte 0 | LSB | Clock | ||||||
| 01h | Seconds Counter Byte 1 | Clock | |||||||
| 02h | Seconds Counter Byte 2 | Clock | |||||||
| 03h | MSB | Seconds Counter Byte 3 | Clock | ||||||
| 04h | Alarm Counter Byte 0 | LSB | Alarm | ||||||
| 05h | Alarm Counter Byte 1 | Alarm | |||||||
| 07h | MSB | Alarm Counter Byte 2 | Alarm | ||||||
| 07h | EOSC | ACE | 0 | 0 | INTCN | RS2 | RS1 | AIE | Control |
| 08h | OSF | 0 | 0 | 0 | 0 | 0 | 0 | AF | Status |
| 09h | Model Number | ID | |||||||
| 0Ah | Serial Number Byte 0 | ID | |||||||
| 0Bh | Serial Number Byte 1 | ID | |||||||
| 0Ch | Serial Number Byte 2 | ID | |||||||
| 0Dh | Serial Number Byte 3 | ID | |||||||
| 0Eh | Serial Number Byte 4 | ID | |||||||
| 0Fh | Serial Number Byte 5 | ID | |||||||
| 10h | CRC | ID | |||||||
Applies to: DS1374, DS1374C, DS1374U
Notes: Same as DS1371, with added trickle charger register and BSSQE bit in control register.
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION |
|---|---|---|---|---|---|---|---|---|---|
| 00h | TOD COUNTER BYTE 0 | Time-of-Day Counter | |||||||
| 01h | TOD COUNTER BYTE 1 | Time-of-Day Counter | |||||||
| 02h | TOD COUNTER BYTE 2 | Time-of-Day Counter | |||||||
| 03h | TOD COUNTER BYTE 3 | Time-of-Day Counter | |||||||
| 04h | WD/ALM COUNTER BYTE 0 | Watchdog/Alarm Counter | |||||||
| 05h | WD/ALM COUNTER BYTE 1 | Watchdog/Alarm Counter | |||||||
| 06h | WD/ALM COUNTER BYTE 2 | Watchdog/Alarm Counter | |||||||
| 07h | EOSC | WACE | WD/ALM | BBSQW | INTCN | RS2 | RS1 | AIE | Control |
| 08h | OSF | 0 | 0 | 0 | 0 | 0 | 0 | AF | Status |
| 09h | TCS3 | TCS2 | TCS1 | TCS0 | DS1 | DS0 | ROUT1 | ROUT0 | Trickle Charger |
Applies to: DS1375
Notes: similar to DS1337, with significant differences in control/status registers and addition of SRAM.
| ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|
| 00h | 0 | 10 Seconds | Seconds | Seconds | 00-59 | |||||
| 01h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | |||||
| 02h | 0 | 12/24 | AM/PM | 10 Hours | Hours | Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hours | ||||||||||
| 03h | 0 | 0 | 0 | 0 | 0 | Day | Day | 01-07 | ||
| 04h | 0 | 0 | 10 Date | Date | Date | 01-31 | ||||
| 05h | Century | 0 | 0 | 10 Month | Month | Month/Century | 01-12 | |||
| 06h | 10 Year | 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 | AM/PM | 10 Hours | Hours | Alarm 1 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hours | ||||||||||
| 0Ah | A1M4 | DY/DT | Day | Alarm 1 Day | 1-7 | |||||
| 10 Date | Date | Alarm 1 Date | 01-31 | |||||||
| 0Bh | A2M2 | 10 Minutes | Minutes | Alarm 2 Minutes | 00-59 | |||||
| 0Ch | A2M3 | 12/24 | AM/PM | 10 Hour | Hours | Alarm 2 Hours | 1-12 +AM/PM 00-23 | |||
| 10 Hour | ||||||||||
| 0Dh | A2M4 | DY/DT | Day | Alarm 2 Day | 1-7 | |||||
| 10 Date | Date | Alarm 2 Date | 01-31 | |||||||
| 0Eh | ECLK | CLKSEL1 | CLKSEL0 | RS2 | RS1 | INTCN | A2IE | A1IE | Control | |
| 0Fh | 0 | 0 | 0 | 0 | 0 | 0 | A2F | A1F | Control/Status | |
| 10h-1Fh | SRAM | 00-FFh | ||||||||
Applies to: DS1388
Notes: somewhat of a "black sheep".
- three blocks of memory: 0x00 for typical registers, 0x01 and 0x02 for EEPROM
- prior to typical RTC clock information, a "hundredths of seconds" register has been added, and RTC clock registers are all incremented by one memory address
- EEPROM is presented as separate addresses on the I2C bus; the base address is 0b1101, followed by three bits indicating the block to interact with, followed by a read/write bit (1=read, 0=write).
- two bits are provided as general-purpose toggles (X).
| BLOCK | ADDRESS | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | FUNCTION | RANGE |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00h | Tenth Seconds | Hundredths of Seconds | Hundredths of Seconds | 00-99 | ||||||
| 01h | 0 | 10 Seconds | Seconds | Seconds | 00-59 | ||||||
| 02h | 0 | 10 Minutes | Minutes | Minutes | 00-59 | ||||||
| 03h | 0 | 12/24 | AM/PM | 10 Hour | Hours | Hours | 1-12 +AM/PM 00-23 | ||||
| 10 Hour | |||||||||||
| 04h | 0 | 0 | 0 | 0 | X | Day | Day | 01-07 | |||
| 05h | 0 | 0 | 10 Date | Date | Date | 01-31 | |||||
| 06h | Century | 0 | X | 10 Month | Month | Month/Century | 01-12 | ||||
| 07h | 10 Year | Year | Year | 00-99 | |||||||
| 08h | Watchdog Tenths of Seconds | Watchdog Hundredths of Seconds | Watchdog Hundredth Seconds | 00-99 | |||||||
| 09h | Watchdog Tenths of Seconds | Watchdog Seconds | Watchdog Seconds | 00-59 | |||||||
| 0Ah | TCS3 | TCS2 | TCS1 | TCS0 | DS1 | DS0 | ROUT1 | ROUT0 | Trickle Charger | ||
| 0Fh | OSF | WF | 0 | 0 | 0 | 0 | 0 | 0 | Flag | ||
| 10h | EOSC | 0 | 0 | 0 | 0 | 0 | WDE | WD/RST | Control | ||
| 1 | 00h-FFh | 256 x 8 EEPROM | EEPROM | 00-FFh | |||||||
| 2 | 00h-FFh | 256 x 8 EEPROM | EEPROM | 00-FFh | |||||||
| 0 = always reads as zero X = General-purpose r/w bit | |||||||||||