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 请求线路配置

Guru**** 1821780 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/632730/ccs-tms570ls1115-adc-dma-request-line-configuration

器件型号:TMS570LS1115

工具/软件:Code Composer Studio

大家好、

我正在尝试 通过 实现以前使用 FIFO 的 ADC+DMA 数据传输来优化系统效率。  

测试硬件电路板开发良好、这意味着很难更改任何硬件架构或 TMS570引脚定义。

这里 是一个演示项目。  实现了 ADC + DMA、这在我们的硬件电路板上运行良好。

但是、当我尝试将此 DMA 功能与我们的软件集成时、似乎 从未触发 DMA。

我尝试在单个周期内在三个可配置的 DMA 请求线路中生成3个 ADC DMA 请求(ADC1组1;ADC1组2;ADC2组1)。  这可能是)请求线路(红色线路的配置问题上图中的,问题是:

  • 在上载的工程中、DMA 请求行7意外地向 ADC 发送了 DMA_REQ (至少我不 知道如何配置)、是否有人可以告诉我该工程如何配置 DMA 请求行7来从 ADC1事件组传输 DMA 请求 (例如更改请求行1)?
  •  是否有用于不同 ADC 组的 DMA 请求线配置的寄存器?  还是只能在硬件级别进行配置?
  • 在 DMA 模块中、有软件和硬件触发方法、软件触发是否会引入 CPU 外部工作负载?  硬件触发方法是否需要硬件级别的更多可用 TMS570引脚?

此致、

Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jason、

    我正在研究 DMA 实现并连接到 ADC。 我应该能够与您明天的问题相关、向您提供更多信息。 我对拖延表示歉意。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jason、

    很抱歉耽误你的时间。 首先、您可以为每个 ADC 组分配 DMA 请求。 它在 ADC 组 DMA 配置寄存器中启用。 请参阅以下 TRM 摘录:

    例如、您将写入组1的以下寄存器中的 DMA_EN 位。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、

    您推荐的 ADC 寄存器确实会触发每个组的 DMA 请求以及对结果存储器的每次写入。
    但我的问题不是关于这一点。
    据我了解、整个 ADC+DMA 过程分为三个阶段:
    ADC 生成 DMA 请求;此 DMA 请求在设计的 DMA 请求线路中传递;此 DMA 请求线路指向设计的 DMA 通道;
    如果我理解正确、在这个过程中应该有三个实体:ADC (组 DMA 请求发生器);DMA 请求线;DMA。
    我的问题是如何为每个 ADC 组的请求配置 DMA 请求线。
    例如、在我的测试方案中、ADC1组1和 ADC1组2也是 ADC2组3将在一个软件周期中生成三个 DMA 请求、如何将这些请求配置到不同的 DMA 请求行中? 因此、我可以设置 DREQASI0/1/2/3来将不同的请求分配到不同的 DMA 通道中。

    此致、
    Jason