Motion Control Module Documentation

The Motion Control logic is designed to simultaneously control multiple stepper motors. Its main purpose is to generate direction and step signals according to what user commands. To achieve this, the logic employs separate command and argument queues for each motor. The desired motion is defined as a sequence of commands with their corresponding arguments, which are then placed into these individual queues. A common start command is used to execute these motions simultaneously. The motors can be operated in various modes: individually (single-axis mode), in groups (axis-multitasking mode), or fully coordinated (all-axis mode).

This FWK compatible module is capable of generating its register interface depending on the user configuration. Currently, the module presents its register interface as AXI4-Lite bus. Registers are described by a SystemRDL file (under ./rdl) and used together with DesyRDL to automatically generate the register logic.

Developed by:
Michael Randall (michael.randall@desy.de)
and Cagil Gumus (cagil.guemues@desy.de)