I have been working on porting our 2812 code to the new 28377D and am currently setting up the base code.
I was setting up the ADC to trigger from the EPWMs and saw that if I wanted to read 16 channels with 4 on each ADC module all synchronized from a single EPWM trigger I could do it two ways:
I could setup each module to use the same SOCs 0-3 and trigger them all from the same EPWM.
I refer to this as cascading the SOCs.
I could setup each module to use the same SOCs 0-3 and trigger them in a burst starting from SOC0 with the same EPWM. I refer to this as burst mode of the SOCs.
I then setup an interrupt for a late interrupt on EOC3 to collect the data.
The cascading method works fine, the burst method is sampling at one fourth of the rate.
I setup the burst on ADC module A with (B,C and D are the same):
AdcaRegs.ADCBURSTCTL.bit.BURSTEN = 1; // Enable ADC burst mode
AdcaRegs.ADCBURSTCTL.bit.BURSTTRIGSEL = 5; // ePWM1, ADCSOCA will trigger burst of conversions
AdcaRegs.ADCBURSTCTL.bit.BURSTSIZE = 3; // 4 SOCs converted on burst
I also setup the channel select and acquisition window for each SOC.
Is there any advantage to one method over the other?
Any idea why the burst does not work as I thought it should?
Thanks...John