Re: High frequency output on parallel port, how?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Robby Tanner (rtanner_at_lightsource.ca)
Date: 09/23/04


Date: Thu, 23 Sep 2004 16:36:13 -0600

Further to what has been posted already, I got this from the developer (both
excerpts reprinted with permission):

"Mach2 takes over the scheduling. It uses the higest interrupt priority and
allows windows to see only its own time slices. The pulse stream is very
stable. I'm not using the high perfomrance timer or any Windows functions
for the timing , its all done in Ring0 and in full control of the system
hardware. Windows CAN take control, but generally only if a multimedia
application tries to use certain functions. Generally its not a problem.."

and when I asked about the performance hit:

"Performance varies form system to system. Personally, I answer mail and
such with no trouble, I know some who watch TV onscreen with no trouble. The
end effect is Windows thinks its running a slower processor, it sees no
other thing going on. A 1Ghz machine may , for example, perform like a
500Mhz machine when Mach2 is running as Mach2 may be steraling up to 50% of
its clock cycles. Depends highly on the computer though, alot of people
swear by using a clean install with only Mach2 running, my computer has
application from the last 7 years loaded and I run several while Mach2
runs."

Cheers,
Rob

"J.P. Iribarren" <famirib33@free.fr> wrote in message
news:cituje$m0n$1@s5.feed.news.oleane.net...
> Bert <bert@nospam.home.nl> wrote:
> > Sorry Guys,
> >
> > You are all not close,
> > The guys in the link below make a CNC control
> > with stepper motors on the parallel port.
> > A fiend of mine has this system with 3 axes connected,
> > there is no external time what so ever.
> >
> > The step output to the steppermotors really generate well above 10 khz
> > on hist 1.5 GHz machine. The steppers run fine, without lost pulses
> > etc. Everything on windows keeps running normally, no problem.
> > All I know is that a device driver is installed which probably does
> > the trick.
>
> Why didn't you dig the site yourself ? It took me about 3 minutes to
> find and RTFM at http://www.artofcnc.ca/Mach1.pdf:
>
> [quote]
> CNC under Windows platforms has long been thought to be difficult if not
> impossible due to unpredictable interrupt and timing systems. Mach1 is
> designed to avail itself of interrupt zero processing which allows it to
> bypass Microsoft’s limitations in this respect. When interrupt zero
> takeover of the 8259 PIC is deemed impossible due to different
> motherboard hardware the program automatically attempts to take over
> interrupt 255 which is the highest priority interrupt on local PIC
> interrupting systems and use the Local APIC timer to instantiate a
> real-time subsystem under Windows.
> [snip]
> The Mach1 driver is written as a form of virus. It is not a destructive
> virus, but in order to create a real-time subsystem, it is necessary for
> Mach1 to create code for timing in memory and then modify that code as
> it checks your computer to re-write the code to match your system.
> Windows does not allow this to occur unless a special security key is
> generated to inform Windows that this type of self-modifying code is
> allowed in your system. A reboot is necessary to instantiate this change
> into your system. Without the reboot, when the code tries to self
> modify, you will instantly get a Blue Screen of death and the security
> key will be lost and the driver corrupted. Since the driver was loaded,
> it will reload on the next boot which will signal a corrupt file to the
> disk checking system and the process must be started again.
> [end of quote]
>
> This relates to Mach1, but this is probably applicable to other
> products.
> --
> Jean-Paul Iribarren (aka JPI)
> Anti-spam: ma véritable adresse électronique ne comporte pas de
> chiffres;donc...
> Anti-spam: my real e-mail address has no digits; consequently...
>



Relevant Pages

  • Re: High frequency output on parallel port, how?
    ... > with stepper motors on the parallel port. ... Everything on windows keeps running normally, ... impossible due to unpredictable interrupt and timing systems. ... The Mach1 driver is written as a form of virus. ...
    (microsoft.public.development.device.drivers)
  • Re: Assembling Visual Studio generated listing files
    ... card issues an interrupt each time it has a new position for any one ... An ISR is constrained to act in < 10us, and for most modern machines, 12.5us is a very ... Without MASM and in pure C or C++ and without any Windows API/MFC, ... This is a device driver. ...
    (microsoft.public.vc.mfc)
  • Re: High frequency output on parallel port, how?
    ... I am not really a experienced devicedriver programmer, ... It uses the higest interrupt priority ... I'm not using the high perfomrance timer or any Windows functions ... >> The Mach1 driver is written as a form of virus. ...
    (microsoft.public.development.device.drivers)
  • Re: High USB throughput requirement
    ... <2ms interrupt response from user space on a 100MHz Pentium. ... scheduling Windows NT was *hard* real time. ... but Windows has a 2-tiered priority system. ... Questionable considering that the cycle time of a 100MHz Pentium is ...
    (comp.arch.embedded)
  • Re: location of CEs vector table
    ... I understood that the standard windows CE kernel cann't be adapted easily to ... support a low-end interrupt processor. ... successfully manufactured the ARM processor which support windows CE ...
    (microsoft.public.windowsce.platbuilder)