For best experience this site requires Javascript to be enabled. To enable on your browser, follow our accessibility instructions.

Real Time Control Embedded Software Motor Control and Power Conversion Libraries

Roll over image to zoom in

This NXP real-time control embedded software libraries – RTCESL (former Freescale embedded software libraries – FSLESL) is a group of algorithms ranging from basic mathematics operations to advanced transformations and observers, which can be easily incorporated into complex real-time control applications, and used in our motor control reference designs. The algorithms help to speed development and ease of use in applications that require intensive math computation and control, such as advanced high-efficiency motor control and power conversion.

The libraries are highly optimized, tested on our hardware and are easy to use as they are implemented with a C-callable function interface. If the device has a hardware accelerator for specific calculations like Memory-Mapped Divide and Square Root Module (MMDVSQ) in some Cortex® M0+ core based devices or PowerQuad (PQ) hardware accelerator in some Cortex® M33 core-based devices the RTCESL can process some algorithms using such hardware accelerators to provide quicker calculations. The functions have been tested against NXP's reference models in MATLAB.

The up to date version of the libraries is available on NXP GitHub.

Diagram

Choose a diagram:

Embedded Software and Motor Control Libraries Block Diagram

Embedded Software and Motor Control Libraries Block Diagram

RTCESL-BD

*

Features

  • Math Library (MLIB): Simple math functions (addition, subtraction, multiplication, division, shifts...) with and without saturation. This aim of this block is to have efficient and fast mathematics built on the MCU’s instructions.
  • General Function Library (GFLIB): Contains the basic building blocks of a real-time control application. Functions for basic mathematical calculations, trigonometric functions, simple look-up table and control functions such as PI and PID controllers.
  • General Motor Control Library (GMCLIB): The fundamental blocks of a motor control application. The libraries include vector modulation, Park and Clarke transformations and specific motor-related functions to build digitally controlled motor drives.
  • General Digital Filter Library (GDFLIB): Includes filter functions for signal conditioning.
  • Advanced Motor Control Library (AMCLIB): Functions that enable the construction of a variable speed, AC motor drive system that implements field oriented control techniques without position or speed sensors to provide the lowest cost solution.
  • Power Conversion Library (PCLIB): Contains control loop algorithms required in power conversion applications such as PI, PID and PID with low pass filter controller, 2P-2Z and 3P-3Z controller algorithms.
  • Supported Cores:
    • Arm® Cortex®-M0+
    • Arm® Cortex®-M4
    • Arm® Cortex®-M7
    • Arm® Cortex®-M33
    • DSP56800E
    • DSP56800EX
    • DSP56800EF
  • Many basic math, filter and motor control related functions
  • Written in assembler
  • Optimized for speed and size
  • Supplied as binary files
  • Easy to link to the project

Supported Devices

  • KV1x : Kinetis® KV1x-75 MHz,  Entry-Level 3ph FOC / Sensorless Motor Control MCUs based on Arm® Cortex®-M0+
  • KV3x : Kinetis® KV3x-100–120 MHz,  Advanced 3ph FOC / Sensorless Motor Control MCUs based on Arm® Cortex®-M4
  • KV4x : Kinetis KV4x-168 MHz, High Performance Motor / Power Conversion MCUs based on Arm® Cortex®-M4
  • KV5x : Kinetis® KV5x-240 MHz, Motor Control and Power Conversion, Ethernet, MCUs based on Arm® Cortex®-M7
  • MC56F82xxx : MC56F826xx and MC56F827xx Digital Signal Controllers
  • MC56F83xxx : Performance Level Digital Signal Controllers, USB FS OTG, CAN FD
  • S12ZVMB : Mixed-Signal MCU for Automotive and Industrial Motor Control Applications
  • LPC80X : LPC800: 32-Bit Arm® Cortex®-M0+-Based Low-Cost MCU
  • LPC55S6x : High Efficiency Arm® Cortex®-M33-Based Microcontroller Family
  • i.MX-RT1020 : i.MX RT1020: Crossover MCU with Arm® Cortex®-M7
  • i.MX-RT1050 : i.MX RT1050 Crossover MCU with Arm® Cortex®-M7 Core
  • i.MX-RT1060 : i.MX RT1060: Crossover MCU with Arm® Cortex®-M7
  • i.MX-RT1170 : i.MX RT1170: 1 GHz Crossover MCU with Arm® Cortex® Cores

