Two or more eFlexPWM synchronization for KV4x, KV5x, MC56F84xxx and MC56F82xxx

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Two or more eFlexPWM synchronization for KV4x, KV5x, MC56F84xxx and MC56F82xxx

Two or more eFlexPWM synchronization for KV4x, KV5x, MC56F84xxx and MC56F82xxx

The documentation describes how to have two eFlexPWM module to synchronize based on MC56F84789, give the waveform of PWM signals copied from oscilloscope, which shows that all PWM signals from eFlexPWMA and eFlexPWMB are synchronized.

For eFlexPWMA, the master sync signal is used to synchronize the other subn-modules of eFlexPWMA. For eFlexPWMB module, the eFlexPWMA generates PWMA0_TRIG signal(which is the same signal as master sync signal of eFlexPWMA), the PWMA0_TRIG signal are connect to the PWMB0_EXT_SYNC, PWMB1_EXT_SYNC, PWMB2_EXT_SYNC  via crossbar.

Attachments
Comments

I have written same code using direct address with which PWMs are working fine for all the sub modules.

like this, (*(volatile uint16_t *) 0x40033002U) = 0; // PWMA_SM0Initial 0
I can monitor the register PWMA_SMnSTS to know whether loading of pwm registers is correct or not. With this, register reload error flag was not enabled.

Same is not working with using struct (In ARM Series Controller, For all register mapping is done with structure definition).

baseAddress->SM[0].VAL0 = 0;

If i work with this kind of configuration setting, I can see register reload error flag setting in register PWMA_SMnSTS.

Please look into this issue.

No ratings
Version history
Last update:
‎09-15-2017 01:51 AM
Updated by: