Motor Control Library is an open-sourced library written in C/C++ for accelerating developments of motor control applications. It has covered 4 algorithm-level L1 APIs including FOC, SVPWM__DUTY, PWM_GEN and QEI. These four APIs have AXI configuration interfaces and high integration level, that can be directly integrated into the system. The 4 algorithm-level algorithms APIs implemented by Vitis Motor Control Library include:
- FOC: the API is for sensor based field-orientated control (FOC). From 2024.2 release, the L1/test/IP_FOC functionally becomes a register container module which can be composed by the 12 new-added fine-grained function-level APIs.
- SVPWM_DUTY: the API is the front-end for Space Vector Pulse Width Modulation (SVPWM) to calculate ratios. Besides signal ports, AXI-Lite interface is provided for system control and monitor.
- PWM_GEN: the API is the back-end for Space Vector Pulse Width Modulation (SVPWM) to generate output signals based on ratios. Besides signal ports, AXI-Lite interface is provided for system control and monitor.
- QEI: the API is for quadrature encoder interface(QEI). Besides signal ports, AXI-Lite interface is provided for system control and monitor.
Besides the four algorithm-level L1 APIs, from 24.1 release 12 new fine-grained function-level APIs are provided for supporting troditional IP integeration flow. These APIs are based on integer types and can simplify computational logic in suitable scenarios.The 12 new fine-grained function-level APIs include 1) angle_generation, 2) Clarke_Direct, 3) Clarke_Inverse, 4) demuxer_pi, 5) ps_iir_filter, 6) muxer_pi, 7) Park_Direct, 8) Park_Inverse, 9) PI_Control, 10) PI_Control_stream, 11) SVPWM and 12) voltage_modulation.
Introduction
L1 User Guide
Benchmark