I'm working on the Concerto F28M35x and have some quick questions about the ADC modules, mostly making sure my understanding is correct.
1. Am I correct that SOCs can be triggered basically by the ADC Triggers or ADC Interrupts?
ADCSOC(x)CTL.bit.TRIGSEL = trigger; to choose a trigger, and
ADCINTSOCSEL1.bit.SOC1 = interrupt 1 or 2, which overrides the previous line for the same SOC
2. The second line above, setting an interrupt, only allows interrupt 1 or 2. However, in the documentation, there are interrupts up to 10 (INTSEL9N10). These cannot be used to trigger SOCs? Are they only for interrupt handlers?
3. The ADC Triggers are set by the register AnalogSysctrlRegs, while the ADC Interrupts are set in the register Adc(x)Regs.INTSEL(x)N(y), so am I correct in thinking that the ADC Triggers are common to both ADC modules (ADC1 and ADC2), while there are a set of ADC Interrupts for each module?
4. Finally, if I want channels A6/B6 to sample after the EOC of Channel A0/B0 (which are on SOC0/1), is this the correct configuration?
Adc1Regs.ADCINTSOCSEL2.bit.SOC10 = INT1;
Adc2Regs.ADCINTSOCSEL2.bit.SOC10 = INT2;
Adc1Regs.INTSEL1N2.bit.INT1E = 1;
Adc1Regs.INTSEL1N2.bit.INT1CONT = 1;
Adc1Regs.INTSEL1N2.bit.INT1SEL = 1; // EOC 1 happens after Channel B0 in the pair A0/B0 finishes
Adc2Regs.INTSEL1N2.bit.INT1E = 1;
Adc2Regs.INTSEL1N2.bit.INT1CONT = 1;
Adc2Regs.INTSEL1N2.bit.INT1SEL = 1; // EOC 1 happens after Channel B0 in the pair A0/B0 finishes
Adc1Regs.ADCSOC8CTL.bit.ACQPS = 6;
Adc1Regs.ADCSOC8CTL = // doesn't matter, overriden
Adc1Regs.ADCSOC8CTL.bit.CHSEL = 6; // For A6/B6
Adc2Regs.ADCSOC8CTL.bit.ACQPS = 6;
Adc2Regs.ADCSOC8CTL = // doesn't matter, overriden
Adc2Regs.ADCSOC8CTL.bit.CHSEL = 6; // For A6/B6