View previous topic :: View next topic |
Author |
Message |
yamazaki
Joined: 24 Nov 2012 Posts: 3
|
Clock gains 1 second per hour |
Posted: Sat Nov 24, 2012 4:52 pm |
|
|
Re RTC routine by ckielstra in Code Library:
http://www.ccsinfo.com/forum/viewtopic.php?t=26177
I'm sorry for ressurecting this topic, but there's a question made some posts earlier that wasn't fully answered.
I've implemented this RTC routine too, but my clock gains 1s every hour, compared to my computer.
Is this acceptable? Or is there a problem with my oscillator circuit? I'm using a 20.000 (20MHz) cristal with 15pF capacitors (I'm not sure about their accuracy though). How can I improve the precision? Also, I'm running it on a protoboard, does it changes something?
I've changed the cristals and the capacitors, without success (sometimes it gets even worse).
Thanks. |
|
![](templates/subSilver/images/spacer.gif) |
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
|
Posted: Sat Nov 24, 2012 5:12 pm |
|
|
Quote: |
1s every hour, compared to my computer.
|
surely you jest !!!
since when did a random PC clock become the "time god " ???
how does your time compare to a TIME STANDARD ???
that is a question we can bite into.
how do you know that your PC is not OFF by a second per hour?
in fact how do you know anything for sure ??
LOL
![Very Happy](images/smiles/icon_biggrin.gif) |
|
![](templates/subSilver/images/spacer.gif) |
yamazaki
Joined: 24 Nov 2012 Posts: 3
|
|
Posted: Sat Nov 24, 2012 5:19 pm |
|
|
That's a good point. But, even so, we assume (at least I do) the computer's clock is a good reference. And gaining 1s every hour is pretty imprecise for me. It's 12 minutes per month, and 2 hours per year. That's a lot of time. |
|
![](templates/subSilver/images/spacer.gif) |
Mike Walne
Joined: 19 Feb 2004 Posts: 1785 Location: Boston Spa UK
|
|
Posted: Sat Nov 24, 2012 5:35 pm |
|
|
I'd expect better than 100 parts per million from almost any quartz crystal.
Could be a layout issue, if you've got large loop areas.
However, you do need to establish a good reference frequency first.
Mike |
|
![](templates/subSilver/images/spacer.gif) |
yamazaki
Joined: 24 Nov 2012 Posts: 3
|
|
Posted: Sat Nov 24, 2012 5:42 pm |
|
|
Isn't the computer a good one? If not, which one? |
|
![](templates/subSilver/images/spacer.gif) |
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
|
Posted: Sun Nov 25, 2012 8:56 am |
|
|
A good one is one that is traceable to NIST or some other recognized standard.
A quality frequency counter comes to mind as a useful reference in my case.
In developing research instruments, i have seen numerous instances of PC's with pretty good battery RTC timing but modestly POOR short interval operating time keeping in the range of hours while booted.
Most PCs do NOT use the RTC source during operation, referring to it at the OS level when booted only. hence long term and short term accuracy may diverge significantly. |
|
![](templates/subSilver/images/spacer.gif) |
ckielstra
Joined: 18 Mar 2004 Posts: 3680 Location: The Netherlands
|
|
Posted: Sun Nov 25, 2012 9:16 am |
|
|
yamazaki,
Your question is not directly related to the software routine as posted here. Please ask your question in the other General forum.
+++++++++++++++++++
Topic moved to main forum per request.
- Forum Moderator
+++++++++++++++++++ |
|
![](templates/subSilver/images/spacer.gif) |
Mike Walne
Joined: 19 Feb 2004 Posts: 1785 Location: Boston Spa UK
|
|
Posted: Sun Nov 25, 2012 5:32 pm |
|
|
Quote: | Isn't the computer a good one? If not, which one? |
Using a PC will take ages.
Try one of the broadcast standards for your part of the world.
A Google search yields several suggestions.
Or borrow/cadge a good commercial frequency meter/generator.
Mike |
|
![](templates/subSilver/images/spacer.gif) |
dyeatman
Joined: 06 Sep 2003 Posts: 1924 Location: Norman, OK
|
|
Posted: Sun Nov 25, 2012 8:12 pm |
|
|
Just for that reason I sync my PC clock to the NIST once a day, because it can be so imprecise.... _________________ Google and Forum Search are some of your best tools!!!! |
|
![](templates/subSilver/images/spacer.gif) |
gpsmikey
Joined: 16 Nov 2010 Posts: 588 Location: Kirkland, WA
|
|
Posted: Sun Nov 25, 2012 10:12 pm |
|
|
Very strange one last night - my W7 pc normally syncs to the time servers. Last night it was suddenly off an hour .. exactly - said it was 10:30PM instead of 11:30 (it had been fine earlier in the day). When I tried to sync it manually, the first three sites listed on the sync list "timed out" - tried one farther down the list and it sync'd correctly and all was well. Have not seen it before (or since). Anybody else see anything like that yesterday ?
As for the RTC that is drifting, one option would be to add a calibration routine that stores a correction factor in EEPROM that gets added or subtracted to keep more accurate time (this assumes your crystal etc. are fairly stable - if temps are wandering around and the crystal changes with temp very much, that would not work).
mikey _________________ mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3 |
|
![](templates/subSilver/images/spacer.gif) |
bkamen
Joined: 07 Jan 2004 Posts: 1611 Location: Central Illinois, USA
|
|
Posted: Mon Nov 26, 2012 12:11 am |
|
|
You can use a PC provided you are running an active NTP daemon that is phase locking its clock onto other servers.
That's the point of NTP.
Just "grabbing the time" at startup is not good enough. I've seen my Workstation PC's clock slide significant amounts over the course of one day too. (several seconds)...
However, my linux server running NTP and referencing several hosts... no fears. (one of these days, I'll get the GPS hooked up and use that... but until then..)
Anyway -- make NTP your friend. (and not in "get the time every X seconds".
-Ben _________________ Dazed and confused? I don't think so. Just "plain lost" will do. :D |
|
![](templates/subSilver/images/spacer.gif) |
RF_Developer
Joined: 07 Feb 2011 Posts: 839
|
|
Posted: Mon Nov 26, 2012 8:29 am |
|
|
Remember that its easy for firmware/software to lose time. Its much harder for it to cause a clock to run fast. So gaining time points to hardware most likely. So the PIC is fast relative to the PC, but maybe both are actually running slow... or fast, or... well, almost anything is possible. Also is it really 1s every hour, or are there hours when no time is lost, then two seconds, then one, and so on. Is the loss or gain regular or does it happen "every now and then"?
My experience of PC OS clocks is that, like all software based clocks, they run slow, generally as interrupts are missed due to high processor load. Way back in the 400MHz days I rebuilt a speciallised radar system, making it PC based (Windows 95 no less :-). I had to give the two remote radars GPS clocks and run a utility called Tardis to regularly, every hour if I remember right, time sync the PC clock. Otherwise they'd loose more than a minute overnight, which wasn't good for the radar data as one of the pair, twenty or more miles away could interfere with the other.
You are using a 20MHz crystal and with good design, including PCB layout with guard ring etc you'd get the 100ppm or better folk are talking about. The alternative is a 32768KHz watch crystal, but these are not great compared to other, higher frequency crystals. They have a narrow stablish temperature range, which is fine when they are on your wrist, which is a fairly temperature stable environment generally, but they are not so good in equipment that gets hotter and colder than you do.
To be honest, one second an hour without trimming (and watches are usually trimmed to give good timekeeping) sounds about all I'd expect from a watch crystal "out of the box", and with a 20MHz crystal you're probably not going to get any better in the medium to long term on a prototype board with all its stray capacitance and connecting lead inductance. To get the expected performance you really need a well-designed PCB and probably a half-decent case to give at least some degree of temperature stability.
RF Developer |
|
![](templates/subSilver/images/spacer.gif) |
bkamen
Joined: 07 Jan 2004 Posts: 1611 Location: Central Illinois, USA
|
|
Posted: Mon Nov 26, 2012 11:07 am |
|
|
RF_Developer wrote: |
To be honest, one second an hour without trimming (and watches are usually trimmed to give good timekeeping) sounds about all I'd expect from a watch crystal "out of the box", and with a 20MHz crystal you're probably not going to get any better in the medium to long term on a prototype board with all its stray capacitance and connecting lead inductance. To get the expected performance you really need a well-designed PCB and probably a half-decent case to give at least some degree of temperature stability.
RF Developer |
He could always use a TCXO... that would definitely help. _________________ Dazed and confused? I don't think so. Just "plain lost" will do. :D |
|
![](templates/subSilver/images/spacer.gif) |
|