This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: TMS320F28335

Part Number: TMS320F28335

Dear TI Support,

I downloaded a motor control application from Control Suite for the TMS320F28335. The application works fine. However, I have the following question.

The project I am working on, adds protection through EPWM trip zone inputs. I use 4 trip zone inputs, TZ1 through TZ4.

Each tip zone corresponds to a particular fault, for example, over voltage, over current, etc. When any trip zone input goes low, EPWM outputs stop driving.

All trip zone are programmed to operate in one shot mode. If a one-shot trip event happens, is there a way to detect which zone triggered?

I know an interrupt can be generated when a one-shot trip event occurs, however, I don't see a way to know which zone tripped.

Trip zone flag register indicates a one shot trip event occurred, but gives no additional information.

I appreciate your help,

Thanks

Felix V. 

  • Hi Felix,

    Could you provide some more context as to how you are routing in your trip zone signal inputs? (i.e. what are your inputs and how are they connected to TZ1-TZ4?)

    When using TZ1-TZ4, these signals are ORed together, meaning that the one-shot status flag is set by any of those TZ1-TZ4 going low (since these TZ pins are active low). This is described and shown in the device TRM section 3.2.7 Trip-Zone (TZ) Submodule. Figure 3-37 illustrates this:

    However, each of these TZ1-TZ6 pins can also be associated with a specific GPIO as seen in Table 1-47. GPIOA MUX. So in this case:

    • GPIO12 can be tied to TZ1
    • GPIO13 can be tied to TZ2
    • GPIO14 can be tied to TZ3
    • GPIO15 can be tied to TZ4

    Thus, you could look at these pins to see which goes low to cause the one-shot trip. Would this work for what you are trying to accomplish?

    Best regards,

    Allison

  • Hi Allison, basically I have four fault detection circuits, the output of each goes to a trip zone (TZ1 - TZ4). The faults I detect are overcurrent and overvoltage, coming from motor drive circuit. Do you suggest that after a one-shot trip event, I switch GPIO12 -GPIO15 to I/O mode using GPIOA MUX register and read them? My concern is that fault detect signal going to TZ input could be a very short negative pulse (under 100 u-sec). I can try the following:  enable trip zone interrupt, within interrupt handler, switch each TZ input to GPIO input mode and read them out to determine which one tripped. Is this correct?

    I appreciate you help,

    Felix

  • Hi Felix,

    Ok I see the concern with your application. What is your TBCLK frequency? 

    Also are you utilizing any eCAP modules? You could implement eCAP for the four TZ GPIOs to detect the negative pulse edge of the TZ pins and then use the trip zone interrupt to look at the eCAP results (to see which TZ caused the trip) and re-arm the eCAP for future trips.

    Best regards,

    Allison

  • Hi Allison, TBCLK frequency is 150MHz. I believe using eCAP as you suggest is a great idea. I will implement it and let you know.

    Thanks for your help,

    Felix

  • Sounds good, Felix! Yes, feel free to reply back here if you have further updates or questionsRelaxed

  • Hi Allison, just to let you know that I added eCAP modules for fault detection. Fault detect line goes to PWM trip zone and eCAP input. A falling edge on fault line shuts down PWM through trip zone and at the same time it generates an interrupt on eCAP module. I have 4 fault lines. Since each fault line is connected to a different eCAP module, I know which fault triggered. This solves our problem. Thanks for your great support. Felix