DAaba DS12887 Real Time Clock www.dalsemi.com FEATURES PIN ASSIGNMENT Drop-in replacement for IBM AT computer clock/calendar Pin-compatible with the MC146818B and DS1287 MOT Totally nonvolatile with over 10 years of omeymcethu. 24 NC quartz.and support circuitry ■Counts seco Is minutes hours days day of AD3 RESE the week.date.month.and ear with leap AD4 R representation of time, 14 AS GND12 13■c 1 ur clock with AM and PM in 24-PIN ENCAPSULATED PACKAGE Selectable between Motorola and Intel bus PIN DESCRIPTION Multiplex bus for pin efficiency AD7 .Interfaced with software as 128 RAM Multiplexed Address/Data Bus locations lection 14 bytes of clock and control registers Cs 114 bytes of general purpose RAM -Chip Select .Programmable square wave output signal AS -Address Strobe compatible interrupt signals(RQ) R/W -Read/Write Input DS Data Strobe interrupts are separately software- maskable and testable RESET -Reset Input Time-of-day alarm once/second to IRO -Interrupt Request Output once/day SOW -Square Wave Output Periodic rates from 122 ms to 500 ms -+5 Volt Supply End of clock update cycle GND -Ground DESCRIPTION DS12887 Real Time Clock plus RAM is designed to be a direct replacement for the DS1287.Th D17is identical in fom,it and tunction to the DS1287,and has anaddtonal64bytes of general purpose RAM.Access to this additional RAM space is determined by the logic level presented on AD6 during the address portion of an access cycle.A lithium energy source,quartz crystal,and write- protection circuitry are contained within a 24-pin dual in-line package.As such,the DS12887 is a complete subsystem replacing 16 components in a typical application.The functions include a nonvolatile time-of day clock,an alarm,a one-hundred-year calendar,programmable interrupt,square wave 1of19 110899
1 of 19 110899 FEATURES ß Drop–in replacement for IBM AT computer clock/calendar ß Pin-compatible with the MC146818B and DS1287 ß Totally nonvolatile with over 10 years of operation in the absence of power ß Self–contained subsystem includes lithium, quartz, and support circuitry ß Counts seconds, minutes, hours, days, day of the week, date, month, and year with leap year compensation valid up to 2100 ß Binary or BCD representation of time, calendar, and alarm ß 12– or 24–hour clock with AM and PM in 12–hour mode ß Daylight Savings Time option ß Selectable between Motorola and Intel bus timing ß Multiplex bus for pin efficiency ß Interfaced with software as 128 RAM locations – 14 bytes of clock and control registers – 114 bytes of general purpose RAM ß Programmable square wave output signal ß Bus–compatible interrupt signals ( IRQ ) ß Three interrupts are separately software– maskable and testable – Time–of–day alarm once/second to once/day – Periodic rates from 122 ms to 500 ms – End of clock update cycle PIN ASSIGNMENT PIN DESCRIPTION AD0–AD7 – Multiplexed Address/Data Bus NC – No Connection MOT – Bus Type Selection CS – Chip Select AS – Address Strobe R/ W – Read/Write Input DS – Data Strobe RESET – Reset Input IRQ – Interrupt Request Output SQW – Square Wave Output VCC – +5 Volt Supply GND – Ground DESCRIPTION The DS12887 Real Time Clock plus RAM is designed to be a direct replacement for the DS1287. The DS12887 is identical in form, fit, and function to the DS1287, and has an additional 64 bytes of general purpose RAM. Access to this additional RAM space is determined by the logic level presented on AD6 during the address portion of an access cycle. A lithium energy source, quartz crystal, and write– protection circuitry are contained within a 24–pin dual in-line package. As such, the DS12887 is a complete subsystem replacing 16 components in a typical application. The functions include a nonvolatile time–of–day clock, an alarm, a one-hundred–year calendar, programmable interrupt, square wave NC DS12887 Real Time Clock www.dalsemi.com
DS12887 .and 11 by e of nonvolatile static RAM.The real time clock is distinctive in that time-of day and memory are maintained even in the absence of power OPERATION The block diagram in Figure 1 shows the pin connections with the major internal functions of the DS12887.The following paragraphs describe the function of each pin. BLOCK DIAGRAM DS12887 Figure 1 AS POWER-DOWN/POWER-UP CONSIDERATIONS The Real Time Clock function will continue to operate and all of the RAM,time,calendar,and alarm memory locations remain nonvolatile regardless of the level of the Voc input.When Vcc is applied to the DS12887 and reaches a level of greater than 4.25 volts,the device becomes accessible after 200 ms provided that the oscillator is running and the oscillator countdown chain is not in reset(see Register A). This time period allows the system to stabilize after power is applied.When Vcc falls below 4.25 volts, slect in is inmlly forced toe the input pin state,all are ignored and al nce state kR8ne8Re资新mof nd anmeryour SIGNAL DESCRIPTIONS GND,Vcc-DC power is provided to the device on these pins.Vcc is the +5 volt input.When 5 volts are 2of19
DS12887 2 of 19 generator, and 114 bytes of nonvolatile static RAM. The real time clock is distinctive in that time–of–day and memory are maintained even in the absence of power. OPERATION The block diagram in Figure 1 shows the pin connections with the major internal functions of the DS12887. The following paragraphs describe the function of each pin. BLOCK DIAGRAM DS12887 Figure 1 POWER–DOWN/POWER–UP CONSIDERATIONS The Real Time Clock function will continue to operate and all of the RAM, time, calendar, and alarm memory locations remain nonvolatile regardless of the level of the VCC input. When VCC is applied to the DS12887 and reaches a level of greater than 4.25 volts, the device becomes accessible after 200 ms, provided that the oscillator is running and the oscillator countdown chain is not in reset (see Register A). This time period allows the system to stabilize after power is applied. When VCC falls below 4.25 volts, the chip select input is internally forced to an inactive level regardless of the value of CS at the input pin. The DS12887 is, therefore, write–protected. When the DS12887 is in a write–protected state, all inputs are ignored and all outputs are in a high impedance state. When VCC falls below a level of approximately 3 volts, the external VCC supply is switched off and an internal lithium energy source supplies power to the Real Time Clock and the RAM memory. SIGNAL DESCRIPTIONS GND, VCC – DC power is provided to the device on these pins. VCC is the +5 volt input. When 5 volts are applied within normal limits, the device is fully accessible and data can be written and read. When VCC is below 4.25 volts typical, reads and writes are inhibited. However, the timekeeping function continues
DS12887 unaffected by the lower input voltage as vc falls below 3 yolts typical the ram and timekeeper are switched over to an internal lithium y source The timekeeping function maintains an accuracy of+l minute per month at 25C regardless of the voltage input on the Voc pin. MOT (Mode Seleet)-The MOT pin offers the flexibility to choose between two bus types.When connected to Vcc,Motorola bus timing is selected.When connected to GND or left disconnected,Intel bus timing is selected.The pin has an internal pulldown resistance of approximately 20 k. SQW(Square Wave Output)-The SQW pin can output a signal from one of 13 taps provided by the 15 internal divider stages of the Real Time Clock.The frequency of the SQW pin can be changed by programming Register A as shown in Table 1.The SQW signal can be turned on and off using the SQWE bit in Register B.The SQW signal is not available when Vcc is less than 4.25 volts,typically. PERIODIC INTERRUPT RATE AND SQUARE WAVE OUTPUT FREQUENCY Table 1 SELECT BITS REGISTER A t PERIODIC SOW OUTPUT INTERRUPT RATE FREOUENCY 0 3.90625 256z 7.8125ms 28H☑ 122070u1s 8.192kHz 0 0 244141us 4.096kHz 488281μs 2048kH2 976.56254s 1.024kH亚 0 1.953125ms 512Hz 1 0 0 0 3.90625ms 256Hz 0 7.8125ms 128Hz 0 15.625ms 64 Hz 3125m 32H2 62. ms 16亚 125ms 8H☑ 250ms 4H2 500ms 2 Hz ADO-AD7 (Multiplexed Bidirectional Address/Data Bus)-Multiplexed buses save pins because address information and data information time-share the same signal paths.The addresses are present during the first portion of the bus cycle and the same pins and signal paths are used for data in the second portion of the cycle.Address/data multiplexing does not slow the access time of the DS12887 since the bus change from address to data occurs during the internal RaM access time.Addresses must be valic prior to the falling edge of AS/ALE,at which time the DS12887 latches the address from AD0 to AD6. Valid write data must be present and held stable during the latter portion of the DS or WR pulses.In a read cycle the DS12887 outputs 8 bits of data during the latter portion of the DS or RD pulses.The read cycle is terminated and the bus returns to a high impedance state as DS transitions low in the case of Motorola timing or as RD transitions high in the case of Intel timing AS(Address Strobe Input)-A positive ing address strobe pulse serves to demultiplex the bus The falling edge of AS/ALE causes the address to be latched within the DS12887.The next rising edge that 3of19
DS12887 3 of 19 unaffected by the lower input voltage. As VCC falls below 3 volts typical, the RAM and timekeeper are switched over to an internal lithium energy source. The timekeeping function maintains an accuracy of ±1 minute per month at 25°C regardless of the voltage input on the VCC pin. MOT (Mode Select) – The MOT pin offers the flexibility to choose between two bus types. When connected to VCC, Motorola bus timing is selected. When connected to GND or left disconnected, Intel bus timing is selected. The pin has an internal pulldown resistance of approximately 20 kW. SQW (Square Wave Output) – The SQW pin can output a signal from one of 13 taps provided by the 15 internal divider stages of the Real Time Clock. The frequency of the SQW pin can be changed by programming Register A as shown in Table 1. The SQW signal can be turned on and off using the SQWE bit in Register B. The SQW signal is not available when VCC is less than 4.25 volts, typically. PERIODIC INTERRUPT RATE AND SQUARE WAVE OUTPUT FREQUENCY Table 1 SELECT BITS REGISTER A RS3 RS2 RS1 RS0 tPI PERIODIC INTERRUPT RATE SQW OUTPUT FREQUENCY 0 0 0 0 None None 0 0 0 1 3.90625 ms 256 Hz 0 0 1 0 7.8125 ms 128 Hz 0 0 1 1 122.070 ms 8.192 kHz 0 1 0 0 244.141 ms 4.096 kHz 0 1 0 1 488.281 ms 2.048 kHz 0 1 1 0 976.5625 ms 1.024 kHz 0 1 1 1 1.953125 ms 512 Hz 1 0 0 0 3.90625 ms 256 Hz 1 0 0 1 7.8125 ms 128 Hz 1 0 1 0 15.625 ms 64 Hz 1 0 1 1 31.25 ms 32 Hz 1 1 0 0 62.5 ms 16 Hz 1 1 0 1 125 ms 8 Hz 1 1 1 0 250 ms 4 Hz 1 1 1 1 500 ms 2 Hz AD0–AD7 (Multiplexed Bidirectional Address/Data Bus) – Multiplexed buses save pins because address information and data information time-share the same signal paths. The addresses are present during the first portion of the bus cycle and the same pins and signal paths are used for data in the second portion of the cycle. Address/data multiplexing does not slow the access time of the DS12887 since the bus change from address to data occurs during the internal RAM access time. Addresses must be valid prior to the falling edge of AS/ ALE, at which time the DS12887 latches the address from AD0 to AD6. Valid write data must be present and held stable during the latter portion of the DS or WR pulses. In a read cycle the DS12887 outputs 8 bits of data during the latter portion of the DS or RD pulses. The read cycle is terminated and the bus returns to a high impedance state as DS transitions low in the case of Motorola timing or as RD transitions high in the case of Intel timing. AS (Address Strobe Input) – A positive-going address strobe pulse serves to demultiplex the bus. The falling edge of AS/ALE causes the address to be latched within the DS12887. The next rising edge that
DS12887 occurs on the AS bus will clear the address regardless of whether cs is asserted.Access commands should be sent in pairs. DS(Data Strobe or Read Input)-The DS/RD pin has two modes of operation depending on the level of the MOT pin.When the MOT pin is connected to Vcc.Motorola bus timing is selected.In this mode DS is a positive pulse during the latter portion of the bus cycle and is called Data Strobe.During read D signifies the time that the DS1287siv th bidirectiona busIni cles the trailin of DS ses the DS12887 to latch the written data.Wher the MOT pin is conne cted to GND,Intel bus timing is selected.In this mode the DS pin is called Read(RD).RD identifies the time period when the DS12887 drives the bus with read data.The RD signal is the same definition as the Output Enable (OE)signal on a typical memory. R/W (Read/Write Input)-The R/W pin also has two modes of operation.When the MOT pin is connected to Vc for Motorola timing.R/w is at a level which indicates whether the current cycle is a read or write.A read cycle is indicated with a high level on R/w while DS is high.A write cycle is indicated when R/W is low during DS When the MOT pin is connected to GND for Intel timing,the R/W signal is an active low signal called WR.In this mode the R/W pin has the same meaning as the Write Enable signal (WE)on generic RAMs. CS(Chip Select Input)-The Chip Select signal must be asserted low for a bus cycle in the DS12887 to be accessed.Cs must be kept in the active state during DS and AS for Motorola timing and during RD and WR for Intel timing.Bus cycles which take place without asserting cs will latch addresses but no access will occur.When Wc is below 4.25 volts,the DS12887 internally inhibits access cycles by interally disabling the Cs input.This action protects both the real time clock data and RAM data during power outages IRQ (Interrupt Request Output)-The IRQ pin is an active low output of the DS12887 that can be used as an interrupt input to a processor.The IRQ output remains low as long as the status bit causing the interrupt is present and the corresponding interrupt-enable bit is set.To clear the IRQ pin the processor program normally reads the C register.The RESET pin also clears pending interrupts. When no interrupt conditions are present,the IRQ level is in the high impedance state.Multiple interrupting devices can be connected to an IRQ bus.The IRQ bus is an open drain output and requires an external pullup resistor. RESET (Reset Input)-The RESET pin has no effect on the clock,calendar,or RAM.On power-up the RESET pin can be held low for a time in order to allow the power supply to stabilize.The amount of time that RESET is held low is dependent on the application.However,if RESET is used on power-up,the time RESET is low should exceed 200 ms to make sure that the internal timer that controls the DS12887 on power-up has timed out.When RESET is low and Vcc is above 4.25 volts,the following occurs: 4of19
DS12887 4 of 19 occurs on the AS bus will clear the address regardless of whether CS is asserted. Access commands should be sent in pairs. DS (Data Strobe or Read Input) – The DS/RD pin has two modes of operation depending on the level of the MOT pin. When the MOT pin is connected to VCC, Motorola bus timing is selected. In this mode DS is a positive pulse during the latter portion of the bus cycle and is called Data Strobe. During read cycles, DS signifies the time that the DS12887 is to drive the bidirectional bus. In write cycles the trailing edge of DS causes the DS12887 to latch the written data. When the MOT pin is connected to GND, Intel bus timing is selected. In this mode the DS pin is called Read (RD ).RD identifies the time period when the DS12887 drives the bus with read data. The RD signal is the same definition as the Output Enable (OE ) signal on a typical memory. R/ W (Read/Write Input) – The R/ W pin also has two modes of operation. When the MOT pin is connected to VCC for Motorola timing, R/ W is at a level which indicates whether the current cycle is a read or write. A read cycle is indicated with a high level on R/ W while DS is high. A write cycle is indicated when R/ W is low during DS. When the MOT pin is connected to GND for Intel timing, the R/ W signal is an active low signal called WR. In this mode the R/ W pin has the same meaning as the Write Enable signal ( WE ) on generic RAMs. CS (Chip Select Input) – The Chip Select signal must be asserted low for a bus cycle in the DS12887 to be accessed. CS must be kept in the active state during DS and AS for Motorola timing and during RD and WR for Intel timing. Bus cycles which take place without asserting CS will latch addresses but no access will occur. When VCC is below 4.25 volts, the DS12887 internally inhibits access cycles by internally disabling the CS input. This action protects both the real time clock data and RAM data during power outages. IRQ (Interrupt Request Output) – The IRQ pin is an active low output of the DS12887 that can be used as an interrupt input to a processor. The IRQ output remains low as long as the status bit causing the interrupt is present and the corresponding interrupt–enable bit is set. To clear the IRQ pin the processor program normally reads the C register. The RESET pin also clears pending interrupts. When no interrupt conditions are present, the IRQ level is in the high impedance state. Multiple interrupting devices can be connected to an IRQ bus. The IRQ bus is an open drain output and requires an external pullup resistor. RESET (Reset Input) – The RESET pin has no effect on the clock, calendar, or RAM. On power–up the RESET pin can be held low for a time in order to allow the power supply to stabilize. The amount of time that RESET is held low is dependent on the application. However, if RESET is used on power–up, the time RESET is low should exceed 200 ms to make sure that the internal timer that controls the DS12887 on power-up has timed out. When RESET is low and VCC is above 4.25 volts, the following occurs:
DS12887 a Periodic Interrupt enable (pel)bit is cleared to o B.Alarm Interrupt Enable (AIE)bit is cleared to 0. C.Update Ended Interrupt Flag (UF)bit is cleared to 0. (IRQF)bit is cleared to F The device is not accessible until RESET is returned high G.Alarm Interrupt Flag(AF)bit is cleared to 0. H IRQ pin is in the high impedance state. L Square wave Output enable SOwe bit is cleared to o Update Ended Inte errupt Enable(UIE)is cleared to 0. In a typical application RESET can be connected to Vcc.This connection will allow the DS12887 to go in and out of power fail without affecting any of the control registers. s map the DS12887 is sho for control and status.All 128 bytes can be directly written or read except for the following: Registers C and D are read-only. 2.Bit 7 of Register A is read-only 3.The high order bit of the seconds byte is read-only The contents of four registers(A,B,C,and D)are described in the"Registers"section. ADDRESS MAP DS12887 Figure 2 SECONOS 14 MNUTES ALARM HOURS ALARM DAY OF THE WEEN DAY OF THE MONTH MONTH YEAR REG/STERA REGISTERB 5of19
DS12887 5 of 19 A. Periodic Interrupt Enable (PEI) bit is cleared to 0. B. Alarm Interrupt Enable (AIE) bit is cleared to 0. C. Update Ended Interrupt Flag (UF) bit is cleared to 0. D. Interrupt Request Status Flag (IRQF) bit is cleared to 0. E. Periodic Interrupt Flag (PF) bit is cleared to 0. F. The device is not accessible until RESET is returned high. G. Alarm Interrupt Flag (AF) bit is cleared to 0. H. IRQ pin is in the high impedance state. I. Square Wave Output Enable ( SQWE ) bit is cleared to 0. J. Update Ended Interrupt Enable (UIE) is cleared to 0. In a typical application RESET can be connected to VCC. This connection will allow the DS12887 to go in and out of power fail without affecting any of the control registers. ADDRESS MAP The address map of the DS12887 is shown in Figure 2. The address map consists of 114 bytes of user RAM, 10 bytes of RAM that contain the RTC time, calendar, and alarm data, and 4 bytes which are used for control and status. All 128 bytes can be directly written or read except for the following: 1. Registers C and D are read–only. 2. Bit 7 of Register A is read–only. 3. The high order bit of the seconds byte is read–only. The contents of four registers (A,B,C, and D) are described in the “Registers” section. ADDRESS MAP DS12887 Figure 2
DS12887 TIME,CALENDAR AND ALARM LOCATIONS The time and calendar information is obtained by reading the appropriate memory bytes.The time, calendar,and alarm are set or initialized by writing the appropriate RAM bytes.The contents of the 10 time,calendar,and alarm bytes can be either Binary or Binary-Coded Decimal(BCD)format.Before writing the internal time,calendar,and alarm registers,the SET bit in Register B should be written to a logic 1 to prevent updates from occurring while access is being attempted.In addition to writing the 10 time,calendar,and alarm registers in a selected format (binary or BCD).the data mode bit(DM)of Register B must be set to the appropriate logic level.All 10 time.calendar,and alarm bytes must use the same data mode.The set bit in Register B should be cleared after the data mode bit has been written to allow the real time clock to update the time and calendar bytes.Once initialized.the real time clock makes all undates in the selected mode the data mode can not be changed without reinitializing the 10 data bytes Table 2 shows the binary and BCD formats of the 10 ti calendar and ala locatio The 24-12bit be teintializing the Whe e 1 ormat of the epres ogic s are alwa s ac they are double nce per se the 10 bytes are 1 by second d chec ed 1 or an alarn 0 dition.Ifa of the time and r data occurs seconds,minutes,hour s,etc.may not correlate. The probability of reading inco orrect time and calen dar data is low.Several methods of avoiding any possible incorrect time and calendar reads are covered later in this text. The three alarm bytes can be used in two ways.First,when the alarm time is written in the appropriate hours,minutes,and seconds alarm locations,the alarm interrupt is initiated at the specified time each day if the alarm enable bit is high.The second use condition is to insert a"don't care"state in one or more of the three alarm bytes.The "don't care"code is any hexadecimal value from Co to FF.The two most significant bits of each byte set the "don't care"condition when at logic 1.An alarm will be generated each hour when the "don't care"bits are set in the hours byte.Similarly,an alarm is generated every minute with"don't care"codes in the hours and minute alarm bytes.The"don't care"codes in all three alarm bytes create an interrupt every second. TIME,CALENDAR AND ALARM DATA MODES Table 2 ADDRESS FUNCTION DECIMAL RANGE LOCATION Range BINARY DATA MODE BCD DATA MODE 0 Seconds 0-59 00-3B 00-59 Seconds Alarm 0.0 00.3B 00.5g Minutes 0.50 00-3B 00.50 0.59 00-3D 00.5 4 1-1 01-0C AM,81-8C PM 01-12AM.81-92P Hours-24-hr Mode 0-23 00-17 00-23 Hours Alarm-12-hr 1-12 01-0CAM.81-8CPM L01-12AM81-92PM Hours Alarm-24-hr 0-23 00-17 00-23 6 Day of the Week 1-7 01-07 01-07 Sunday =1 Date of the Month 121 01-1F 0121 Month 1.12 01-0 01-12 0-99 00-63 00-99 6of19
DS12887 6 of 19 TIME, CALENDAR AND ALARM LOCATIONS The time and calendar information is obtained by reading the appropriate memory bytes. The time, calendar, and alarm are set or initialized by writing the appropriate RAM bytes. The contents of the 10 time, calendar, and alarm bytes can be either Binary or Binary–Coded Decimal (BCD) format. Before writing the internal time, calendar, and alarm registers, the SET bit in Register B should be written to a logic 1 to prevent updates from occurring while access is being attempted. In addition to writing the 10 time, calendar, and alarm registers in a selected format (binary or BCD), the data mode bit (DM) of Register B must be set to the appropriate logic level. All 10 time, calendar, and alarm bytes must use the same data mode. The set bit in Register B should be cleared after the data mode bit has been written to allow the real time clock to update the time and calendar bytes. Once initialized, the real time clock makes all updates in the selected mode. The data mode cannot be changed without reinitializing the 10 data bytes. Table 2 shows the binary and BCD formats of the 10 time, calendar, and alarm locations. The 24–12 bit cannot be changed without reinitializing the hour locations. When the 12–hour format is selected, the high order bit of the hours byte represents PM when it is a logic 1. The time, calendar, and alarm bytes are always accessible because they are double buffered. Once per second the 10 bytes are advanced by 1 second and checked for an alarm condition. If a read of the time and calendar data occurs during an update, a problem exists where seconds, minutes, hours, etc. may not correlate. The probability of reading incorrect time and calendar data is low. Several methods of avoiding any possible incorrect time and calendar reads are covered later in this text. The three alarm bytes can be used in two ways. First, when the alarm time is written in the appropriate hours, minutes, and seconds alarm locations, the alarm interrupt is initiated at the specified time each day if the alarm enable bit is high. The second use condition is to insert a “don’t care” state in one or more of the three alarm bytes. The “don’t care” code is any hexadecimal value from C0 to FF. The two most significant bits of each byte set the “don’t care” condition when at logic 1. An alarm will be generated each hour when the “don’t care” bits are set in the hours byte. Similarly, an alarm is generated every minute with “don’t care” codes in the hours and minute alarm bytes. The “don’t care” codes in all three alarm bytes create an interrupt every second. TIME, CALENDAR AND ALARM DATA MODES Table 2 ADDRESS RANGE LOCATION FUNCTION DECIMAL RANGE BINARY DATA MODE BCD DATA MODE 0 Seconds 0-59 00-3B 00-59 1 Seconds Alarm 0-59 00-3B 00-59 2 Minutes 0-59 00-3B 00-59 3 Minutes Alarm 0-59 00-3B 00-59 4 Hours-12-hr Mode 1-12 01-0C AM, 81-8C PM 01-12AM, 81-92PM Hours-24-hr Mode 0-23 00-17 00-23 5 Hours Alarm-12-hr 1-12 01-0C AM, 81-8C PM 01-12AM, 81-92PM Hours Alarm-24-hr 0-23 00-17 00-23 6 Day of the Week Sunday = 1 1-7 01-07 01-07 7 Date of the Month 1-31 01-1F 01-31 8 Month 1-12 01-0C 01-12 9 Year 0-99 00-63 00-99
DS12887 NONVOLATILE RAM The general purpose nonvolatile RAM bytes are not dedicated to any special function within the DS12887 They can be used by the processor program as nonvolatile memory and are fully available during the update cycle. INTERRUPTS The RTC plus RAM includes three separate.fully automatic sources of interrupt for a processor.The alarm interrupt can be p rammed to occur inte rupt can mbe selected for rates from 50 ms to 12 Hs rupt an he sed to n an update ycle is complete.Each of these independent interupt conditions is described in greater thabie the minomu mbemm o nthe the event occurs.A 0 in an interrupt-enable bit prohibits the IRQ pin from being asserted from that interrupt condition.If an interrupt flag is already set when an interrupt is enabled,IRQ is immediately set at an active level although the interrupt initiating the event may have occurred much earlier.as a result there are cases where the program should clear such earlier initiated interrupts before first enabling new interrupts. When an interrupt event occurs,the relating flag bit is set to logic 1 in Register C.These flag bits are set in pende. of the of the correspondi enable bit in R egis er B. The flag bit can be ena atus bit an ind e g bit wa shoul they are cleared eacl Regist er C that bits whic are set remain stable e throughout the read cycle.All bits which are set(high)are clearec wnen rea new interrupts which are pending during the read cycle are held until after One.2.or 3 bits can be set when reading Register C.Each utilized flag bit should be complete examined when read to ensure that no interrupts are lost The second flag bit usage method is with fully enabled interrupts.When an interrupt flag bit is set and the have been initiated by the DS12887.The act of reading Register C clears all active flag bits and the IRQF bit OSCILLATOR CONTROL BITS When the DS12887 is shipped from the factory,the internal oscillator is turned off.This feature prevents the lithium energy cell from being used until it is installed in a system.A pattern of 010 in bits 4 through 6 of register a will turn the oscillator on and enable the countdown chain a pattern of 11x will turn the oscillator on,but holds the countdown chain of the oscillator in reset.All other combinations of bits 4 through 6 keep the oscillator off. 7of19
DS12887 7 of 19 NONVOLATILE RAM The 114 general purpose nonvolatile RAM bytes are not dedicated to any special function within the DS12887. They can be used by the processor program as nonvolatile memory and are fully available during the update cycle. INTERRUPTS The RTC plus RAM includes three separate, fully automatic sources of interrupt for a processor. The alarm interrupt can be programmed to occur at rates from once per second to once per day. The periodic interrupt can be selected for rates from 500 ms to 122 ms. The update–ended interrupt can be used to indicate to the program that an update cycle is complete. Each of these independent interrupt conditions is described in greater detail in other sections of this text. The processor program can select which interrupts, if any, are going to be used. Three bits in Register B enable the interrupts. Writing a logic 1 to an interrupt-enable bit permits that interrupt to be initiated when the event occurs. A 0 in an interrupt-enable bit prohibits the IRQ pin from being asserted from that interrupt condition. If an interrupt flag is already set when an interrupt is enabled, IRQ is immediately set at an active level, although the interrupt initiating the event may have occurred much earlier. As a result, there are cases where the program should clear such earlier initiated interrupts before first enabling new interrupts. When an interrupt event occurs, the relating flag bit is set to logic 1 in Register C. These flag bits are set independently of the state of the corresponding enable bit in Register B. The flag bit can be used in a polling mode without enabling the corresponding enable bits. The interrupt flag bit is a status bit which software can interrogate as necessary. When a flag is set, an indication is given to software that an interrupt event has occurred since the flag bit was last read; however, care should be taken when using the flag bits as they are cleared each time Register C is read. Double latching is included with Register C so that bits which are set remain stable throughout the read cycle. All bits which are set (high) are cleared when read and new interrupts which are pending during the read cycle are held until after the cycle is completed. One, 2, or 3 bits can be set when reading Register C. Each utilized flag bit should be examined when read to ensure that no interrupts are lost. The second flag bit usage method is with fully enabled interrupts. When an interrupt flag bit is set and the corresponding interrupt enable bit is also set, the IRQ pin is asserted low. IRQ is asserted as long as at least one of the three interrupt sources has its flag and enable bits both set. The IRQF bit in Register C is a 1 whenever the IRQ pin is being driven low. Determination that the RTC initiated an interrupt is accomplished by reading Register C. A logic 1 in bit 7 (IRQF bit) indicates that one or more interrupts have been initiated by the DS12887. The act of reading Register C clears all active flag bits and the IRQF bit. OSCILLATOR CONTROL BITS When the DS12887 is shipped from the factory, the internal oscillator is turned off. This feature prevents the lithium energy cell from being used until it is installed in a system. A pattern of 010 in bits 4 through 6 of Register A will turn the oscillator on and enable the countdown chain. A pattern of 11X will turn the oscillator on, but holds the countdown chain of the oscillator in reset. All other combinations of bits 4 through 6 keep the oscillator off
DS12887 SQUARE WAVE OUTPUT SELECTION Thirteen of the 15 divider taps are made available to a l-of-15 selector,as shown in the block diagram of Figure 1.The first purpose of selecting a divider tap is to generate a square wave output signal on the SQW pin.The RSO-RS3 bits in Register A establish the square wave output frequency.These frequencies are listed in Table 1.The SQW frequency selection shares its 1-of-15 selector with the periodic interrupt generator.Once the frequency is selected,the output of the SQW pin can be turned on and off under program control with the square wave enable bit(SQWE). PERIODIC INTERRUPT SELECTION The periodic interrupt will cause the IRO pin to go to an active state from once every 500 ms to once every 122 us.This rate from the alarm inte rrupt which can be nce ond to once pe day.The periodic i rrupt rate ing t A bits which selec the square wav freque anging the wav requency and he periodic interrupt output.However,eac separate nabl n Regis imilarly,the periodic interrupt is enabled by the PIE output intervals.or await the next needed software function. UPDATE CYCLE The DS12887 executes an update cycle once per second regardless of the SET bit in Register B.When the SET bit in Register Bis set to 1 r copy of the double buffere d time endar and ala byte he no m inte opy of the re ing or writing the time,cal uffers an so guarantee t time and calenda inform on is con en ne up with th orresponding time ll three positions There are three methods that can handle access of the real time clock that avoid any possibility of accessing inconsistent time and calendar data.The first method uses the update-ended interrupt.If enabled,an interrupt occurs after every up date cycle that indicates that over 999 ms are available to read valid time and date information.If this interrupt is used,the IRQF bit in Register C should be cleared before leaving the interrupt routine. A second method uses the update-in-progress bit (UIP)in Register A to determine if the update cycle is in progress.The UIP bit will pulse once per second.After the UIP bit goes high,the update transfer occurs 244 us later.If a low is read on the UIP bit,the user has at least 244 us before the time/calendar data will be changed.Therefore,the user should avoid interrupt service routines that would cause the time needed to read v id time/calenda data to exceed244μs The third method use a periodic interrupt to determine if an update cycle is in progress.The UIP bit ir Register A is set high between the setting of the PF bit in Register C(see Figure 3).Periodic interrupts that occur at a rate of greater than tauc allow valid time and date information to be reached at each occurrence of the periodic interrupt.The reads should be complete within one(t+tBuc)to ensure that data is not read during the update cycle. 8of19
DS12887 8 of 19 SQUARE WAVE OUTPUT SELECTION Thirteen of the 15 divider taps are made available to a 1-of-15 selector, as shown in the block diagram of Figure 1. The first purpose of selecting a divider tap is to generate a square wave output signal on the SQW pin. The RS0–RS3 bits in Register A establish the square wave output frequency. These frequencies are listed in Table 1. The SQW frequency selection shares its 1–of–15 selector with the periodic interrupt generator. Once the frequency is selected, the output of the SQW pin can be turned on and off under program control with the square wave enable bit (SQWE). PERIODIC INTERRUPT SELECTION The periodic interrupt will cause the IRQ pin to go to an active state from once every 500 ms to once every 122 ms. This function is separate from the alarm interrupt which can be output from once per second to once per day. The periodic interrupt rate is selected using the same Register A bits which select the square wave frequency (see Table 1). Changing the Register A bits affects both the square wave frequency and the periodic interrupt output. However, each function has a separate enable bit in Register B. The SQWE bit controls the square wave output. Similarly, the periodic interrupt is enabled by the PIE bit in Register B. The periodic interrupt can be used with software counters to measure inputs, create output intervals, or await the next needed software function. UPDATE CYCLE The DS12887 executes an update cycle once per second regardless of the SET bit in Register B. When the SET bit in Register B is set to 1, the user copy of the double buffered time, calendar, and alarm bytes is frozen and will not update as the time increments. However, the time countdown chain continues to update the internal copy of the buffer. This feature allows time to maintain accuracy independent of reading or writing the time, calendar, and alarm buffers and also guarantees that time and calendar information is consistent. The update cycle also compares each alarm byte with the corresponding time byte and issues an alarm if a match or if a “don’t care” code is present in all three positions. There are three methods that can handle access of the real time clock that avoid any possibility of accessing inconsistent time and calendar data. The first method uses the update–ended interrupt. If enabled, an interrupt occurs after every up date cycle that indicates that over 999 ms are available to read valid time and date information. If this interrupt is used, the IRQF bit in Register C should be cleared before leaving the interrupt routine. A second method uses the update–in–progress bit (UIP) in Register A to determine if the update cycle is in progress. The UIP bit will pulse once per second. After the UIP bit goes high, the update transfer occurs 244 ms later. If a low is read on the UIP bit, the user has at least 244 ms before the time/calendar data will be changed. Therefore, the user should avoid interrupt service routines that would cause the time needed to read valid time/calendar data to exceed 244 ms. The third method uses a periodic interrupt to determine if an update cycle is in progress. The UIP bit in Register A is set high between the setting of the PF bit in Register C (see Figure 3). Periodic interrupts that occur at a rate of greater than tBUC allow valid time and date information to be reached at each occurrence of the periodic interrupt. The reads should be complete within one (tPI/2 + tBUC) to ensure that data is not read during the update cycle
DS12887 UPDATE-ENDED AND PERIODIC INTERRUPT RELATIONSHIP Figure 3 BESSTERA REGISTER B REOISTERC acoecceopaoeeg2 REGISTERS The DS12887 has four control registers which are accessible at all times.even during the update cycle REGISTER A MSB LsB BIT7 BIT6 BIT 5 BIT4 BIT3 BIT2 BIT 1 BIT0 UIP DVI RS2 UIP The Update In Progress (UIP)bit The time,calendar,and alarm information in RAM is fully available for access when the UIP bit is 0.The afcted byEr Writing the E bit in Register B to aI inhibits any lears the UIP status DVO,DV1,DV2 These 3 bits are used to turn the oscillator on or off and to reset the countdown chain.A pattern of 010 is the only combination of bits that will turn the oscillator on and allow the RTC to keep time.A pattern of 11X will enable the oscillator but holds the countdown chain in reset.The next update will occur at 500 ms after a pattern of 010 is written to DV0,DV1,and DV2. RS3,RS2,RS1,RS0 These four rate-sel er or disable the divider output. use o generate an output square wave (SQW pin)and/or a periodic interrupt.The user can do one of the following: 1.Enable the interrupt with the PIE bit, 2.Enable the SQW output pin with the SQWE bit; 3.Enable both at the same time and the same rate;or 4.Enable neither Table 1 lists the periodic interrupt rates and the square wave frequencies that can be chosen with the RS bits.These four read/write bits are not affected by RESE 9of19
DS12887 9 of 19 UPDATE–ENDED AND PERIODIC INTERRUPT RELATIONSHIP Figure 3 REGISTERS The DS12887 has four control registers which are accessible at all times, even during the update cycle. REGISTER A MSB LSB BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 UIP The Update In Progress (UIP) bit is a status flag that can be monitored. When the UIP bit is a 1, the update transfer will soon occur. When UIP is a 0, the update transfer will not occur for at least 244 ms. The time, calendar, and alarm information in RAM is fully available for access when the UIP bit is 0. The UIP bit is read only and is not affected by RESET . Writing the SET bit in Register B to a 1 inhibits any update transfer and clears the UIP status bit. DV0, DV1, DV2 These 3 bits are used to turn the oscillator on or off and to reset the countdown chain. A pattern of 010 is the only combination of bits that will turn the oscillator on and allow the RTC to keep time. A pattern of 11X will enable the oscillator but holds the countdown chain in reset. The next update will occur at 500 ms after a pattern of 010 is written to DV0, DV1, and DV2. RS3, RS2, RS1, RS0 These four rate–selection bits select one of the 13 taps on the 15–stage divider or disable the divider output. The tap selected can be used to generate an output square wave (SQW pin) and/or a periodic interrupt. The user can do one of the following: 1. Enable the interrupt with the PIE bit; 2. Enable the SQW output pin with the SQWE bit; 3. Enable both at the same time and the same rate; or 4. Enable neither. Table 1 lists the periodic interrupt rates and the square wave frequencies that can be chosen with the RS bits. These four read/write bits are not affected by RESET
DS12887 REGISTER B MSB LSB BIT7 BIT6 BIT5 BIT 4 BIT3 BIT2 BIT 1 BIT0 SET PIE AIE UIE SQWE DM 24/12 DSE SET When the set bit is a o the update transfer functions normally by advancing the counts or per second When the ET bit is written to a any update transfer is inhibited and the program can initialize the time and calendar bytes without an update occurring in the midst of initializing.Read cycles can be executed in a similar manner.SET is a read/write bit that is not modified by RESET or intemal functions of the DS12887. PIE The periodic interrupt enable PIE bit is a read/write bit which allows the Periodic Interrupt Flag(PF)bit in Register C to drive the IRQ pin low.When the PIE bit is set to 1,periodic interrupts are generated by driving the RQ pin low at a rate specified by the RS3-RS0 bits of Register A.A0in the PIE bit blocks the IRQ output from being driven by a periodic interrupt,but the Periodic Flag(PF)bit is still set at the periodic rate.PIE is not modified by any internal DS12887 functions,but is cleared to 0 on RESET AIE The Alarm Interrupt Enable(AIE)bit is a read/write bit which,when set to a 1,permits the Alarm Flag (AF)bit in Register C to assert IRQ.An alarm interrupt occurs for each second that the three time bytes equal the three alarm bytes including a"don't care"alarm code of binary 11XXXXXX.When the AlE bit is AF bit does not initiate the R signal.The RESET pin clears AIE to The interal functions of the DS12887 do not affect the AlE bit. UIE The Update Ended Interrupt Enable(UIE)bit is a read/write that enables the Update End Flag(UF)bit in Register C to assert IRQ.The RESET pin going low or the SET bit going high clears to UlE bit. SQWE When the Squ SQW pin is held low,the state of SQWE is cleared by the RESET pin.SQWE is a read/write bit. DM modified by internal functions or RESET.A 1 in DM signifies binary data while a 0 in DM specifies Binary Coded Decimal (BCD)data 24/12 The 24/12 control bit establishes the format of the hours byte.A 1 indicates the 24-hour mode and a 0 indicates the 12-hour mode.This bit is read/write and is not affected by internal functions of RESET. 10of19
DS12887 10 of 19 REGISTER B MSB LSB BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 SET PIE AIE UIE SQWE DM 24/12 DSE SET When the SET bit is a 0, the update transfer functions normally by advancing the counts once per second. When the SET bit is written to a 1, any update transfer is inhibited and the program can initialize the time and calendar bytes without an update occurring in the midst of initializing. Read cycles can be executed in a similar manner. SET is a read/write bit that is not modified by RESET or internal functions of the DS12887. PIE The periodic interrupt enable PIE bit is a read/write bit which allows the Periodic Interrupt Flag (PF) bit in Register C to drive the IRQ pin low. When the PIE bit is set to 1, periodic interrupts are generated by driving the IRQ pin low at a rate specified by the RS3–RS0 bits of Register A. A 0 in the PIE bit blocks the IRQ output from being driven by a periodic interrupt, but the Periodic Flag (PF) bit is still set at the periodic rate. PIE is not modified by any internal DS12887 functions, but is cleared to 0 on RESET . AIE The Alarm Interrupt Enable (AIE) bit is a read/write bit which, when set to a 1, permits the Alarm Flag (AF) bit in Register C to assert IRQ . An alarm interrupt occurs for each second that the three time bytes equal the three alarm bytes including a “don’t care” alarm code of binary 11XXXXXX. When the AIE bit is set to 0, the AF bit does not initiate the IRQ signal. The RESET pin clears AIE to 0. The internal functions of the DS12887 do not affect the AIE bit. UIE The Update Ended Interrupt Enable (UIE) bit is a read/ write that enables the Update End Flag (UF) bit in Register C to assert IRQ . The RESET pin going low or the SET bit going high clears to UIE bit. SQWE When the Square Wave Enable (SQWE) bit is set to a 1, a square wave signal at the frequency set by the rate–selection bits RS3 through RS0 is driven out on a SQW pin. When the SQWE bit is set to z0, the SQW pin is held low; the state of SQWE is cleared by the RESET pin. SQWE is a read/write bit. DM The Data Mode (DM) bit indicates whether time and calendar information is in binary or BCD format. The DM bit is set by the program to the appropriate format and can be read as required. This bit is not modified by internal functions or RESET . A 1 in DM signifies binary data while a 0 in DM specifies Binary Coded Decimal (BCD) data. 24/12 The 24/12 control bit establishes the format of the hours byte. A 1 indicates the 24–hour mode and a 0 indicates the 12–hour mode. This bit is read/write and is not affected by internal functions of RESET