> 2) How portable is the real-time code (ie: can it be compiled for Arm
> or PowerPC)?

LinuxCNC uses the RTAI kernel/API. There are a number of architectures
listed here https://www.rtai.org/
I don't know if anyone has made LinuxCNC work on other than x86 and x86_64

> 3a) Is there any existing support for multiple independent processors
> (ie: multiple processor, but running multiple kernels vs. a single
> linux kernel running on multiple cores/chips)?

as a boot-option for the RTAI kernel it's possible to specify that
real-time processes run on one core and non-real-time on the rest.
This improves real-time latency numbers slightly (on e.g. Atom 330 boards)

> 3b) What about separating the real-time and non-real-time code onto
> two different computers?

The GUI part of linuxcnc can run on another computer through emcrsh
http://www.linuxcnc.org/docview/2.4/html/man/man1/emcrsh.1.html

> Ideally, I would like to craft a multi-core machine, with (several)
> optimized real-time controllers instantiated in an FPGA along with the
> hardware required to interface to the servo drivers, encoders, etc.

The approach used now is to have simple things like encoder-counters,
pwm-generation, etc. on FPGAs. These can have clocks up to maybe
100MHz.
The FPGA communicates with the PC over PCI(e) or parallel-port.
Complex things like G-code interpreter, Trajectory planning, and
PID-control runs on the real-time PC, usually with a period of 1 ms.

For certain applications it might make sense to move more logic over
to the FPGA-side and leave less for the PC, but the current approach
seems to work OK for CNC-machines.


AW

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to