AM261x Motor Control SDK  10.02.00
Release Notes 10.02.00

Note
Motor Control SDK version 10.02.00 supports LP-AM261 Rev. E2 only. The upcoming LP-AM261 board revision will feature integrated DP83869 Ethernet PHYs onboard, replacing the DP83826E daughter card approach used in LP-AM261 Rev. E2.
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 AM261X Industrial Communications SDK Release Notes 10.02.00 and AM261X MCU+ SDK Release Notes 10.02.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
Nikon A-format version 3.0 Position Sense Nikon A-format
Support for up to 8 encoders in bus connection Position Sense Nikon A-format
Control algorithms Real Time Libraries
Datalog Real Time Libraries
Digital Control Library (DCL) Real Time Libraries
Observer algorithms Real Time Libraries
Software Frequency Response Analyzer Real Time Libraries
Transformation Algorithm Real Time Libraries

Device and Validation Information

SOC Supported CPUs EVM Host PC
AM261x R5F AM261x Launchpad Rev E2 (referred to as am261x-lp in code).
Windows 10 64b or Ubuntu 18.04 64b or MacOS

Dependent Tools and Compiler Information

Tools Supported CPUs Version
Code Composer Studio R5F 12.8.1
SysConfig R5F 1.23.0 build, build 4000
TI ARM CLANG R5F 4.0.1.LTS
FreeRTOS Kernel R5F 11.1.0
LwIP R5F STABLE-2_2_0_RELEASE
Mbed-TLS R5F 2.13.1

Key Features

Position Sense

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
BiSS-C R5F YES FreeRTOS, NORTOS Single channel, point-to-point connection, control communication, automatic processing delay detection and compensation, Interface speed of 1, 2, 5, 8, and 10 MHz, Boosterpack with LP-AM261 Daisy chaining, Multi Transmission Mode
EnDat R5F YES FreeRTOS, NORTOS Single channel, Continuous mode, Recovery Time for 2.2 command set, Interface speed of 5 and 10 MHz, Boosterpack with LP-AM261 Encoder receive communication command
HDSL R5F YES FreeRTOS, NORTOS Single channel, Free Run mode, Sync mode, Short Message Read and Write, Long Message Read and Write, Pipeline Channel Data, Long cable (upto 100 meters) with single channel Free Run mode, Boosterpack with LP-AM261, 225 MHz PRU firmware Long cable (upto 100 meters) with sync mode, Trace feature for logging registers
Nikon A-format R5F YES FreeRTOS, NORTOS Nikon A-format version 2.1 and version 3.0, Single channel, Multi channel using single PRU core, point-to-point connection, bus connection up to 8 encoders, Individual and multiple transmission mode with encoder addresses ranging between ENC1-ENC8, baud rates from 2.5 MHz, 4 MHz, 6.67 MHz, 8 MHz, and 16 MHz, up to 40-bit absolute position (single turn + multi turn) data with additional information, long cable (upto 100 meters), Boosterpack with LP-AM261 -
Tamagawa R5F YES FreeRTOS, NORTOS Absolute position, Encoder ID, Reset, EEPROM Read, EEPROM Write, 2.5 Mbps Encoder, Boosterpack with LP-AM261 5 Mbps encoder

Real Time Libraries

