DSP Controllers compared to System on a Chip boards

I have googled high and low with no definitive answer. What is the advantage of a DSP controller compared to other types for CNC. I can imagine high speed CNC and enough power to run a display? For this type of function, are DSP algorithms just better compared to a classical CPU? Access to discrete stepper drivers? Support stepper drivers that provide feedback? Is the price change in Lightburn because of the lower volume of these DSP controllers or additional programming effort?

DSP is sort of a blanket term used for things with dedicated hardware and custom binary data format (IE, not gcode). Ruida controllers, for example, have an Altera FPGA in them, likely for doing the actual step control and laser pulsing. There are other chips to handle the communication and some of the general processing, and still other chips in the display.

An SOC, if you mean the type used in Raspberry Pi or BeagleBoard, typically run a non-realtime OS, like Linux, and while they’re really fast overall, they aren’t designed to handle microsecond rate timing sensitive tasks. Full Spectrum uses a BeagleBoard in many of their machines for communication, display, and the high-level parts of motion planning, but has a second chip to handle the motor and laser pulse generation.

CNC machining systems generally don’t run at the speeds that lasers do, they don’t accelerate as fast, and they don’t change the spindle speed dynamically with the movement speed, where lasers do - As the laser slows down for a corner, it also lowers the power output, so you don’t get a concentration of power causing darker corners.

The cost difference in the software is because GCode systems are open source and documented, and DSP systems are closed source and proprietary. Getting LightBurn to control them means reverse engineering the control protocols, and it’s hard work.

So one could not expect to hack the binary data format as one would with the G-Code. Not something I had thought about. That helps a lot in understanding what you can and can’t do. FPGA’s also take some time to boot but since i don’t have a Ruida yet, not sure about that and not probably a issue anyway.

Should one expect to be able to do finer work with a Ruida controller than a GCode one? As a matter of timing and speed. Would you need to slow a cut to get the same level of detail between the two?

Thanks for your answer.

The Ruida will give more nuanced control over power levels, and will vary the output faster than a GCode controller. For example, Smoothieware and GRBL normally update the PWM output for the laser 1000 times per second. If you’re running a grayscale image at 100mm/sec, with 0.1mm dots, that’s 1000 power changes per second - Any faster, and they’ll lose detail. A Ruida will do the same thing at 500mm/sec or better.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.