Design of a motion-control ASIC/FPGA

Assuming all the compulations are done by a PC or an external processor,  I designed a motion-control FPGA  as follows: 



If a soft processor such as MIcroBlaze or  Nios II  is placed on the FPGA,   construction of a standalone motion controller (without a PC or an external processor)  is possible.

Because both MicroBlaze and NIOS II are Linux/Xenomai-ready, porting Linux/Xenomai software to MicroBlazer or NIOS II is trivial.   

Structure of motion control boards

1.  Typical structure of motion control boards



2.  Structure of   “advanced” motion control boards 



3. Structure  of a “simple” FPGA-based motion control board


  • Function blocks of the  FPGA:
    (1) command pulse generator
    (2) encoder pulse counters
    (3) I/O latches