Module Supported CPUs SysConfig Support OS Support Key features tested Key features not tested
Control R5F YES FreeRTOS, NORTOS Field Weakening Control, Maximum Torque Per Ampere, Strator voltage frequency generator support -
Digital Control Library (DCL) R5F YES FreeRTOS, NORTOS Linear PI, Linear PID, Linear PI with double integrator (PI2), Direct Form 1 (first order), Direct Form 1 (second order), Direct Form 1 (third order), Direct Form 2 (second order), Direct Form 2 (third order), Non-linear PID controller -
Observer R5F YES FreeRTOS, NORTOS Sensored eQEP-based encoder, Hall sensor, Sensorless Enhanced Sliding Mode Observer, both speed measurement for sensored (speedcalc) and sensorless (speedfr) -
SFRA R5F YES FreeRTOS, NORTOS Software Frequency Response Analyzer support -
Transforms R5F YES FreeRTOS, NORTOS Clarke transformation, Park transformation, Inverse Park transformation, Space Vector Generation (SVGEN), Common-mode subtraction approach, DPWM Generation (Part of SVGEN), Maximum Modulation, Minimum Modulation, SVGEN current reconstruction for single-shunt (SVGENCURRENT), Phase voltage reconstruction in overmodulation (VOLTS_RECON) -
Utilities R5F YES FreeRTOS, NORTOS Angle Compensation Generator, Step Response, Datalog, Trapezoid generator -

Fixed Issues

ID Head Line Module Applicable Releases Resolution/Comments
PINDSW-8087 Tamagawa: UART clock source is used for TX fifo Position Sense Tamagawa 10.0.0 onwards -
PINDSW-8353 AM261x: HDSL Long message UART Commands (8, 9 and 10) not working Position Sense HDSL 10.0.0 onwards -
PINDSW-8358 BiSS-C/Nikon/EnDat/Tamagawa: Exiting Periodic Trigger mode UART option does not work Position Sense BiSS-C, Position Sense EnDat, Position Sense Nikon A-format, Position Sense Tamagawa 10.0.1 -
PINDSW-8399 EnDat: Implementation of Recovery time is not as per specification (RT counter is missing) Position Sense EnDat 10.0.0 onwards -
PINDSW-9123 Nikon: Data reversal not done correctly for EEPROM and ID commands Position Sense Nikon A-format 10.0.1 Fixes done in nikon_update_eeprom_addr, nikon_update_eeprom_data, nikon_update_id_code and nikon_get_pos
PINDSW-9124 Nikon: Data reversal not done correctly for encoder status received in response Position Sense Nikon A-format 10.0.1 Fixes done in nikon_get_pos
PINDSW-9127 Nikon: For commands 8 to 12, 9 requests are sent instead of 8 Position Sense Nikon A-format 10.0.1 Fixes done in nikon_get_pos
PINDSW-9128 Nikon: For EEPROM commands, request is sent 2 times from firmware Position Sense Nikon A-format 10.0.1 Fixes done in nikon_get_pos, and updates in the application code for EEPROM command handling
PINDSW-9131 Nikon: EEPROM read for temperature does not use 10 bit data Position Sense Nikon A-format 10.0.1 Fixes done in nikon_get_pos, and updated the application code for EEPROM command handling
PINDSW-9144 Nikon: For EEPROM/ID commands, same data is used for all channels in multi-channel mode Position Sense Nikon A-format 10.0.1 Added provision for different address/data per channel
PINDSW-9180 Nikon: 10 us delay between CDF-MDF and MDF-MDF is used for commands needing MDF Position Sense Nikon A-format 10.0.1 -
PINDSW-9238 Nikon: IEP compare value is not set correctly for continuous mode Position Sense Nikon A-format 10.0.1 Change the units to IEP clock cycle count
PINDSW-9239 Nikon: nikon_config_periodic_trigger assumes fixed receive size of response Position Sense Nikon A-format 10.0.1 Remove receive size hard-coding in driver
PINDSW-9248 EnDat: RX arm delay and TST delay settings are hard-coded for a 200MHz core clock Position Sense EnDat 10.0.0 onwards -
PINDSW-9255 Nikon: If Debug log/scan is removed and encoder resolution is fixed in application code, initialization fails Position Sense Nikon A-format 10.0.1 Add 0.5 seconds delay in application after powering up the encoder

Known Issues

