I wanted an alarm clock to use for the next 20 years.
- FPGA powered with 32bit CPU, 128kx16 SRAM
- Hardware MPEG decoding
- 13W audio amp
- 802.11n Wifi, SD
- Mains or 12v brick powered
- 544x tube compatible
- Regulated HV
Isolation slots did not show in 3d so I exported to the flexible CAD tool "MSPaint"
Buttons/switches are on a separate sub-board over 1wire.
I will update as I build it
Probably best to move C26 (electrolytic cap) away from the heatsink to ensure a longer cap lifetime.
Is wifi for NTP sync or media only?
What's the local time base?
Related sub-question; how good will holdover be when an NTP source is unavailable?
Related sub-sub-question; how resilient will timekeeping be to power failures?
Edited to add my appreciation for over-engineering, especially on personal projects.
This is totally awesome! Nice work man
Beautiful work so far, thanks for sharing.
marshallh, you should be using
one of these as your main clock timebase...
marshallh, you should be using one of these as your main clock timebase...
Someone turned me onto these...
http://www.microsemi.com/campaigns/atomic-clocks/I have a 32khz and 50mhz quartz oscillator for timebase. Battery backup is nonexistent though I supose you could wire a 12v SLA to the jack and it would be a crappy UPS. Wifi is for NTP though it could be for streaming.
Added a photocell forming a RC circuit on a FPGA pin. Should let me sense ambient light and dim the tubes that way. Shunt the voltage then see how long it takes to reach Vhth with the pin tristated.
marshallh, you should be using one of these as your main clock timebase...
Someone turned me onto these...
http://www.microsemi.com/campaigns/atomic-clocks/
Nice part; thanks for sharing.
I have a 32khz and 50mhz quartz oscillator for timebase.
One detail I am genuinely curious: on a base-2 processor, how can you accurately obtain 1 second timebase out of 50ms by using a binary divider on your CPU?
It needs an OCXO in there somewhere. O0
One detail I am genuinely curious: on a base-2 processor, how can you accurately obtain 1 second timebase out of 50ms by using a binary divider on your CPU?
http://www.microchip.com/forums/m410159.aspxIf you need to generate an arbitrary frequency you can do so with a fractional-N counter. You will get good long term stability as long as you don't truncate the numbers, at the cost of increased jitter. I've done that to generate I2S clocks off a 74.25mhz clock. An analyzer showed the clock was in spec and with acceptable jitter.
For longer term things you want to stick to old fashioned quartz. There are now lots of MEMS devices that are very cheap (I use them for base clocks and digital stuff) but they have poor long-term drift. They are more resilient for rugged environments since they don't exhibit piezo effects. A MEMS oscillator is basically a fixed output buzzing structure with loads of compensation circuitry to correct for PVT.
They're sold under various frequencies by burning internal PLL settings.
These oscillators have only recently become practical and they are quickly getting better.
Another good way to get accurate time... just read the line frequency of the AC input.
Another good way to get accurate time... just read the line frequency of the AC input.
Do they really keep it that stable? I mean, for all applications other than clocks trying to tell time off the mains it doesn't matter one bit if it is off 1%, no other applications would ever notice it being off even that much, but that would kill basing a clock on it. If they are keeping it accurate it must be on purpose. Which begs the question, what timebase is the power company using?
Many old-style plug-in clocks use mains as a time reference, and they generally keep fairly good time, so while I don't know the details, it's clearly accurate enough for household-use timekeeping.
The short answer is although the frequency does vary, it averages out by design.
https://en.wikipedia.org/wiki/Utility_frequency#Stability
That's more or less what I figured. It doesn't matter a bit if the jitter makes some ticks off, as long as there are 5,184,000 in a day, and the next day, and the next. They can let it drift for a bit and then drift it the other way until the count comes back. I get that.
Still, to do even this this you need an accurate timebase. I wonder what it is. I guess they have some sort of a feed from the national atomic clock.
Thanks for the links.
The short answer is although the frequency does vary, it averages out by design.
https://en.wikipedia.org/wiki/Utility_frequency#Stability
That is interesting, I'd heard that rumor before, but as the principal software engineer for two 550MW units I can say there was absolutely no logic to accomplish the above. Frequency was calculated by rotor RPM, no correction was made between 3597 and 3603 and is fairly cyclic between those limit. So it will average, think I'll set my old Heathkit power line clock with my GPSDO later today.
This might also be surprising, but there is no "standard" software suit for generation units historically, although some are starting to adopt control system manufacture standards. Which also don't included this correction.
(trying to ponder if a couple specific units with control logic to attempt correction could be enough to influence the entire grid a few PPM.....)
I will inquire further.
What chips are you using to drive the Nixies? I'm guessing they're Microchip (nee Supertex) but which one?
I think it was supertex HV5122
I think it was supertex HV5122
Thanks. I'm thinking of doing a layout using those but at the other end of the technology scale, just using a small PIC. Pain they need 12V logic levels!
Oh boy! I can't wait to see it populated.
Many old-style plug-in clocks use mains as a time reference, and they generally keep fairly good time, so while I don't know the details, it's clearly accurate enough for household-use timekeeping.
The mains frequency does vary a little from moment to moment, but over a 24 hours period they manage to have a more or less exact number of cycles. An interesting thing to do is to trigger your scope on the mains while watching a 5MHz or 6MHz signal. Someone starts pulling big power somewhere and as the mains frequency drops ever so slightly the trace slides to the left(?) then finally slows and stops when the steam has been automatically turned up and then it slides to the right(?) to get back to where it was. Entertainment for nerds.
The boards are looking very nice indeed.