AM243x Motor Control SDK  09.02.00
Release Notes 09.00.00

Attention
Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.
For release notes of Industrial Communications SDK and MCU+ SDK, please refer to AM243X Industrial Communications SDK Release Notes 09.00.00 and AM243X MCU+ SDK Release Notes 09.00.00 respectively.
Note
The examples will show usage of SW modules and APIs on a specific CPU instance and OS combination.
Unless noted otherwise, the SW modules would work in both FreeRTOS and NORTOS environment.
Unless noted otherwise, the SW modules would work on any of the R5F's present on the SOC.
Unless noted otherwise, the SW modules would work on all supported EVMs
Tamagawa over SoC UART example is not supported for AM243x

New in this Release

Feature Module
SYNC Mode Support with 2 channels Position Sense HDSL
16 MHz EnDat clock frequency support Position Sense EnDat
Long cable support Position Sense EnDat
Trigger based normal current sampling Current Sense SDFM
Double sampling per PWM cycle Current Sense SDFM
Digital Control Library Real Time Libraries

Device and Validation Information

SOC Supported CPUs Boards Host PC
AM243x R5F AM243x EVM (referred to as am243x-evm in code),
AM243x LAUNCHPAD (referred to as am243x-lp in code)
Windows 10 64b or Ubuntu 18.04 64b

Tools, Compiler and Other Open Source SW Module Information

Tools / SW module Supported CPUs Version
Code Composer Studio R5F, M4F 12.4.0
SysConfig R5F, M4F 1.17.0, build 3128
TI ARM CLANG R5F, M4F 2.1.3.LTS
FreeRTOS Kernel R5F, M4F 10.4.3
Tiny USB R5F 0.14.0
LwIP R5F STABLE-2_2_0_RELEASE
Mbed-TLS R5F mbedtls-2.13.1

Key Features

Position Sense

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
EnDat R5F YES FreeRTOS, NORTOS Single channel, Multi channel, Continuous mode for single channel, Load share mode, Recovery Time for 2.2 command set, Boosterpack with AM243x-LP Encoder receive communication command
HDSL R5F YES FreeRTOS, NORTOS Freerun mode(300MHz,225MHz), Sync mode(225MHz), Short Message Read & Write, Long Message Read & Write, Boosterpack with AM243x-LP Long cables
Tamagawa R5F YES FreeRTOS, NORTOS Absolute position, Encoder ID, Reset, EEPROM Read, EEPROM Write, 2.5 Mbps and 5 Mbps Encoder Support, Boosterpack with AM243x-LP -

Current Sense

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
SDFM R5F YES FreeRTOS, NORTOS 3 SDFM channels on single PRU core, SDFM Sync with EPWM, Overcurrent, single normal current sampling per PWM cycle, Double normal current sampling per PWM cycle, High and Low threshold comparator, Tested with SDFM clock from ECAP, Tested with 5MHz Clock from EPWM -

Fixed Issues

ID Head Line Module Applicable Releases Resolution/Comments
PINDSW-5538 HDSL: Long message not working with multi-channel application Position Sense HDSL - -
PINDSW-5651 HDSL: Multi-turn bits of fast position do not contain correct data Position Sense HDSL - -
PINDSW-5681 EnDat: Recovery Time not correct for 2.1 commands Position Sense EnDat - -
PINDSW-5689 HDSL: High deviation in fast position when encoder shaft is fixed Position Sense HDSL - -
PINDSW-6487 HDSL: FIX bits in ONLINE STATUS 1 register are losing the expected fix value Position Sense HDSL - -
PINDSW-6488 HDSL: SUM/SSUM bit not working in ONLINE STATUS registers Position Sense HDSL - -
PINDSW-6489 HDSL: Offsets for ONLINE STATUS registers in C structure are not correct Position Sense HDSL - -
PINDSW-6492 HDSL: Protocol reset is not working Position Sense HDSL - -
PINDSW-6526 HDSL: FREL/FRES bits in EVENT/EVENT_S registers are not sticky Position Sense HDSL - -
PINDSW-6530 HDSL: QMLW bit not working in ONLINE STATUS registers Position Sense HDSL - -
PINDSW-6607 SDFM: NULL pointer dereferenced in SDFM_getFilterData Current Sense SDFM - -

