Welcome to Motor Control SDK for AM243X. This SDK contains examples, libraries and tools to develop RTOS and no-RTOS based applications enabling real-time communication for position and current sense from motors, and real-time control libraries for ARM R5F CPU and related peripherals.
Real-time communication with encoders and current sensing is typically handled by the Programmable Real-Time Unit Industrial Communication Subsystem (PRU-ICSS). The PRU-ICSS is a co-processor subsystem containing Programmable Real-Time (PRU) cores which implement the low level firmware. The PRU-ICSS frees up the main ARM cores in the device for other functions, such as control and data processing.
Applications and PRU-ICSS firmwares for position sense and current sense are provided in the SDK.
To get started, see GETTING STARTED page.
Given below is a block diagram of the SW modules in this SDK
The main software components in the block diagram specific to motor control are described below
Software Components | Documentation Page | Description |
---|---|---|
Position Sense Encoders | ||
BISS-C | BISS-C | Driver and PRU-ICSS firmware for BISS-C encoder interface |
EnDat | EnDat | Driver and PRU-ICSS firmware for EnDat encoder interface |
HDSL | HDSL | Driver and PRU-ICSS firmware for Hiperface DSL encoder interface |
Nikon A-Format | Nikon A-Format | Driver and PRU-ICSS firmware for Nikon A-Format encoder interface |
Tamagawa | Tamagawa | Driver and PRU-ICSS firmware for Tamagawa encoder interface |
Current Sense | ||
SDFM | SDFM | Driver and firmware for current sense using Sigma-Delta Filtering Module |
Real Time Libraries | ||
Control algorithms | Control algorithms | Library for control algorithms and techniques used in motors such as PMSM and BLDC |
Digital Control Library (DCL) | Digital Control Library (DCL) | Header-only library for digital control applications |
Observer algorithms | Observer algorithms | Header-only library for encoder/observer algorithms used in both sensored/sensorless field oriented control (FOC) |
Transforms | Transformation Algorithm | Transformation including Clarke, Park, Space Vector Generation used in motor control applications. |
PRU-ICSS PWM | ||
PRU-ICSS PWM | PRU-ICSS PWM | Driver for using PRU-ICSS PWM Peripheral |
Examples and Demos | ||
Examples and Demos | Examples and Demos | Examples and demos showing usage of different SW libraries and APIs for motor control |
For details on software components of Industrial Communications SDK and MCU+ SDK, please refer to AM243X Industrial Communications SDK and AM243X MCU+ SDK respectively.
Given below is a overview of the directory structure to help you navigate the SDK and related tools.
Folder/Files | Description |
---|---|
${SDK_INSTALL_PATH}/ | |
README_FIRST_AM243X.html | Open this file in a web browser to reach this user guide |
makefile | Top level makefile to build the whole SDK using "make" |
imports.mak | Top level makefile to list paths to dependent tools |
docs/ | Offline browseable HTML documentation |
examples/ | Example applications for AM243X, across multiple boards |
source/ | Device drivers, middleware libraries and APIs |
ind_comms_sdk/ | Industrial Communications SDK |
mcu_plus_sdk/ | MCU+ SDK |
Given below are the paths where the different tools needed outside the SDK, like CCS, SysConfig are installed by default in Windows. In Linux, the tools are installed by default in ${HOME}/ti.
Folder/Files | Description |
---|---|
C:/ti/ccs1270 | Code composer studio |
C:/ti/sysconfig_1.20.0 | SysConfig. NOTE, SysConfig is also installed as part of CCS at ${CCS_INSTALL_PATH}/ccs/utils/sysconfig_x.x.x |
C:/ti/ti-cgt-armllvm_3.2.2.LTS | TI ARM CLANG compiler tool chain |
The licensing information of this SDK, as well as any third-party components included which are made available under a number of other open-source licenses are enumerated as part of the manifest. A complete manifest along with export control information is detailed here [LINK] and the SDK Software License Agreement (SLA) is here [LINK]
For additional help and support, see https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum
This user guide is generated using doxygen, v1.8.20. See https://www.doxygen.nl/index.html