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.

ADC SOC configuration on 28377D

Other Parts Discussed in Thread: CONTROLSUITE

Dear All,

I am interesting in clarify one doubt related with the ADC SOC trigger derived from a Timer interrupt.

TheTimer0 is configured in auto reload mode. The Timer0 triggers an interrupt each 50 us.

In the ADC configuration I have the burst disabled and I have 8 SOCS configured with a trigger from Timer0. So, the ADC will generate a conversion each 50 us.

Additionally, I have some control code that needs to be executed each 200 us, synchronous with the conversion number four and eight. This code is executed on the Timer interrupt and needs to have access to the current conversion.

However, this control code, each 200 us, may need more than 50 us to execute. It may need 75 us to be concluded. The Timer PIEACK will be sent only on the end of the execution of that code.

What will happen to the SOC conversion of the fifth conversion? It will be triggered at 250 us, or only after the Timer PIEACK signal (at 275 us) and when the new Timer interrupt is attended?

What will trigger the SOC conversion? The Timer peripheral or when the Timer interrupt is attended?

Best regards,

Peter

  • Hi Peter,

    You should keep getting timer interrupt pulses to trigger conversions regardless of the PIEACK status. For an experiment, you should be able to pretty quickly modify a controlSUITE example to use timer 0 as a trigger. You should find that even if you don't bother to ACK the interrupt, your interrupts for that group will stop, but your conversions will continue.

    Whitney

  • Dear Whitney,
    Ok, now it is clear.
    Additionally, for other purposes, it is will possible, by software, to force the TINT0 flag, in order to trigger the aquisition?
    Best regards,
    Peter
  • Peter,

    There is the ADCSOCFRC1 register which allows you to trigger an SOC by software. It is probably better to do that than force a timer interrupt.

    If you really do want to force a TINT0 though, I suspect you could do it by just writing 0 to the timer counter register (I haven't tried it so I don't know for sure)--but like I said, you're probably better off forcing the SOC directly with ADCSOCFRC1.

    Whitney