Real Time Clock/Calendar/Alarm with Interpreter for battery backed-up and battery powered operation with DS interface using ATtiny12

Timekeeping test circuit

Based on the Atmel ATtiny12L-4PI microcontroller -A real Time Clock/Calendar for less than US$1.50 in moderate quantity.

This is the timekeeping test circuit. It includes a one-transistor circuit to switch in the 5V power supply when present and drop back to the 3v battery the rest of the time. That loop of blue wire-wrapping wire is a lariat used to quickly and easily pull the chip out of the socket during development without damage and without having to reach for the
removal tool.
Timekeeping test circuit

• Low current operation (chip sleeps most of the time)
• Alarm and external event triggered interpreter operation
• Capable of stand-alone timer and alarm use. No additional processor required once programmed.
• One external input pin and one open drain output pin for interpreter


AVRStudio Hex file for clock CV0011.hex
This documentation printed to .PDF format t12clock.pdf
Short form programming and reference guide dscmap.pdf
AVR STudio source 02.11.10 V0011.asm
After programming, you must:
1. Select the Low Frequency Crystal oscillator 67ms + 32k clock, and
2. Disable Reset to free up pin 1 as open drain output.

You might want to enable brownout detection if the EEPROM is important in your application, but be aware that activating brown out detection will increase current drain.
The clock is based on the Atmel ATtiny12 processor which is ideal for this kind of application because of its low current drain when clocked by a 32768 Hz crystal.

Architectural Description

DS interface allows access to a register file, EEPROM, and an instruction interpreter. A separate interpreter interprets instructions stored in the EEPROM. EEPROM interpreter operation can be initiated by a clock/calendar alarm, an external event, or by command via the DS interface. The register set plays a central role in moving information between the DS interface and the clock and EEPROM interpreter. One external input can be sampled by the interpreter and one external open drain output can be driven by the interpreter
The clock’s output can be read from registers 3 through 8, but writing to these registers does not affect the clock unless the “write time buffers to clock” flag is set in the control register (register $0F). See the Register Assignments section for more detail.

It should be noted that this application of the DS Inteface has a time-out period of 1 to 2 seconds for both send and receive. This prevents the inteface from hanging up in applicatoins in which the DS Interface pins are exposed to shorts on in which DS Interface transactions are interrupted. It also puts contstraints on the response time of the host. As an example, to read the control register, the read comamnd ($1F) must be sent, and the host must respond to the clock’s signal for attention within two seconds, or the transaction will be abandoned and the interface reset.

Read more: Real Time Clock/Calendar/Alarm with Interpreter for battery backed-up and battery powered operation with DS interface using ATtiny12

Leave a Comment

Your email address will not be published. Required fields are marked *