In my images, the ARM core is running motion and trajectory planning in
a 1 ms (configurable) loop, using the Xenomai real-time patches. If you
don't have something like Xenomai or PREEMPT_RT patched into the stock
Linux kernel, the 1 mS loops do not execute at the proper time.
The PRUs are used to generate step/direction pulses at (potentially)
high speed, running simple code in a short loop (typically 1-10 uS),
which is not possible on the ARM. Even with Xenomai, IRQ latency is on
the order of 20-60 uS for the ARM, so it just can't run a task loop that
fast. The PRUs don't have anything else to do, so they can happily make
step/dir pulses with good timings while the ARM core handles the
complicated not-so-time-critical stuff like motion planning, and the
non-real time stuff like a user interface.
>>
cha...@steinkuehler.net <javascript:>
>>
>
--
Charles Steinkuehler
cha...@steinkuehler.net