Part Number: TMS320F28384D
Other Parts Discussed in Thread: SYSCONFIG
Hello,
I am experiencing what I think is some contention of shadow registers being loaded when I am transitioning my PWM outputs from completely off to Active High Complementary. I am altering both DBCTL and AQCTLA/B registers which are configured to both load on a SYNCIN event via the Global Load registers.
Here are the steps I take to turn off the PWM outputs and then turn them on again.
To turn off:
- Set DBCTL.OUT_MODE to 2, to bypass the deadband module on output B
- Set all AQCTLA and AQCTLB to 1 so that the output clears on all events
To turn them on:
- Set DBCTL.OUT_MODE to 3, to re-enable deadband on output B
- Set AQCTLA to SET the output at TBCTR = ZRO
- Set AQCTLA to SET the output at TBCTR = CAD
- SET AQCTLA to CLEAR the output at TBCTR = CAU
- All other AQCTLA registers are set to No Action.
The result is that my PWMs do exactly what I want except for a small 8-12ns blip on output B when transitioning from OFF, circled in red in my image. The measurement from the blip to when its corresponding A channel gets flipped high is exactly the time of my deadband setting of 1 microsecond.
Is there some sort of order that the processor follows for what shadow registers get loaded when? This behavior would be explained if the deadband shadow registers got loaded before the action qualifer registers because with Active High polarity, output B would want to turn on if A is low. Is this expected behavior or is there another way I could turn on/off the PWMs to avoid this blip?
Thanks,
Will




