Am 12.12.2012 um 10:47 schrieb Andrey Nechypurenko: >> in that particular application, the GPIO's are used, among >> others, for generating stepper pulses, and the thread running >> this should be as fast as possible; in the RTAI/parport version >> of that code that's anywhere from 20-50uSec >> >> nothing else though except wiggling pins, in particular no >> interrupt-driven input; so I dont see any extra functionality a >> kernel driver could provide > > If pulses should be preciese with low jitter (and I assume that in > case of steppers they should), then, most probably, kernel driver is > anavoidable because the timing precission achievable in the kernel is > much higher then in the user-space. You might be interesting to take a > look at our blog post here: > http://veter-project.blogspot.de/2012/04/precise-pwms-with-gpio-using-xenomai.html > where we describe our attempts to generate precise PWMs to drive the > servo motor. We end up with RTDM kernel module which uses timers > (instead of periodic tasks) to get acceptable jitter.
Andrey, thanks - I read your post on the issue, and that was quite valuable. Yes, jitter is an issue with loss of torque and eventually loosing steps; long thread periods also limit the granularity of frequencies the stepgen code can generate. I did report what is being used in the RTAI/parport version of the code (which I didnt write to start with), and I am painfully aware this approach doesnt scale well in the case of the beaglebone port, the stepper code will be in the Programmable Realtime Unit which is capable of achieving very high rates at next to no jitter, so the RT OS is out of the loop except for feeding a stream of control values at > 1mS intervals -m _______________________________________________ Xenomai mailing list [email protected] http://www.xenomai.org/mailman/listinfo/xenomai
