AM2434: Overcurrent detection (SDFM) using Fast Detect

Part Number: AM2434

Hello,

currently 'Fast Detect' for overcurrent detection is not working in my project. The description and functionality are understood as follows.

Window Size: The section of the bitstream being looked at; Zero Count Max Threshold: The maximum allowed number of zeros in the window; Zero Count Min Threshold: The minimum allowed number of zeros in the window. 

When detecting overcurrent with the comparator, the SINC filter order and the OSR specify the value range (e.g. SINC3, OSR of 64 -> 262144), with a value of zero amperes lying exactly in the middle (131072). For 'Fast Detect', I would therefore have concluded, that zero amperes would be correspond to 10, for a window size of 20 samples (Modulator should provide a 50/50 Bitstream). To define symmetrical limits centered around zero, the Zero Count Max Threshold and Zero Count Min Threshold should be 11 and 9. Is this correct? Assuming my hardware is designed for a range of +/- 50, +50A should be a continous 1 bitstream, and -50A a continous 0 bitstream. With the previously defined limits of 11/9, wouldn't Fast Detect then trigger over a range of +/-5 A? Is that correct, or am I misunderstanding something?

Besides the basic functionality, another thing I'm curious about is whether any additional configuration is required. I want to use the trip events trip_e3_0 through trip_e3_2 to disable the EPWM. Since I've already used the 'Comparator' for overcurrent detection, the corresponding PRUICSS_PWM_TZ_OUT is configured (and successfully working). For 'Fast Detect' only the API function SDFM_configFastDetect() is used for configuration and enabling, as shown in the examples. Is anything else required besides this?

Best regards,

Christian

  • Hi Christain,

    currently 'Fast Detect' for overcurrent detection is not working in my project.

    How you are checking the fast detect trip status?

    Also, could you share which sdfm channels you are using to generate fast detect trip ? 

    BR,

    Achala Ram

  • Hello Achala,

    in order to check wether a trip event has been triggered by 'Fast Detect', I use both software and hardware methods. On the software side, I use the API function 'SDFM_getFastDetectErrorStatus()' to check whether a trip event has been triggered.

    On the hardware side, I use an oscilloscope to monitor the EPWM outputs to see if they get deactivated. (When using the 'Comparator' for overcurrent detection, I can see with this method, that the EPWM is deactivated)

    'Fast Detect' is currently used for the SDFM channel 0-2. Also, I'm using the 'single_axis_single_pru' firmware. (Though I plan to switch to load-share mode/firmware in the future, since additional SDFM channels are required - but thats a topic for further concern)

    Best regards,

    Christian

  • Hi Christain,

    Can you check, Doe this work for 0 input value and threshold limits are set above 10? Also, ensure the generated bitstream has 50% 0s and 1s.

    Configure the zero max/min threshold to 11 or 12 for sample size of 20,  and give input as 010101.... bitstream.

    SDFM_configFastDetect() is used for configuration and enabling, as shown in the examples. Is anything else required besides this?

    No, this API takes care of all configurations, including PWM. You can verify the configuration in the registers, and you can also check the status directly in the PWM TZ registers and SDFM registers. Refer to the TRM for register descriptions:

    BR,

    Achala Ram