Implemented Algorithms in latest RTCESL

Algorithm (16 and 32-bit fixed point, 32-bit floating point) Core Supported
DSP56800E DSP56800EX Cortex M33 Cortex M7 Cortex M4 Cortex M0+
Absolute value x x x x x x
Negation x x x x x x
Conversion x x x x x x
Conversion with rounding x x x x x x
Addition x x x x x x
Leading-bit count x x x x x x
Subtraction x x x x x x
Single-bit Shift x x x x x x
Multi-bit Shift x x x x x x
Mutli-bib bidirectional shift x x x x x x
Mutliplication x x x x x x
Mutliplication with negation x x x x x x
Mutliplication with rounding x x x x x x
Mutliplication with negation and rounding x x x x x x
Multiplication-accumulation x x x x x x
Multiplication-negation-accumulation x x x x x
Multiplication-subtraction x x x x x x
Multiplication-negation-accumulation with rounding x x x x x
Multiplication-accumulation with rounding x x x x x x
Multiplication-subtraction with rounding x x x x x x
Division (single quadrant) x x x x x x
Signed division x x x x x x
Reciprocal (single-quadrant) x x x x x x
Signed reciprocal x x x x x x
Sign x x x x x x
Binary logarithm x x x x x x
Saturation x x x x x x
Sum of four addends x x x x x x
Subtraction of 3 subtrahends from the minuend x x x x x x
Addition of two products of two multiplicands x x x x x x
Addition of two products of two multiplicands with rounding x x x x x x
Subtraction of a product of last two multiplicands from the product of first two multiplicands x x x x x x
Subtraction of a product of last two multiplicands from the product of first two multiplicands with rounding x x x x x x
Algorithm (16 and 32-bit fixed point, 32-bit floating point) Core Supported
DSP56800E DSP56800EX Cortex M33 Cortex M7 Cortex M4 Cortex M0+
Sine x x x x x x
Cosine x x x x x x
Tangent x x x x x
Arcus Sine x x x x x
Arcus Cosine x x x x x
Arcus Tangent x x x x x x
Arcus Tangent YX x x x x x x
Square Root x x x x x x
Limitation x x x x x x
Lower Limitation x x x x x x
Upper Limitation x x x x x x
Vector Limitation x x x x x
Vector Limitation 1 x x x x x x
Hysteresis x x x x x x
Look-up table 1D x x x x x x
Periodical Look-up table 1D x x x x x x
Look-up table 1D (32 bit) x x x x x
Periodical look-up table 1D (32 bit) x x x x x
Ramp x x x x x x
Dynamic Ramp x x x x x x
Flex Ramp x x x x x x
Flex S Ramp x x x x
Dynamic Flex Ramp x x x x x x
Integrator x x x x x x
Parallel form of PI controller with anti-wind-up x x x x x x
Parallel form of PID controller with anti-wind-up x x x x x
Parallel form of Beta IP controller with anti-wind-up x x x x x
Parallel form of Beta IPD controller with anti-wind-up x x x x
Algorithm (16 and 32-bit fixed point, 32-bit floating point) Core Supported
DSP56800E DSP56800EX Cortex M33 Cortex M7 Cortex M4 Cortex M0+
Clarke Transformation x x x x x x
Inverse Clarke Transformation x x x x x x
Park Transformation x x x x x x
Inverse Park Transformation x x x x x x
PMSM Decoupling x x x x x x
DC Bus Ripple Elimination for FOC x x x x x x
DC Bus Ripple Elimination x x x x x x
Dead Time Compensation x x x x
Space Vector Modulation-standard x x x x x x
Space Vector Modulation – standard shifted (for single shunt sensing) x x x x
Space Vector Modulation-with 0 000 nulls x x x x x x
Space Vector Modulation-with 0 111 nulls x x x x x x
Space Vector Modulation-inverse Clarke Transformation x x x x x x
Algorithm (16 and 32-bit fixed point, 32-bit floating point) Core Supported
DSP56800E DSP56800EX Cortex M33 Cortex M7 Cortex M4 Cortex M0+
1st Order IIR Filter x x x x x x
2nd Order IIR Filter x x x x x x
3rd Order IIR Filter x x x x x
4th Order IIR Filter x x x x x
Moving Average Filter x x x x x
Algorithm (16 and 32-bit fixed point, 32-bit floating point) Core Supported
DSP56800E DSP56800EX Cortex M33 Cortex M7 Cortex M4 Cortex M0+
ACIM rotor flux observer x x x x
ACIM speed MRAS x x x x
ACIM controller for Maximum torque per Amper x x x x
Angle Tracking Observer x x x x x x
PMSM BEMF observer in D/Q or Alpha/Beta x x x x x x
Tracking Observer x x x x x
Algorithm (16 and 32-bit fixed point, 32-bit floating point) Core Supported
DSP56800E DSP56800EX Cortex M33 Cortex M7 Cortex M4 Cortex M0+
PI controller x x x x x x
PI with low-pass filter controller x x x x x x
PID controller x x x x x x
2P-2Z controller x x x x x x
3P-3Z controller x x x x x x
NXP

