[time-nuts] Win XP and NIST time
Dan Kemppainen
dan at irtelemetrics.com
Wed Mar 27 12:46:08 EDT 2013
Good explanation. I guessed, since the list is "time nuts" I assumed
"real time" in reference to an OS would be understood. :) My bad.
Because windows is not a real time operating system (RTOS), I lack
seeing the purpose in getting the windows clock synchronized to within
microseconds or nanoseconds of anything. Even if you could do it, you
won't get much out of doing so.
I've seen windows regularly stall critical code loops for more than a
second at a time, when the loops would normally take a few milliseconds
to run. If reading data down a USB connection, with limited buffering on
the USB peripheral, data can and will be lost in streaming applications.
(I suspect the SDR mentioned has a good bit of buffering in it!)
As for timing things on windows, check out how to read the performance
counters in windows. I believe these are QueryPerformanceCounter and
QueryPerformanceFrequency in kernel32. In most modern systems these
should give a time stamp from the system start, at the native core clock
frequency.
Now, using these with interrupts on some sort of input, one should be
able to get some really good resolution on measurements from a PC. If
the CPU clock frequency was locked to a really good source, you could
get quite a system out of it...
Dan
On 3/27/2013 12:00 PM, time-nuts-request at febo.com wrote:
> The appearent conflict here is in the definition of "real time".
>
> For the video capture application we only need to keep up with the
> average data rate and if the system stops reading data for a few tens
> of milliseconds and lets it buffer in the capture hardware then it is
> OK because nothing is lost. The only criteria for success is
> "nothing is lost".
>
> The SDR application is a little more time critical because it needs to
> play the proceed audio. But again it can be buffered and we'd never
> notice a 50 millisecond lag in audio and for radio a 100 ms lag might
> go unnoticed
>
> But there is a category of what engineers ca "hard real time". Home
> computer users don't normally use their PCs for hard real time
> applications. This would be things like controlling a walking robot,
> guiding an anti aircraft missile or just about any time a computer is
> inside the feedback loop of a control system. These are all
> engineering and science applications that home users wouldn't see.
>
>
> A "harder" real time use that people DO see in home use is music. If
> you try to do multi-track recording in a home music studio with
> windows. This can be done but people have to do thinks like (1)
> remove everything non music related from the PC and disconnect it from
> the network. (2) replace the audio subsystem software with special
> real-time ASIO audio drivers. Then it can work
>
> So ""real-time" has a wide range of meanings, video capture is about
> the easiest to do and being embedded in a servo control loop the
> hardest
More information about the time-nuts
mailing list