For a 1Hz signal maybe you could use a DS3231 RTC chip. It has the > 10ppm accuracy your looking for but the main downside is you need to connect to an MCU via I2C to turn the 1Hz output on.
Riva:
For a 1Hz signal maybe you could use a DS3231 RTC chip. It has the > 10ppm accuracy your looking for but the main downside is you need to connect to an MCU via I2C to turn the 1Hz output on.
Brilliant!
I could just have a couple of test-pads and use pogos to turn it on rather than having a permanent I2C to the MCU?
I have been looking around for a 1Hz stable clock (fair accuracy...10s of ppm) that is lower power.
Lower power than ... what?
How about an ATtiny13 (or even an ATmega) with a 32.768kHz crystal, and one of the timers set up to drive an output pin? It would be able to do ... other things, as well.
westfw:
Lower power than ... what?
How about an ATtiny13 (or even an ATmega) with a 32.768kHz crystal, and one of the timers set up to drive an output pin? It would be able to do ... other things, as well.
I basically want a stable 1Hz "tick". My project is using an ATTiny85. The Attiny85 needs to have an accurate clock.
There is also a need for 2 pins being used for an 8bit shift register (cascaded so 2 really).
I wanted 2 buttons as well. Was considering maybe the idea of using a resistor ladder so I could just have one pin used (but more components to solder) but would prefer the less soldering and components for having 2 buttons on their own pins using the INTERNAL_PULLUP s.
I want the ATTiny85 asleep as much as possible, only really awoken on the tick of 1 second (1Hz) or when a button is pressed.
The issue with a crystal on the attiny85 is it eats up 2 pins...so I went for the idea of an external interrupt on INT0 with a 1Hz source (PB0)
2 Pins for buttons (PB1 and PB2)
2 pins for the Shift Register chain (PB3 and PB4).
That takes me to using all the pins, otherwise the larger ATTiny84 is needed.
I want to keep component count low as space is limited...so using SOIC packages (I am no good at soldering anything less than SOIC / 0805) but also with an amature's perspective in mind.
The all in one RTC is a nice idea...means it cuts down on a couple of caps and a crystal!
I could have 2 pads that allow for the 1Hz square wave output to be enabled via an external "programming MCU" using the I2C and then the settings should be set and saved (with the battery backup).
It is a personal project, not commercial/production so if needs be I can always re-program occasionally.
Another way to approach this is to use a Pro Mini. Reburn the fuses to use the 8 MHz internal oscillator, and replace the crystal with a 32 kHz watch crystal. Timer2 can be used in asynchronous mode, with the watch crystal providing the frequency reference. Set its prescaler to x128, and it will naturally overflow every second, so you can use the TIMER2_OVF to wake up.
Use SLEEP_MODE_PWR_SAVE instead of SLEEP_MODE_PWR_DOWN. Power Save keeps the asynchronous clock active so that Timer2 runs in sleep mode.
I've just been looking at the circuits in the original post: the schematic shown does not match the
oscillator in Eagle (the second inverter taps from a different place).
The SCL/SDA lines have pullup resistors on them so I wonder if you send the I2C command on setup to turn on the 1Hz signal and then use the pins as input to act as button keys?