Downloads

Quick reference to our software types.
Filter by
  • Embedded Software
  • Software Development Tools

1-5 of 11 downloads

  • Software Development Resources

    NXP Embedded Software Libraries (GitHub)Featured

    EXTERNALRev 0Jun 30, 2025 12:17:00RTCESL-GITHUB
  • Libraries

    NXP Embedded Software Libraries 4.2 (DSP56800E, DSP56800EX)

    EXERev 4.2Oct 19, 2015 00:00:0017.21 MBFSLESL-DSC
    Download
  • Libraries

    NXP Embedded Software Libraries 4.7.1 (CM0+, CM4, CM7, CM33)

    EXERev 4.7.1Jul 25, 2022 08:32:0055.71 MBRTCESL_CM_Setup_4.7.1
    Download
  • Libraries

    NXP Embedded Software Libraries 4.6.3 (CM0+, CM4, CM7)

    EXERev 4.6.3Sep 20, 2021 11:50:0047.25 MBRTCESL-CM-Setup-4.6.3
    Download
  • Libraries

    NXP® Embedded Software Libraries 4.2 (CM0+, CM4, CM7)

    EXERev 4.2Jan 19, 2016 00:00:0050.29 MBFSLESL-CM
    Download
  • Libraries

    NXP Embedded Software Libraries 4.7 (CM0+, CM4, CM7, CM33)

    EXERev 4.7Apr 11, 2022 14:28:0055.86 MBRTCESL-CM-Setup-4.7
    Download
  • Libraries

    NXP® Embedded Software Libraries 4.1 (CM0+, CM4, CM7)

    EXERev 4.1Jan 19, 2016 00:00:0027.65 MB_FSLESL-CM-4.1
    Download
  • Libraries

    NXP Embedded Software Libraries 4.6.1 (CM0+, CM4, CM7)

    EXERev 4.6.1Apr 23, 2021 03:10:0048.80 MBRTCESL-CM-Setup-4.6.1
    Download
  • Libraries

    NXP® Embedded Software Libraries 4.1 (DSP56800E, DSP56800EX)

    EXERev 4.1Jan 19, 2016 00:00:0016.10 MB_FSLESL-DSC-4.1
    Download
  • Libraries

    NXP Embedded Software Libraries 4.7 (DSP56800EF)

    EXERev 4.7Mar 15, 2023 11:45:0010.11 MBRTCESL-DSC-SETUP-4.7
    Download
  • Libraries

    NXP Embedded Software Libraries 4.5.1

    EXERev 4.5.1Apr 11, 2022 14:34:008.12 MBRTCESL-DSC-Setup-4.5.1Release Note
    Download
Show All

Note: For better experience, software downloads are recommended on desktop.

Please wait while your secure files are loading.

Documentation

Quick reference to our documentation types

Filter by
  • Document Types

1-10 of 56 documents

Compact List

Brochure (1)
Release Note (4)
User Guide (51)
Show All

Please wait while your secure files are loading.

Design Resources

Hardware

Quick reference to our board types.
Filter By
  • Development Boards/Designs

5 hardware offerings

Filter By

Related Software

Quick reference to our software types.

Filter by
  • Software Development Tools

1 software file

Note: For better experience, software downloads are recommended on desktop.

Filter By
  • Embedded Software

1 software offerings

To find a complete list of our partners that support this software, please see our Partner Marketplace.

Training

Filter by
  • Online
  • Skill Level
  • Duration

1 trainings

AltStyle によって変換されたページ (->オリジナル) /