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.

TM4C129x sampling ADC at 4MHz

Other Parts Discussed in Thread: TIDM-TM4C129POEAUDIO

Hello,

We have a new requirement for a standalone ADC or uC that can do 12 bit ADC sampling at 4MHz for 25mS (100,000 samples).

It would also need continuous DMA to move this data real time into ram storage.

 

The TM4C129 looks like it may be able to do this or get close to this. However I am confused about the DMA capability since the ADC only has a 32 result fifo buffer.

 

Can the DMA be configured to continuously move ADC samples to ram at 4Msps?

 

Thanks for your help

 

Shai A

  • Hello Shai,

    Yes, the DMA can be configured to transfer the data. However let me clarify a few points here

    1. The ADC FIFO is for each sequencer and the maximum size of the FIFO is 8 for Sample Sequencer 0
    2. The FIFO's cannot be combined.
    3. Each Sample Sequencer shall generate its own DMA request.
    4. To use the 4MSPS the phase shifted method must be used so that each channel is sampled twice at 180 degree phase shift.

    The TIDM-TM4C129POEAUDIO reference design shows how to use the DMA with ADC to transfer data (although it is 48KSPS, but the concept remains the same)
  • Hi Amit ,

    The customer have responded as follows :

     

    Our requirement is to DMA 100,000 samples from the ADC into the uC memory in 25mS.

    Can the ADCs and DMA be setup to run continuously and autonomously, to achieve this 4 Msamples/s and get the data into memory?

     

    Note that the DMA would be required to switch continuously between the two ADCs to collect the samples, unless we have two independent DMA channels.

     

     

    “ 2. The FIFO's cannot be combined. "

    Alternatively, if the ADC does not auto-restart, can the CPU can be put into a tight loop to continuously restart it and the DMA?

    It would have to do this in 2uS with an 8 sample ADC FIFO.

     

    Bottom line is we need to achieve 100,000 samples in 25mS.

     

    Can you please comment back ?

     

    Best regards ,

     

    Arik.P.

  • Hello Arik

    How many analog channels is the customer looking to sample at 4MSPS.

    1. The ADC can be setup for continuous conversion. Is there a condition for Stopping the ADC?
    2. The DMA cannot be set for continuous transfers. The Peripheral Scatter Gather is the only mode where it can be done, but it is going to be tricky to set it up. The other alternate would be use to Ping Pong mechanism with 1024 transfers for each. This will give CPU sufficient time to re-init the control structures.

    Also what is the egress mechanism for the data? Is it going to be sent serially via an interface or is the data going to be processed by the CPU?
  • Hi Amit,

    The customer have asked these further questions :

    What about usung the TMS320F2837xD Dual-Core Delfino Microcontrollers?

    This one has a lot more ADC capabilities

    We just need to be able to do one channel at continuous 4MHz sampling and this only into local memory.

    Could you check yhis option of DMA request using the customer suggeted part ?

    Best regards ,

    Arik.P

  • Hello Arik

    TMS320F2837xD is a C2000 device, about which I do not have much information. I believe C2000 forum will be able to assist you better.