Here is the list of APIs used for Sigma Delta interface
Functions | |
| sdfm_handle | SDFM_init (PRUICSS_Handle pruIcssHandle, uint8_t pruId, uint8_t coreId) |
| Initialize SDFM instance. More... | |
| void | SDFM_configIepCount (sdfm_handle h_sdfm, uint32_t epwm_out_freq) |
| Configure iep increment & iep count in one epwm cycle. More... | |
| void | SDFM_configEcap (sdfm_handle h_sdfm, uint8_t ecap_divider) |
| Configure ecap parameters for generate SD clock. More... | |
| void | SDFM_setEnableChannel (sdfm_handle h_sdfm, uint8_t channel_number) |
| Enable the channel specified by the channel number parameter. More... | |
| void | SDFM_setCompFilterOverSamplingRatio (sdfm_handle h_sdfm, uint8_t ch_id, uint16_t osr) |
| Configure comparator filter (over current) sampling ratio. More... | |
| void | SDFM_enable (sdfm_handle h_sdfm) |
| SDFM global enable. More... | |
| void | SDFM_setCompFilterThresholds (sdfm_handle h_sdfm, uint8_t ch_id, uint32_t *thresholdParms) |
| configuration of SDFM threshold values More... | |
| void | SDFM_setSampleTriggerTime (sdfm_handle h_sdfm, float samp_trig_time) |
| configuration of single sample trigger time one Epwm cycle More... | |
| void | SDFM_enableDoubleSampling (sdfm_handle h_sdfm, float samp_trig_time) |
| configuration and enable second normal current sample starting time one Epwm cycle More... | |
| void | SDFM_disableDoubleSampling (sdfm_handle h_sdfm) |
| Disable double normal current update/sampling. More... | |
| void | SDFM_configDataFilter (sdfm_handle h_sdfm, uint8_t ch_id, uint8_t filter) |
| configuration of SDFM channel Acc source (sync filter type). Current SDFM firmware implementation support only SYNC3 filter More... | |
| void | SDFM_selectClockSource (sdfm_handle h_sdfm, uint8_t ch_id, uint8_t clk_source) |
| configuration of SDFM channel clock source More... | |
| void | SDFM_setClockInversion (sdfm_handle h_sdfm, uint8_t ch_id, uint8_t clk_inv) |
| configuration of SDFM channel clock inversion More... | |
| void | SDFM_enableComparator (sdfm_handle h_sdfm, uint8_t ch) |
| This API enables the Comparator for the selected channel. More... | |
| void | SDFM_disableComparator (sdfm_handle h_sdfm, uint8_t ch) |
| This API disables the Comparator for the selected channel. More... | |
| void | SDFM_configComparatorGpioPins (sdfm_handle h_sdfm, uint8_t ch, uint32_t gpio_base_addr, uint32_t pin_number) |
| configure GPIO pin number and address for associate Channel Number More... | |
| uint32_t | SDFM_getFilterData (sdfm_handle h_sdfm, uint8_t ch) |
| get sample data from DMEM More... | |
| void | SDFM_setFilterOverSamplingRatio (sdfm_handle h_sdfm, uint16_t nc_osr) |
| Configure iep count for normal current sampling. More... | |
| uint32_t | SDFM_getFirmwareVersion (sdfm_handle h_sdfm) |
| Return Firmware version. More... | |
| void | SDFM_configFastDetect (sdfm_handle h_sdfm, uint8_t ch, uint8_t *fdParms) |
| This API Configure Fast detect block fields. More... | |
| int32_t | SDFM_getFastDetectErrorStatus (sdfm_handle h_sdfm, uint8_t chNum) |
| This API returns the fast detect error status for specified SDFM channel number. More... | |
| int32_t | SDFM_clearPwmTripStatus (sdfm_handle h_sdfm, uint8_t chNum) |
| Clear PWM trip status of the corresponding PWM trip zone block for specified SDFM channel number. More... | |
| void | SDFM_enableContinuousNormalCurrent (sdfm_handle h_sdfm) |
| This API enables continuous normal current sampling. More... | |
| void | SDFM_enableLoadShareMode (sdfm_handle h_sdfm, uint8_t sliceId) |
| This API enables load share mode. More... | |
| void | SDFM_measureClockPhaseDelay (sdfm_handle h_sdfm, uint16_t clEdg) |
| Measure Clock phase compensation. More... | |
| float | SDFM_getClockPhaseDelay (sdfm_handle h_sdfm) |
| This API returns Clock phase compensation. More... | |
| uint8_t | SDFM_getLowThresholdStatus (sdfm_handle h_sdfm, uint8_t chNum) |
| This API returns Low threshold Status for specified SDFM channel number. More... | |
| uint8_t | SDFM_getHighThresholdStatus (sdfm_handle h_sdfm, uint8_t chNum) |
| This API returns high threshold Status for specified SDFM channel number. More... | |
| int32_t | SDFM_clearOverCurrentError (sdfm_handle h_sdfm, uint8_t chNum) |
| This API clears Overcurrent error bit of corresponding PWM register for specified SDFM channel number. More... | |
| void | SDFM_enableZeroCrossDetection (sdfm_handle h_sdfm, uint8_t chNum, uint32_t zcThr) |
| This API enables zero cross detection for specified SDFM channel number. More... | |
| uint8_t | SDFM_getZeroCrossThresholdStatus (sdfm_handle h_sdfm, uint8_t chNum) |
| This API returns Zero cross Status for specified SDFM channel number. More... | |
| void | SDFM_disableZeroCrossDetection (sdfm_handle h_sdfm, uint8_t chNum) |
| This API disbales zero cross detection for specified SDFM channel number. More... | |
| int32_t | SDFM_enableEpwmSync (sdfm_handle h_sdfm, uint8_t epwmIns) |
| This API enables EPWM synchronization with SDFM. More... | |
| int32_t | SDFM_disableEpwmSync (sdfm_handle h_sdfm, uint8_t epwmIns) |
| This API disbale EPWM synchronization with SDFM. More... | |
| int32_t | SDFM_configIepSyncMode (sdfm_handle h_sdfm, uint32_t highPulseWidth, uint32_t periodTime, uint32_t syncStartTime) |
| This API configures IEP SYNC0 and SYNC1 registers to generate free running clock. More... | |
| int32_t | SDFM_enableIep (sdfm_handle h_sdfm) |
| This API enables IEP counter. More... | |
| int32_t | SDFM_configSync1Delay (sdfm_handle h_sdfm, uint32_t delay) |
| Defines clock cycles from the start of SYNC0 to the start of SYNC1. More... | |
| int32_t | SDFM_configClockFromGPO1 (sdfm_handle h_sdfm, uint8_t div0, uint8_t div1) |
Typedefs | |
| typedef SDFM * | sdfm_handle |
Macros | |
| #define | NUM_PRU ( 2 ) |
| #define | PRU_ID_0 ( 0 ) /* PRU 0 ID */ |
| #define | PRU_ID_1 ( 1 ) /* PRU 1 ID */ |
| #define | PRUx_DMEM_BASE_ADD (0x00) |
| #define | RTUx_DMEM_BASE_ADD (0x200) |
| #define | TXPRUx_DMEM_BASE_ADD (0x400) |
| #define | NUM_SD_CH ( ICSSG_NUM_SD_CH ) |
| #define | SDFM_EVT ( TRIGGER_HOST_SDFM_EVT ) |
| #define NUM_PRU ( 2 ) |
| #define PRU_ID_0 ( 0 ) /* PRU 0 ID */ |
| #define PRU_ID_1 ( 1 ) /* PRU 1 ID */ |
| #define PRUx_DMEM_BASE_ADD (0x00) |
| #define RTUx_DMEM_BASE_ADD (0x200) |
| #define TXPRUx_DMEM_BASE_ADD (0x400) |
| #define NUM_SD_CH ( ICSSG_NUM_SD_CH ) |
| #define SDFM_EVT ( TRIGGER_HOST_SDFM_EVT ) |
| typedef SDFM* sdfm_handle |
| sdfm_handle SDFM_init | ( | PRUICSS_Handle | pruIcssHandle, |
| uint8_t | pruId, | ||
| uint8_t | coreId | ||
| ) |
| void SDFM_configIepCount | ( | sdfm_handle | h_sdfm, |
| uint32_t | epwm_out_freq | ||
| ) |
Configure iep increment & iep count in one epwm cycle.
| [in] | h_sdfm | SDFM handle |
| [in] | epwm_out_freq | epwm output frequency |
| void SDFM_configEcap | ( | sdfm_handle | h_sdfm, |
| uint8_t | ecap_divider | ||
| ) |
Configure ecap parameters for generate SD clock.
| [in] | h_sdfm | SDFM handle |
| [in] | ecap_divider | ecap divider for sdfm clock |
| void SDFM_setEnableChannel | ( | sdfm_handle | h_sdfm, |
| uint8_t | channel_number | ||
| ) |
Enable the channel specified by the channel number parameter.
| [in] | h_sdfm | SDFM handle |
| [in] | channel_number | channel number |
| void SDFM_setCompFilterOverSamplingRatio | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch_id, | ||
| uint16_t | osr | ||
| ) |
Configure comparator filter (over current) sampling ratio.
| [in] | h_sdfm | SDFM handle |
| [in] | ch_id | current ch number |
| [in] | osr | comparator filter/Over current sampling ratio |
| void SDFM_enable | ( | sdfm_handle | h_sdfm | ) |
| void SDFM_setCompFilterThresholds | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch_id, | ||
| uint32_t * | thresholdParms | ||
| ) |
| void SDFM_setSampleTriggerTime | ( | sdfm_handle | h_sdfm, |
| float | samp_trig_time | ||
| ) |
configuration of single sample trigger time one Epwm cycle
| [in] | h_sdfm | SDFM handle |
| [in] | samp_trig_time | first sample trigger time in one pwm cycle |
| void SDFM_enableDoubleSampling | ( | sdfm_handle | h_sdfm, |
| float | samp_trig_time | ||
| ) |
configuration and enable second normal current sample starting time one Epwm cycle
| [in] | h_sdfm | SDFM handle |
| [in] | samp_trig_time | second sample trigger time in one PWM cycle |
| void SDFM_disableDoubleSampling | ( | sdfm_handle | h_sdfm | ) |
Disable double normal current update/sampling.
| [in] | h_sdfm | SDFM handle |
| void SDFM_configDataFilter | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch_id, | ||
| uint8_t | filter | ||
| ) |
| void SDFM_selectClockSource | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch_id, | ||
| uint8_t | clk_source | ||
| ) |
| void SDFM_setClockInversion | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch_id, | ||
| uint8_t | clk_inv | ||
| ) |
| void SDFM_enableComparator | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch | ||
| ) |
This API enables the Comparator for the selected channel.
| [in] | h_sdfm | SDFM handle |
| [in] | ch | current ch number |
| void SDFM_disableComparator | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch | ||
| ) |
This API disables the Comparator for the selected channel.
| [in] | h_sdfm | SDFM handle |
| [in] | ch | current ch number |
| void SDFM_configComparatorGpioPins | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch, | ||
| uint32_t | gpio_base_addr, | ||
| uint32_t | pin_number | ||
| ) |
configure GPIO pin number and address for associate Channel Number
| [in] | h_sdfm | SDFM handle |
| [in] | ch | current ch number |
| [in] | gpio_base_addr | GPIO bas address |
| [in] | pin_number | GPIO PIN number |
| uint32_t SDFM_getFilterData | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch | ||
| ) |
get sample data from DMEM
| [in] | h_sdfm | SDFM handle |
| [in] | ch | current ch number |
| current | sample value |
| void SDFM_setFilterOverSamplingRatio | ( | sdfm_handle | h_sdfm, |
| uint16_t | nc_osr | ||
| ) |
Configure iep count for normal current sampling.
| [in] | h_sdfm | SDFM handle |
| [in] | nc_osr | Normal current osr value |
| uint32_t SDFM_getFirmwareVersion | ( | sdfm_handle | h_sdfm | ) |
Return Firmware version.
| [in] | h_sdfm | SDFM handle |
| firmwareVersion | release vesrion of firmware |
| void SDFM_configFastDetect | ( | sdfm_handle | h_sdfm, |
| uint8_t | ch, | ||
| uint8_t * | fdParms | ||
| ) |
This API Configure Fast detect block fields.
| [in] | h_sdfm | SDFM handle |
| [in] | ch | current ch number |
| [in] | fdParms | array of fast detect fields. {window size, zero max count, zero min count, one max count, one min count} |
| int32_t SDFM_getFastDetectErrorStatus | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| int32_t SDFM_clearPwmTripStatus | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| void SDFM_enableContinuousNormalCurrent | ( | sdfm_handle | h_sdfm | ) |
This API enables continuous normal current sampling.
| [in] | h_sdfm | SDFM handle |
| void SDFM_enableLoadShareMode | ( | sdfm_handle | h_sdfm, |
| uint8_t | sliceId | ||
| ) |
This API enables load share mode.
| [in] | h_sdfm | SDFM handle |
| [in] | sliceId | slice ID |
| void SDFM_measureClockPhaseDelay | ( | sdfm_handle | h_sdfm, |
| uint16_t | clEdg | ||
| ) |
Measure Clock phase compensation.
| [in] | h_sdfm | SDFM handle |
| [in] | clEdg | Clock polarity: 1 -> falling edge, 0 -> raising edge |
| float SDFM_getClockPhaseDelay | ( | sdfm_handle | h_sdfm | ) |
This API returns Clock phase compensation.
| [in] | h_sdfm | SDFM handle |
| Phase | delay in nano sec |
| uint8_t SDFM_getLowThresholdStatus | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| uint8_t SDFM_getHighThresholdStatus | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| int32_t SDFM_clearOverCurrentError | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| void SDFM_enableZeroCrossDetection | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum, | ||
| uint32_t | zcThr | ||
| ) |
| uint8_t SDFM_getZeroCrossThresholdStatus | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| void SDFM_disableZeroCrossDetection | ( | sdfm_handle | h_sdfm, |
| uint8_t | chNum | ||
| ) |
| int32_t SDFM_enableEpwmSync | ( | sdfm_handle | h_sdfm, |
| uint8_t | epwmIns | ||
| ) |
| int32_t SDFM_disableEpwmSync | ( | sdfm_handle | h_sdfm, |
| uint8_t | epwmIns | ||
| ) |
| int32_t SDFM_configIepSyncMode | ( | sdfm_handle | h_sdfm, |
| uint32_t | highPulseWidth, | ||
| uint32_t | periodTime, | ||
| uint32_t | syncStartTime | ||
| ) |
This API configures IEP SYNC0 and SYNC1 registers to generate free running clock.
| [in] | h_sdfm | SDFM handle |
| [in] | highPulseWidth | Number of clock cycles SYNC0/1 will be high. 0h = 1 clock cycle. 1h = 2 clock cycles. Nh: N+1 clock cycles. |
| [in] | periodTime | Period between the rising edges of SYNC0 1h = 2 clk cycles period Nh = N+1 clk cycles period |
| [in] | syncStartTime | SYNC0 and SYNC1 activation time |
| int32_t SDFM_enableIep | ( | sdfm_handle | h_sdfm | ) |
This API enables IEP counter.
| [in] | h_sdfm | SDFM handle |
| int32_t SDFM_configSync1Delay | ( | sdfm_handle | h_sdfm, |
| uint32_t | delay | ||
| ) |
Defines clock cycles from the start of SYNC0 to the start of SYNC1.
| [in] | h_sdfm | SDFM handle |
| [in] | delay | Delay before the start of SYNC1 |
| int32_t SDFM_configClockFromGPO1 | ( | sdfm_handle | h_sdfm, |
| uint8_t | div0, | ||
| uint8_t | div1 | ||
| ) |