On 6/5/07, Andrew Lunn <[EMAIL PROTECTED]> wrote:
On Tue, Jun 05, 2007 at 09:59:21AM +0500, M Arshad Khan wrote: > Hello > we r running eCos on simple intel based PC. we want to find the drift > in the real time colck, for this we simply capture a 100Sec signal > using 20mSec interrupt. the signal was captured using a counter by > triggering the channel of the counter using parallel port of the PC. > the code is given below. > from the results we found that the drift was 7mili Sec in 100 Sec. > This drift is very large to fitt for real time colck. we also tried > this code on different PC's but app same results. can any body tell me > why i am getting so much drift... > any suggestions.. >I believe the PC clock ticks at a base rate of 1193182Hz. The eCos clock is usually configured for 10ms. That would be 11931.82 ticks. Obviously you cannot have fractional ticks, so you end up with 11932 ticks per 10ms. The error is then 0.0015%. 0.0015% of 100Sec = 0.0015seconds i.e. 1.5ms. So something is not right somewhere, but i think you get the idea. Check i have the clock frequency correct and perform your own calculation about what accuracy is achievable. Andrew
yes the problem was with the initialization value i varry this value and got delay of 1.5ms in 100 s using initialization value of 11934 (very strange...). now i want to reduce the time of one tick from 10ms to 1ms... so that i can generate interrupt of 1ms i tried it by changing the values of clock resolution numerator and clock resolution denominator but same 10ms. any suggestion in this regard?... -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
