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.

TMDSCNCD263: ADC Queries | Interrupts

Part Number: TMDSCNCD263
Other Parts Discussed in Thread: SYSCONFIG

Hi Team,

Please clarify following queries related to ADC configuration.

  1. How the interrupt is triggered when ADC Group Conversion mode is configured as ADC_CONV_MODE_CONTINUOUS? Is there any timing dependency for this interrupt triggering?

  2. As per Adc_Irq.c, there are 4 interrupts for each ADC INSTANCE. What is the purpose of these interrupts and where these interrupts are configured for?

Thanks

Vivek Arivazhagan

  • Hello Vivek,

    How the interrupt is triggered when ADC Group Conversion mode is configured as ADC_CONV_MODE_CONTINUOUS? Is there any timing dependency for this interrupt triggering?

    When using Continuous conversion mode, the interrupt will still trigger when the designated end-of-conversion occurs during the process. This can be either at the end of the acquisition window or at the end of the voltage conversion. For Continuous mode the expectation is while the ADC runs continuously, the interrupts are used to enable data to be read out for a given set of conversions. You can refer to Figure 7-92 in the Technical Reference Manual for a better visual description: https://www.ti.com/lit/ug/spruj17c/spruj17c.pdf#page=433

    I am not sure what you would mean by a timing dependency in this case as it's triggered by the EOC for a given ADC channel. Is there a particular part of the ADC Timings you are unclear about perhaps? Section 7.4.2.11 covers all the timings, if there is a dependency in there you are unclear of please highlight it so I know better which portion of the timings to speak to.

    As per Adc_Irq.c, there are 4 interrupts for each ADC INSTANCE. What is the purpose of these interrupts and where these interrupts are configured for?

    The four interrupts per instance can be triggered either by the end of the sample & hold window or by the generation of any of the end-of-conversion (EOC) signals. This is fully configurable so you can determine which events and which channels triggers a given interrupt.

    The configuration is handled through SysConfig under the INT Configurations portion of the ADC setup. Inside you can select the interrupt pulse mode which determines if its using the early interrupt window or the one at the EOC signal generation.

    For a simple example, just look at one of the adc_soc_continuous examples under examples\drivers\adc which uses the ADC in continuous mode but has interrupts for the 8th and 16th SOC/EOC pairs that are configured to fire in alignment with the EOC signal.

    Best Regards,

    Ralph Jacobi

  • Hello Ralph Jacobi

    We tried to map with 4 interrupts to different group in same hardware unit. But the source ID accepted for only one group at one interrupt source ID. when we trying to map with different interrupt source ID, there is no action. Please guide us to understand and map with 4 interrupts to different group in same hardware unit.

    1. As per Adc_Irq.c, there are 4 interrupts for each ADC INSTANCE. What is the purpose of these interrupts and where these interrupts are configured for?

             what are the criteria for selecting interrupt among 4 interrupts? are we able to freely select any one the interrupts for hardware unit?

    Thanks,

    Best Regards

    Vivek Arivazhagan

  • Hello Vivek,

    Sorry I have not been able to get to answering this today, I will need another day to get back to you on this. Thank you for your patience.

    Best Regards,

    Ralph Jacobi

  • Hello Vivek,

    So if I understand correctly, you are looking to set up four separate interrupts and associate each interrupt with a specific ADC channel. Is that correct?

    There may be ways to accomplish that depending on how the ADCs are sequenced but the interrupts are based on SOC/EOC counts for the module as a whole. So you aren't actually tying a single interrupt to a single ADC channel as much as setting up the interrupt to trigger when a certain number of conversions occurred. If you are sampling each channel in sequence with the same interval, then you could just map the corresponding EOC to get an interrupt for when that channel would come up during the sequence.

    As a generic example, this is the kind of SysConfig I would use for four channels with four interrupts:

    Best Regards,

    Ralph Jacobi