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.

TMS320F28032: what's the difference between AQCSFRC.CSFA=00 and =11?

Part Number: TMS320F28032

Hi,

in datasheet, For AQCSFRC.CSFA/CSFB

00 Forcing disabled, i.e., has no effect
01 Forces a continuous low on output A
10 Forces a continuous high on output A
11 Software forcing is disabled and has no effect

1. what's the difference between 00 and 11?

2. My customer has tested with the following sentences:

a. EPwm1Regs.AQCSFRC.all = 0x05;// it can turn off both EPWM1A and EPWM1B

b. EPwm1Regs.AQCSFRC.all = 0x01;  EPwm1Regs.AQCSFRC.all = 0x05;// there will be high pulses on EPWM1B shown below, why?

3. are there any difference between writing the registers as a whole and writing by bit

writing whole registers: 

EPwm1Regs.AQCSFRC.bit.CSFA = 0x01;  EPwm1Regs.AQCSFRC.all = 0x05;

writing by bit:

EPwm1Regs.AQCSFRC.bit.CSFA = 0x01; EPwm1Regs.AQCSFRC.bit.CSFB = 0x01;

  • Howard,

    1. I don't know of any difference between 00 and 11, they should have the same behavior.
    2. After using both of those instructions can you read back the configuration of the AQCSFRC register using the memory browser? These instructions might not get compiled exactly as we think.
    3. When writing .all you have a chance of overwriting other bits. If you use .bit then the compiler will use a read-modify-write instruction to ensure nothing else gets overwritten. But, looking at the way you have written it above, it looks like it should be OK. 

    Regards,
    Cody 

  • Cody,

    we've observed the registers as shown below:

  • Howard,

    are any other sub-modules of the PWM configured? Many sub-modules still have the power to modify the PWM's output after the AQCSFRC takes effect.

    I would probably start by looking at the trip-zone..


    Regards,
    Cody