Feature | Module |
Three channel Nikon A-Format with one PRU-ICSSG Slice | Position Sense Nikon A-Format |
Point-to-point and bus connection support for Nikon A-Format | Position Sense Nikon A-Format |
Multiple baud rate support : 2.5 MHz, 4 MHz, 6.67 MHz, 8 MHz, and 16 MHz | Position Sense Nikon A-Format |
Long cable (upto 100 meters) | Position Sense Nikon A-Format |
Updated HDSL position realignment algorithm | Position Sense HDSL |
Readiness for BiSS Safety profile by supporting 16 bit CRC and sign-of-life counter | Position Sense BiSS-C |
Compare event based command trigger support | Position Sense BiSS-C |
SysConfig Enhancements | Current Sense SDFM |
SINC1 and SINC2 Filtering | Current Sense SDFM |
Deadband Configuration | PRU-ICSS PWM |
Control Library | Real Time Libraries |
Observer Library | Real Time Libraries |
Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested |
BiSS-C | R5F | YES | FreeRTOS, NORTOS | Single channel, Multi channel using single PRU core and three PRU cores (load share mode), point-to-point connection, daisy chaining, control communication, automatic processing delay detection and compensation, interface speed of 1, 2, 5, 8, and 10 MHz, Long cable (upto 100 meters), safety CRC, sign-of-life counter, Boosterpack with AM243x-LP | - |
EnDat | R5F | YES | FreeRTOS, NORTOS | Single channel, Multi channel using single PRU core and three PRU cores (load share mode), Continuous mode, Recovery Time for 2.2 command set, Long cable (upto 100 meters), Boosterpack with AM243x-LP | Encoder receive communication command |
HDSL | R5F | YES | FreeRTOS, NORTOS | Single channel, Multi channel using three PRU cores (load share mode), 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 AM243x-LP | 225 MHz PRU-ICSSG Core Clock based firmware, Multi-channel with long cables(100m length), Long cable (upto 100 meters) with sync mode |
Nikon A-Format | R5F | YES | FreeRTOS, NORTOS | Single channel, Multi channel using single PRU core and three PRU cores (load share mode), point-to-point connection, bus connection, ndividual 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 AM243x-LP | - |
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 | - |
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) | - |
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) | - |
ID | Head Line | Module | Applicable Releases | Resolution/Comments |
PINDSW-6630 | HDSL: POS bit is not set during initial fast position alignment | Position Sense HDSL | 9.0 onwards | - |
PINDSW-7158 | HDSL: Reset Value of SSUM bit is not correct | Position Sense HDSL | 9.0 onwards | - |
PINDSW-7480 | HDSL: Continuous short/long message requests cause PRU to get stuck | Position Sense HDSL | 9.0 onwards | - |
PINDSW-7498 | ROV is not working for the Industrial Communication SDK Examples which are part of Motor Control SDK | Examples | 9.1 onwards | - |
PINDSW-7560 | PRU firmware build in Motor Control SDK is failing in Linux environment | Examples | 9.1 onwards | - |
PINDSW-7567 | PRUICSS PWM : Mapping of pwm signals PWMm_0_NEG to PWMm_A1, PWMm_1_POS to PWMm_A2, PWMm_1_NEG to PWMm_B0, PWMm_2_POS to PWMm_B1 is not correct | PRUICSS PWM | 9.1 onwards | - |
PINDSW-7595 | SDFM: SDFM_init API does not have support for ICSSG1 | Current Sense SDFM | 9.0 onwards | - |
PINDSW-7642 | Docs: The tool versions of older releases in Release Notes are not correct | Documentation | 9.1 onwards | - |
PINDSW-7696 | Unable to use SBL OSPI boot mode for all the demo applications of Motor Control SDK | Examples | 9.1 onwards | - |
PINDSW-7756 | Tamagawa: After stopping periodic trigger mode, firmware gets stuck | Position Sense Tamagawa | 9.1 onwards | - |
PINDSW-7758 | BiSS-C: Firmware does not work when changing ICSSG Core Clock Frequency to 300MHz | Position Sense BiSS-C | 9.1 onwards | Clock dividers for Three Channel Peripheral Interface were not being set correctly for 300MHz |
PINDSW-7940 | Transforms: UART Log does not work in transforms_test example | Real Time Libraries | 9.1 onwards | - |
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-7130 | HDSL: Few protocol resets seen during initialization with Free Run mode on AM243x-LP | Position Sense HDSL | 9.0 onwards | - |
PINDSW-7163 | HDSL: Trailer data contains 4 zeros instead of 5 | Position Sense HDSL | 9.0 onwards | - |
PINDSW-7474 | HDSL : 100 meter cable length does not work for sync mode in 300MHz PRU clock | Position Sense HDSL | 9.0 onwards | - |
This section lists changes which could affect user applications developed using Motor Control SDK 09.01.00. 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.
Module | Affected API | Change | Additional Remarks |
Current Sense SDFM | Structure SdfmPrms_s | Added a variable: icssgInsId | - |
Position Sense BiSS-C | bissc_update_data_len | Changed API parameter: pru_num to ch_num | - |
Position Sense BiSS-C | bissc_generate_ctrl_cmd | Added an API: bissc_generate_ctrl_cmd | Needed to generate Hex equivalent command |
Position Sense BiSS-C | Structure bissc_periodic_interface | Removed pruicss_cfg and pruicss_dmem variables, and added variable cmp0 | Needed for time trigger |
Current Sense SDFM | Structure SdfmPrms_s | Added sub structures for sdfm parameters: SdfmClkPrms_s , SdfmCompFilterPrms_s , SdfmChannelPrms_s | Split SDFM parameters into multiple structures |
Position Sense EnDat | Structure endat_periodic_interface | Removed pruicss_cfg variable and added variable cmp0 | - |
Position Sense Tamagawa | Structure tamagawa_periodic_interface | Removed pruicss_cfg variable and added variable cmp0 | - |
Module | Affected API | Change | Additional Remarks |
PRUICSS PWM | PRUICSS_PWM_actionOnOutputCfgPwmSignalB0 | Updated definition to configure action of PWMn_m_0_NEG signal in active, intial, trigger states | - |
PRUICSS PWM | PRUICSS_PWM_actionOnOutputCfgPwmSignalA1 | Updated definition to configure action of PWMn_m_1_POS signal in active, intial, trigger states | - |
PRUICSS PWM | PRUICSS_PWM_actionOnOutputCfgPwmSignalB1 | Updated definition to configure action of PWMn_m_1_NEG signal in active, intial, trigger states | - |
PRUICSS PWM | PRUICSS_PWM_actionOnOutputCfgPwmSignalA2 | Updated definition to configure action of PWMn_m_2_POS signal in active, intial, trigger states | - |
Current Sense SDFM | SDFM_init | Added new parameter: PRU-ICSSG handle. | - |
Position Sense BiSS-C | Structure bissc_priv | Added variables: is_continuous_mode , ctrl_write_status[NUM_ED_CH_MAX] , ctrl_reg_address[NUM_ED_CH_MAX] , ctrl_reg_data[NUM_ED_CH_MAX] , ctrl_enc_id[NUM_ED_CH_MAX] . | Required to generate Hex equivalent control command and continuous mode |
Position Sense BiSS-C | bissc_generate_ctrl_cmd | Added API: bissc_generate_ctrl_cmd. | Required to generate Hex equivalent control command |
Position Sense BiSS-C | bissc_get_totalchannels, bissc_get_current_channel, bissc_clear_data_len | Added API: bissc_get_totalchannels, bissc_get_current_channel, bissc_clear_data_len. | Required to offload priv variable assignments from examples |
Position Sense BiSS-C | bissc_config_host_trigger, bissc_config_periodic_trigger | Updating priv->is_continuous_mode | Required for continuous mode |
Position Sense BiSS-C | bissc_command_wait | Checking for priv->is_continuous_mode | Required for continuous mode |
Position Sense BiSS-C | bissc_set_default_initialization | Updating Structure variables: is_continuous_mode , ctrl_reg_address , ctrl_enc_id | Required for continuous mode and control command generation |
Current Sense SDFM | Structure SDFM_s | Added a variable: gPruPwmHandle | |
Current Sense SDFM | Structure SDFM_s | Added a void pointer: prussIep | |
Current Sense SDFM | SDFM_setCompFilterThresholds | Updated parameter type | |
Current Sense SDFM | SDFM_selectClockSource | Updated parameter name and type | |
Position Sense EnDat | Structure cmd_supplement | Added a variable: cmp0 | |
Position Sense EnDat | Structure endat_priv | Added a variable: cmp0 | |
Position Sense Tamagawa | Structure tamagawa_priv | Added a variable: cmp0 | |
PRUICSS PWM | PRUICSS_PWM_iepConfig | PRUICSS_PWM_configureIepCompareEnable API call is removed from the PRUICSS_PWM_iepConfig function | PRUICSS_PWM_configureIepCompareEnable needs to be called separately to enable IEP cmp events |