The WWVB part was really quite simple! I've seen all these mega complicate algorithms, but I just does not need to be that complicated. Let me clean up my code and add a few more rejection conditions and I'll post it to the group. I decided to NOT go with edge-change interrupts because they generate too much activity due to noise. I just look for a falling edge, count to 650 and see if we are still low, then I do it all over again for another 650. This finds the 2 consecutive MARKS. Then I just keep repeating the process with 350ms delays to to distinguish between 0 and 1. Then do some simple addition to get the actual clock value. Its about 50 lines of BASCOM code. Later, I am going to use this to set a RTC, then on successive reads, I'll compare the new read with the last read and see if it correlates correctly to the time that has expired between the two reads according to the RTC. If they don't pass validation, I'll throw them both out (not way to tell which was wrong) and start over. This will be done with a 8-pin ATTINY which will send the data to the main uC via serial. The WWVB unit will be a small box on a 3 conductor cable so I can get it away from the HV noise as well as position it in the right direction (which is critical).
In Houston Texas I can get a clean decode of probably every 3rd minute in the evening. -Ryan -- You received this message because you are subscribed to the Google Groups "neonixie-l" group. To post to this group, send an email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/neonixie-l?hl=en-GB.
