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.

CCS/TMS570LS1115: ADC DMA Request Line configuration

Part Number: TMS570LS1115


Tool/software: Code Composer Studio

Hi everyone,

I'm trying to optimize system efficiency by implementing ADC+DMA data transfer, which was using FIFO before. 

Testing HW Circuit Board is well developed, which means it's very difficult to change any HW architecture or TMS570 Pins definition.

Here a demo project. With ADC + DMA implemented, which is working fine on our HW Circuit Board.

However, when I trying to integrate this DMA function with our software, it seems DMA never be triggered.

What I trying to do is generating 3 ADC DMA Requests (ADC1 Group1; ADC1 Group2; ADC2 Group1) in three configurable DMA Request lines during a single circle. This may be a configuration issue of DMA Request lines(red line in the figure above), the question is:

  • In the project uploaded, ADC was accidentally sent DMA_REQ by DMA Request Line 7 successfully (at least I don't know how to configure this), can anyone give me a hit on how this project configure DMA Request Line 7 to transfer DMA Request from ADC1 Event Group (for example change to Request Line 1)?
  • Is there any Register for DMA Request line configuration of Different ADC groups?  or is it just possible configured in hardware level?
  • In DMA module, there is SW and HW trigger method, does SW trigger will introduce CPU external workload?  Does HW trigger method need more free TMS570 PINs in HW level?

Regards,

Jason

  • Hello Jason,

    I am investigating the DMA implementation and hook up with repect to the ADC. I should be able to get back to you with more information relative to your questions tomorrow. My apologies for the delay.
  • Hi Jason,

    Sorry for the delay in getting back with you. To begin, you can assign a DMA request per ADC group. It is enabled in the ADC Groups DMA configuration register. See the below excerpt from the TRM:

    As an example, you would write to the DMA_EN bit in the following register for Group1.

  • Hi Chuck,

    Your recommended ADC register do trigger the DMA request for each group and each writes to the result memory.
    But my question is not about this.
    As my understanding, the whole ADC+DMA process has three phases:
    ADC generate DMA request; this DMA request carried in designed DMA Request Line; this DMA request line point to designed DMA channel;
    If I understand correctly, there should be three entities during this process: ADC(Group DMA Request Generator); DMA Request Line; DMA.
    My question is how to configure DMA Request Line for the request from each ADC group.
    For example, in my test scenario, ADC1 group1, and ADC1 Group2 also ADC2 Group3 will generator three DMA requests in one software circle, how to configure these requests into different DMA request lines? so I can set DREQASI0/1/2/3 to assign different Requests into different DMA channels.

    Regards,
    Jason