- 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
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 GP 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, A53 | 12.4.0 |
SysConfig | R5F, M4F, A53 | 1.17.0, build 3128 |
TI ARM CLANG | R5F, M4F | 2.1.3.LTS |
FreeRTOS Kernel | R5F, M4F, A53 | 10.4.3 |
FreeRTOS SMP Kernel | A53 | 202110.00-SMP |
- Attention
- TI ARM CLANG 2.1.3.LTS is not part of CCS by default, Follow steps at TI CLANG Compiler Toolchain to install the compiler.
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 | - |
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
This section lists changes which could affect user applications developed using older 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 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 | - |