Re: [CAD_CAM_EDM_DRO] Indexer LPT and granularity
Posted by
Art Fenerty
on 2002-01-25 19:38:58 UTC
Hi Chris:
It is a common fallacy that a PC timer running at 8Khz has the next step
of resolution at 4Khz. This would seem logical on a hardware timer, but most
people fail to consider the power of an algorithm controlled by a timer. In
Master5 the next step after 8192HZ downward is 8191Hz. It was this very
argument that started me on the path to insanity writing the software in the
first place. Some of the tech's among us were convinced that a 8192Hz
interrupt rate would have to go to 4096 as the next frequency. Think about a
timer going 8192 Hz. It Pulses on every interrupt (every 122uS). When it
wants to pulse at 8000Hz ( 125uS) it really only needs to pulse immediately
on interrupt #1, then on Interrupt #2, wait 3uS (122 + 3), then pulse, on
interrupt number 3 wait 6uS ( (122-3)+6) more then pulse again, etc.... The
wait times will stretch until the next even boundry time and then repeat.
This increases the burden of the processor, but who cares, there's lots of
cycles and lots of free time in each of the 8192Hz cycles to release back to
the processor. If you then measure the latency between pulses and correct
for latent events as best you can, the pulse train gets very smooth from 1
to 8192Hz in steps of one hertz. I hope to use a core frequency of 50000 HZ
to step at 30Khz in the next timer and use the extra cycle time to advance
the latency correction mechanism. ( very few users would need 30K or
better.).
You never know till your finished if its possible, but lets put the
"granularity" issue away anyway, with processors reaching 2GHz these days,
it will soon be possible to do more pulses per second than anyone really
needs. Its all a matter of how sympathetic the Windows OS is to being
manipulated in this way. In my experience its like pulling teeth, but I can
see where its possible. My Windows XP engine pulses now at 50,000 PPS (with
a max measured speed of 98,000) and though the timer only seems to work on
my machine and a few others, it seems to show the possibilities. The problem
is to do it requires taking over the Windows timing subsystem. (not an easy
task, perhaps even impossible to do reliably, but someone has to waste their
time :) ).
Art
Master5 Software
http://users.andara.com/~fenerty/master.htm
It is a common fallacy that a PC timer running at 8Khz has the next step
of resolution at 4Khz. This would seem logical on a hardware timer, but most
people fail to consider the power of an algorithm controlled by a timer. In
Master5 the next step after 8192HZ downward is 8191Hz. It was this very
argument that started me on the path to insanity writing the software in the
first place. Some of the tech's among us were convinced that a 8192Hz
interrupt rate would have to go to 4096 as the next frequency. Think about a
timer going 8192 Hz. It Pulses on every interrupt (every 122uS). When it
wants to pulse at 8000Hz ( 125uS) it really only needs to pulse immediately
on interrupt #1, then on Interrupt #2, wait 3uS (122 + 3), then pulse, on
interrupt number 3 wait 6uS ( (122-3)+6) more then pulse again, etc.... The
wait times will stretch until the next even boundry time and then repeat.
This increases the burden of the processor, but who cares, there's lots of
cycles and lots of free time in each of the 8192Hz cycles to release back to
the processor. If you then measure the latency between pulses and correct
for latent events as best you can, the pulse train gets very smooth from 1
to 8192Hz in steps of one hertz. I hope to use a core frequency of 50000 HZ
to step at 30Khz in the next timer and use the extra cycle time to advance
the latency correction mechanism. ( very few users would need 30K or
better.).
You never know till your finished if its possible, but lets put the
"granularity" issue away anyway, with processors reaching 2GHz these days,
it will soon be possible to do more pulses per second than anyone really
needs. Its all a matter of how sympathetic the Windows OS is to being
manipulated in this way. In my experience its like pulling teeth, but I can
see where its possible. My Windows XP engine pulses now at 50,000 PPS (with
a max measured speed of 98,000) and though the timer only seems to work on
my machine and a few others, it seems to show the possibilities. The problem
is to do it requires taking over the Windows timing subsystem. (not an easy
task, perhaps even impossible to do reliably, but someone has to waste their
time :) ).
Art
Master5 Software
http://users.andara.com/~fenerty/master.htm
----- Original Message -----
From: <ccs@...>
To: <CAD_CAM_EDM_DRO@yahoogroups.com>
Sent: Friday, January 25, 2002 7:39 PM
Subject: Re: [CAD_CAM_EDM_DRO] Indexer LPT
>
> > I was just reading the Indexer LPT site. Does anyone here have
experience w
> > ith it. Is it a software only solution which runs at 90,000 pulses per
second
> > ? How do you find it runs? How is it's constant velocity contouring?
> > Is it a driver that loads prior to windows? Sounds like a great
solution,
> > I'd like to hear about its performance if anyone has driven it.
>
> Art - an important question may be, what's the 2nd highest EVEN TIMING
> step speed? If the answer is 45,000 then there is a serious
> granularity problem and the highest realistic step speeds may still be
> hard to accelerate to without stalling the motor.
>
> Would you be willing to talk a bit about how you do timing in Master5,
> ie, what goes on in your custom timing driver?
>
> Chris Stratton
>
> -------------------------------------------------
> Christopher C. Stratton
> Engineer, Instrument Maker, and Horn Player
> ccs@... 617 628 1062
> http://web.mit.edu/~stratton/www/brassbuild.html
>
> Addresses:
> FAQ: http://www.ktmarketing.com/faq.html
> FILES: http://groups.yahoo.com/group/CAD_CAM_EDM_DRO/files/
>
> Post messages: CAD_CAM_EDM_DRO@yahoogroups.com
> Subscribe: CAD_CAM_EDM_DRO-subscribe@yahoogroups.com
> Unsubscribe: CAD_CAM_EDM_DRO-unsubscribe@yahoogroups.com
> List owner: CAD_CAM_EDM_DRO-owner@yahoogroups.com, wanliker@...
> Moderator: jmelson@... timg@... [Moderator]
> URL to this page: http://groups.yahoo.com/group/CAD_CAM_EDM_DRO
> bill,
> List Manager
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
Discussion Thread
Art Fenerty
2002-01-25 19:38:58 UTC
Re: [CAD_CAM_EDM_DRO] Indexer LPT and granularity
Fitch R. Williams
2002-01-26 08:29:09 UTC
Re: [CAD_CAM_EDM_DRO] Indexer LPT and granularity
Art Fenerty
2002-01-26 09:45:32 UTC
Re: [CAD_CAM_EDM_DRO] Indexer LPT and granularity
Hugh Currin
2002-01-26 09:45:51 UTC
Re: Indexer LPT and granularity
ccs@m...
2002-01-26 10:05:33 UTC
Re: [CAD_CAM_EDM_DRO] Re: Indexer LPT and granularity
Jon Elson
2002-01-26 23:12:06 UTC
Re: [CAD_CAM_EDM_DRO] Indexer LPT and granularity
Ray
2002-01-27 10:42:25 UTC
Re: Indexer LPT and granularity