Known Issues

ID Head Line Module Applicable Releases Workaround
PINDSW-5537 HDSL not working with 225 MHz PRU-ICSSG Core Clock Frequency Position Sense HDSL 9.0 onwards Use 300 MHz frequency for PRU-ICSSG Core Clock
PINDSW-5690 HDSL: EDGE register is not updated Position Sense HDSL 9.0 onwards -
PINDSW-6486 HDSL: RSSI register shows higher values than expected for a non-noisy setup Position Sense HDSL 9.0 onwards -
PINDSW-6544 SDFM: Incorrect samples seen intermittently with EPWM as SDFM clock Current Sense SDFM 9.0 onwards Use 5MHz SDFM clock from EPWM1 (tested with 5MHz clock from EPWM) or use PRU-ICSSG ECAP as SDFM clock source
PINDSW-6628 HDSL: Reset value of PRST bit is not correct Position Sense HDSL 9.0 onwards -
PINDSW-6629 HDSL: SSUM bit in EVENT_S is not set when SUMMARY is non-zero Position Sense HDSL 9.0 onwards -
PINDSW-6630 HDSL: POS bit is not set during initial fast position alignment Position Sense HDSL 9.0 onwards -
PINDSW-6931 Tamagawa: Firmware build failing Position Sense Tamagawa 9.0 onwards 1. Update include path of icss_regs.inc and icss_cfg_regs.inc files to ../../../../mcu_plus_sdk/source/pru_io/firmware/common/ path in tamagawa_main.asm and tamagawa_icss_reg_defs.h files.
2. Replace ED with ENDAT in symbol definitions in tamagawa_main.asm file's lines 101 to 122. (For example, update ICSS_CFG_PRU0_ED_CH0_CFG1 to ICSS_CFG_PRU0_ENDAT_CH0_CFG1 )

Limitations

ID Head Line Module Reported in Release Applicable Devices Workaround
MCUSDK-208 gmake with -j can sometimes lock up Windows command prompt Build 7.3.0 AM64x, AM243x Use bash for windows as part of git for windows or don't use -j option

Upgrade and Compatibility Information for Motor Control SDK 09.00.00

Attention
When migrating from MCU+ SDK, see Migration Guide for more details.

This section lists changes which could affect user applications developed using older MCU+ SDK versions. Read this carefully to see if you need to do any changes in your existing application when migrating to this SDK version relative to previous SDK version. Also refer to older SDK version release notes to see changes in earlier SDKs.

Examples

Module Affected API Change Additional Remarks
Current Sense SDFM Structure SdfmPrms_s Added variables iep_clock, sd_clock, en_second_update, firstSampTrigTime and secondSampTrigTime

Drivers

Module Affected API Change Additional Remarks
Position Sense EnDat endat_init Added API parameter pruss_iep Needed for periodic mode
Position Sense EnDat Structure endat_priv Added variables pruss_iep, cmp3, cmp5 and cmp6 Needed for periodic mode
Position Sense EnDat Structure cmd_supplement Added variables cmp3, cmp5 and cmp6 Needed for periodic mode
Current Sense SDFM SDFM_setSampleReadingTime Changed name of API SDFM_setSampleTriggerTime and updated a parameter name samp_trig_time -
Current Sense SDFM SDFM_setFilterOverSamplingRatio Removed oc_osr parameter -
Current Sense SDFM SDFM_setCompFilterOverSamplingRatio Changed type of over-sampling Rate (OSR) parameter uint8_t to uint16_t
Current Sense SDFM SDFM_setAccOverSamplingRatio Removed this API -
Current Sense SDFM Structure SDFM_Ctrl Removed variables: ctrl and stat, and added variables sdfm_en, sdfm_en_ack and sdfm_pru_id -
Current Sense SDFM Structure SDFM_CfgTrigger Removed variables trig_samp_time, oc_prd_iep_cnt and sample_count, and added variables en_double_nc_sampling, first_samp_trig_time and second_samp_trig_time -