AM243x Motor Control SDK  09.01.00
ICSS SDFM Examples

This page lists all the examples of ICSSG SDFM availble in this SDK. Following sections describe the features available in each of the examples.

The ICSS SDFM driver provides a well defined set of APIs to expose sigma delta interface.

The ICSS SDFM examples invoke these APIs to

  • Set SDFM channels
  • Set Accumulator (ACC) source, Normal Current (NC) Over-samping Ratio (OSR), Over-current (OC) OSR, Clock source and Clock inversion
  • Enable/disable threshold comparators
  • Set high and low threshold values
  • Enable Zero Cross & set Zero cross threshold value
  • configure normal current sample trigger time (time for read sample)
  • Enable & disable double update
  • Inform firmware to enable SDFM mode
  • Configure and fast detect block
  • Enable PRU load share mode
  • Enable Phase Compensation

Once these steps are executed

  • ICSS SDFM example waits for a interrupt (trigger by SDFM firmware) to read sample data
  • when interrupt occurs, example reads sample data from DMEM and again comes back to waiting loop

ICSS SDFM Examples Implementation

Following section describes the flow of the examples.

ICSS SDFM Examples

Important files and directory structure

Folder/Files Description
${SDK_INSTALL_PATH}/examples/current_sense/icss_sdfm_nine_channel_with_continuous_mode Application specific sources for ICSS SDFM for continuous normal current sampling for nine channels
${SDK_INSTALL_PATH}/examples/current_sense/icss_sdfm_nine_channel_load_share_mode Application specific sources for ICSS SDFM for trigger based normal current sampling for nine channels
${SDK_INSTALL_PATH}/examples/current_sense/icss_sdfm_three_channel_single_pru_mode Application specific sources for ICSS SDFM for trigger based normal current sampling for three channels
${SDK_INSTALL_PATH}/examples/current_sense/icss_sdfm_three_channel_with_continuous_mode

Application specific sources for ICSS SDFM for continuous normal current sampling for three channels

${SDK_INSTALL_PATH}/examples/current_sense/icss_sdfm_three_channel_with_phase_compensation Application specific sources for ICSS SDFM with phase compensation
${SDK_INSTALL_PATH}/examples/current_sense Common source for ICSS SDFM applications
${SDK_INSTALL_PATH}/source/current_sense/sdfm
firmware/ Folder containing ICSS SDFM firmware sources
driver/ ICSS SDFM driver source
include/ Folder containing ICSS SDFM structures and APIs declarations

Supported Combinations

Parameter Value
CPU + OS r5fss0-0 freertos
ICSSG ICSSG0
PRU PRU0 (single channel)
PRU0, RTU-PRU0, TXPRU0 (multi channel using three PRUs - load share mode)
Toolchain ti-arm-clang
Board am243x-evm, am243x-lp
Examples folder examples/current_sense

ICSS SDFM Examples Description

Following are different examples for ICSS SDFM:

Example Enabled Features Tested/Supported Features
Basic ICSS SDFM Examples Trigger based Normal current, Over current detection Zero cross detection, Fast detect, Double Update
SDFM Examples with Continuous Normal Current Sampling Continuous normal current sampling Fast detect
SDFM Example With Phase Compensation Trigger based Normal current, Phase compensation, Over current detection

Fast detect, Double Update, Zero cross detection