Part Number: TM4C123GH6PM
Other Parts Discussed in Thread: EK-TM4C123GXL
Tool/software: Code Composer Studio
I am using the µDMA operation with the ADC (only using one analog input). I want to clarify how the µDMA operation with the ADC works. From what I understand, the chosen µDMA channel sends a request signal to the ADC module for the sequence it has just sampled, then those values are stored in a buffer, and finally transferred to the designated address. Is this the correct breakdown of the operation?
Follow-up questions:
- The arbitration/transfer size of the µDMA can vary from 1 to 1024, considering that the sample sequencers of the ADC can only sample a certain number at a time (e.g. 8 at a time for sample sequencer 0), how do we select the appropriate arbitration size?
- Storing information in the buffer and then transferring to the designated address I assume would take some time, does this process lead to lost data/conversions as the ADC continues to sample data? In other words, do we have to consider the time that the µDMA has to do its job and provide some sort of delay before the next set of sampled sequence takes place?
- When using the µDMA with the ADC, the ADC interrupt occurs after the number of samples that we've specified has been completed (number of transfers) as opposed to after every sampled sequence (e.g. every 8 samples for sample sequencer 0) correct? The program then knows which function/routine to jump to by specifying the address of the function/routine in the ADC0 interrupt routine spot in file tm4c123gh6pm_startup_ccs.c.