ID Head Line Module Applicable Releases Workaround
PINDSW-5690 HDSL: EDGE register is not updated Position Sense HDSL 10.0.1 onwards -
PINDSW-6486 HDSL: RSSI register shows higher values than expected for a non-noisy setup Position Sense HDSL 10.0.1 onwards -
PINDSW-7130 HDSL: Few protocol resets seen during initialization with Free Run mode on LP-AM243 and LP-AM261 Position Sense HDSL 10.0.1 onwards -
PINDSW-7163 HDSL: Trailer data contains 4 zeros instead of 5 Position Sense HDSL 10.0.1 onwards -
PINDSW-7474 HDSL: Sync mode does not work 100m long cable Position Sense HDSL 10.0.1 onwards -
PINDSW-8296 HDSL: Incorrect SAFE_SUM value is seen Position Sense HDSL 10.0.1 onwards -
PINDSW-9179 Nikon: PRU Firmware gets stuck if encoder does not respond with number of bytes expected by driver Position Sense Nikon A-format 10.0.1 onwards -

Upgrade and Compatibility Information for Motor Control SDK 10.02.00

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
Position Sense Nikon A-format Multiple variables Refactor code to avoid unsigned to signed and signed to unsigned conversion -

Drivers

Module Affected API Change Additional Remarks
Position Sense Endat Endat_ChRxInfo Added new variables: Endat_ChRTInfo and Removed variables: resvdInt2, resvdInt3" andrecoveryTime` -
Position Sense Endat struct pruss_xchg Added new variables: enableRTM -
Position Sense Nikon A-format structure pos_data_info Added variables raw_data4, raw_data5, velocity and acc Needed for Nikon A-format version 3.0
Position Sense Nikon A-format structure alm_bits Added variables ov_spd_s, st_err_s, ps_err_s, busy_s and inc_err_s Needed for Nikon A-format version 3.0
Position Sense Nikon A-format structure alm_bits Updated variable inc_err's name to inc_err Updated as per Nikon A-format version 3.0
Position Sense Nikon A-format structure nikon_priv Added parameters tx_rx_clock_source and protocol_version Needed for configuring clock source selection and specifying protocol version respectively
Position Sense Nikon A-format structure nikon_priv Updated parameter tx_mdf

Updated the variable type from uint32_t to 2D array of type uint32_t to store different tx_mdf data for each channel and each MDF

Position Sense Nikon A-format structure nikon_priv Updated parameter mem_data Updated the variable type from 1D array of type uint32_t to 2D array of type uint32_t to store different mem_data data for each channel and each MDF
Position Sense Nikon A-format structure nikon_priv Added variable velocity_coefficient, pm_alm_field, and bank_error Needed for Nikon A-format version 3.0
Position Sense Nikon A-format API nikon_init Added input parameters tx_rx_clock_source and protocol_version Needed for configuring clock source selection and specifying protocol version respectively
Position Sense Nikon A-format structure nikon_pruicss_xchg Updated parameter mdf_frame Updated the variable type from 1D array of type uint32_t to 2D array of type uint32_t to store different mdf_frame data for each channel and each MDF
Position Sense Nikon A-format structure nikon_pruicss_xchg Add parameter num_mdf It stores the number of MDFs to be sent
Position Sense Nikon A-format structure nikon_pruicss_xchg Removed delay_300us, delay_30ms, delay_10us and added delay_1us 300 us, 30 ms and 10 us delay values are not needed in firmware. 1 us is needed for delay between CDF and MDFs.
Position Sense Nikon A-format structure nikon_pruicss_xchg Renamed variable icssg_clk to icss_clk -
Position Sense Nikon A-format API nikon_get_pos CRC is not removed while copying data into last raw data byte for all commands (priv->pos_data_info[ch].raw_data<x>[enc_num]) -
Position Sense Nikon A-format APIs nikon_get_pos, nikon_init, nikon_generate_cdf, nikon_reverse_bits, nikon_config_load_share Refactor code to avoid unsigned to signed and signed to unsigned conversion. Update the data type of function arguments. -
Position Sense Nikon A-format APIs nikon_update_eeprom_addr, nikon_update_eeprom_data, nikon_update_id_code Add channel as function argument, and update the data type based on bit width needed for address, data, and ID code -