>> One solution to the problem is use two independent HW capture inputs. One
>> for a GPS 1PPS and the other for your event.
> 
>> In this case the system clock does not need to be synchronized -- since it
>> is used only to interpolate between the two events. The event timestamp is
>> little more than adding the differential of the two most recent captures,
>> which is a number from 0 to 1 second. 

> You haven't solved the problem yet.  Now you have to synchronize the HW 
> capture counters.

Hi Hal,

Nope, there's no need to synchronize HW counters (against "system time" or UTC 
or something). That's the beauty of time-stamping or capture counters: they are 
free-running (at some internal CPU frequency) and share a common clock counter 
register from which the capture/snapshot is taken.

> You can probably do that with some simple but delicate initialization code.  
> Maybe copy the value from the counter used for the system time?  At the 
> time-nut level, you have to worry about things like cache misses.  (There may 
> be more fine print at that level depending upon the details of the hardware.)

No, again that's the beauty of H/W capture counters. You completely avoid the 
OS or software rat's nest called system time. Only the capture registers keep 
perfect "system time" by virtue of their continuous h/w counting, unaffected by 
software, locks, interrupts, cache, TLB, or microcode latency issues.

> You could also do it by calibrating out the difference: just feed the same 
> pulse into both input pins.  You have to do that each time you (re)start 
> things.  That's easy for a one-off project but adds another ugly step if you 
> want to do it in production.  Collecting long term data moves a hobby project 
> a lot closer to production.

The modern CPU's with capture/compare registers I've seen use a common N-bit 
timer register as the capture source, so there's no issue with intra-capture 
synchronization. What is still critical, to align with UTC for example, is 
inter-clock synchronization. And that's why two h/w capture counters are needed 
-- one for the event (LAN packet, for example) and one for the GPS/1PPS 
timestamp.

/tvb

_______________________________________________
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to