Messages in this thread |  | | | Date | Mon, 13 Jun 2005 13:03:40 +0100 | | From | Paulo Marques <> | | Subject | Re: [PATCH] local_irq_disable removal |
| |
Gene Heskett wrote: > [...] > Lets add the operation of 4 or more stepper motors in real time for > smaller milling machines. There, the constraints are more related to > maintaining a steady flow of step/direction data at high enough > speeds to make a stepper, with 8 microsteps per step, and 240 steps > per revolution, run smoothly at speeds up to say 20 kilohertz, or 50 > microseconds per step, maintaining that 50 microseconds plus or minus > not more than 5 microseconds else the motors will start sounding > ragged and stuttering.
This is the kind of problem that is screaming "give me dedicated hardware!". Why would one spend $500+ on a PC to do the work of a $2 microcontroller (and possibly throw in an FPGA to the mix)?. Not to mention that the microcontroller/FPGA would maintain 50us +/- 0us instead of the 50 +/- 5 you've mentioned.
The same goes for the "hand under the saw". A simple transistor/triac/whatever and a logic circuit would stop the saw, we don't need any real time OS for that (and I would certainly trust the logic circuit more than any real time OS :).
IMHO, the kind of problems where real time OS's are useful are the kind that require computational power while having real-time constraints. Like the sound effects processor for the guitar that Lee Revell already mentioned or controlling an airplane in flight that has to measure a lot of sensors, do some state space calculations with some not-so-small matrices (together with Kalman filtering, etc.) and move the actuators.
-- Paulo Marques - www.grupopie.com
An expert is a person who has made all the mistakes that can be made in a very narrow field. Niels Bohr (1885 - 1962) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |