what FPGA chip you plan use?
Yes, I will install required software, and participate
I will test your solution, hardware and software
I will test, only if I can buy dev. board.
No, I don't have resources (time/money/etc)
I have one idea: an open source CNC controller, with ethernet interface.
It will use cheap microcontroller and FPGA, and work with windows and linux. The biggest problem is to implement g-code compiler in FPGA.
Processing power is not a problem any more but I don't have time to fully understand and develop software for this, although I have previous experience with CNC, ethernet microcontrollers and FPGA design.
I could post schematic (but FPGA it's not fun to solder), and current development files.
How do I make sure that project remain open-source?
what FPGA chip you plan use?
i thinks we need begin with interpolation algorithms
If anyone can implement the necessary ETH module in FPGA, it will be perfect.
Here is a good start:
The real advantage of FPGA is that modules are working separately, so if something is bug-free - will not be affected if oter module is modified.
1. My idea is that FPGA receive a g-code line, and interpret-it.
2. One advantage will be if the X/Y/Z/A/... coordinated are expressed in stepper's steps. It can be implemented right from the program that generates g-code.
3. A Java applet will take that file and send-it line by line to FPGA through ethernet. This way any operating system can be used.
4. Any new computer can be used, from anywhere in the local network with CNC controller (no need for parallel port, USB, or RS232)
5. There will be no need for optical isolation between computer and controller (ethernet is enough)
6. Java (although big and somehow slow) can do almost anything - from talking through ethernet to real-time animation of the CNC tool.
Have you looked at the mesanet.com 5I20 and similar FPGA PCI-cards.
They are currently being used with EMC2 and there is open-source VHDL for PWM-generation, encoder counting, step generation etc. There is also a "softdmc" motion-controller implemented for this FPGA.
On the EMC2 list there has been talk about a real-time (RTAI) port of Linux for the beagle board (http://beagleboard.org/). This could be another way of approaching embedded motion-control.
I would encourage you to seriously look what EMC2 already has and how you can extend that to what you want or how you could use parts of it.
Why wouldn't the beagle-board, running real-time linux and EMC2 qualify ?
If you want to write your own real-time operating system, g-code interpreter, graphics drivers, PID-loops, etc. etc. etc. then please go ahead, but unless you are very talented and have lots of resources (time+money) it will be difficult.
To me it seems the real-time port for the beagle-board would be an excellent way to go.
if you want to receive G-code over ethernet, interpret it, show it on screen, and run a machine you need a lot of the software components that are already there in place with a linux+EMC2 solution.
IMO working on an fpga-based kick-ass I/O module for the beagle-board would be time more well spent.