• Menu
  • Product
  • Email
  • PDF
  • Order now
  • 用于 ADC 的 DMA 乒乓

    • ZHCACB4 March   2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346

       

  • CONTENTS
  • SEARCH
  • 用于 ADC 的 DMA 乒乓
  1.   1
  2. 重要声明
search No matches found.
  • Full reading width
    • Full reading width
    • Comfortable reading width
    • Expanded reading width
  • Card for each section
  • Card with all content
APPLICATION BRIEF

用于 ADC 的 DMA 乒乓

本资源的原文使用英文撰写。 为方便起见,TI 提供了译文;由于翻译过程中可能使用了自动化工具,TI 不保证译文的准确性。 为确认准确性,请务必访问 ti.com 参考最新的英文版本(控制文档)。

说明

用于 ADC 的 DMA 乒乓示例演示了如何使用 DMA 在两个不同的缓冲区之间传输 ADC 数据,这也称为 DMA“乒乓”。DMA 乒乓通常用于将数据传输到一个缓冲器,同时 CPU 使用另一个缓冲器。如图 1 所示,蓝色路径显示 DMA 将数据传输到缓冲区 1,CPU 从缓冲区 2 获取数据。当路径切换时,DMA 将数据传输到缓冲区 2,CPU 从缓冲区 1 获取数据。这种技术的好处是整个应用程序的运行时更短,因为 CPU 在任何时候都可以自由地对一部分数据进行操作。在该示例中,ADC 配置为单次转换模式,DMA 和 CPU 将在每次转换后在缓冲区之间切换。下载 DMA 乒乓示例的代码。

GUID-20230224-SS0I-W303-SPMF-FSCW7MCNWPLF-low.svg图 1 子系统功能方框图

所需外设

该应用需要集成式 ADC 和 DMA。如果需要不同的基准值,则内部 VREF 是 ADC 基准的附加选项。

表 1
子块功能 外设使用 说明
模拟信号捕获 ADC 在代码中称为 ADC12_0_INST
移动存储器 DMA 要使用 PREIRQ 功能,需要功能齐全的 DMA 通道。该示例可以更改为在没有 PREIRQ 的情况下工作。

兼容器件

根据表 1 中的要求,表 2 中列出了兼容器件。可以使用相应的 EVM 进行快速评估。

表 2
兼容器件 EVM
MSPM0Lx LP-MSPM0L1306
MSPM0Gx LP-MSPM0G3507

设计步骤

  1. 根据给定的模拟输入和设计要求确定 ADC 的配置,包括基准源、基准值、分辨率和采样率。
  2. 生成 2 个数组缓冲区来存储 ADC 数据并将缓冲区大小和 DMA 传输大小设置为相同,以便 DMA 填充整个缓冲区。
  3. 根据步骤 1 中的工程要求在 SysConfig 中配置 ADC。
  4. 在 SysConfig 中,在 ADC 部分中配置 DMA。
  5. 编写应用程序代码以动态更改 DMA 的目标地址,从而在两个缓冲区之间交替。请参阅图 2 以了解概况或直接查看代码。

设计注意事项

  1. 最大采样速度:ADC 的采样速度基于输入信号频率、模拟前端、滤波器或任何其他影响采样的设计参数。
  2. ADC 基准:选择与预期最大输入保持一致的基准,以利用 ADC 的满量程范围。
  3. 点击“Settings”:时钟源决定了转换的总时间。时钟分频器与 SCOMP 设置一起决定总采样时间。SysConfig 根据采样时间设置来设置相应的 SCOMP。

软件流程图

GUID-20230224-SS0I-6MH2-4N6R-NP0HKVKBXDXD-low.svg图 2 应用软件流程图

设计结果

下面是代码执行的结果。图 3 显示了 ADC 读取完成后第一个缓冲区的结果。在这之后,代码会将 DMA 目标交换到第二个缓冲区,CPU 现在可以自由地处理第一个缓冲区。

GUID-20230224-SS0I-FRBP-CS4T-CDB3GLFCSTTW-low.png图 3 DMA 填充的第一个缓冲区

图 4 显示了 ADC 读取完成后第二个缓冲区的结果。代码将 DMA 目标交换回至第一个缓冲区,现在 CPU 可以对第二个缓冲区执行操作。

GUID-20230216-SS0I-NRV9-9B0G-VWRFKXVSCZ3T-low.png图 4 DMA 填充的第二个缓冲区

附加资源

  • 下载 MSPM0 SDK
  • 了解有关 SysConfig 的更多信息
  • MSPM0L LaunchPad
  • MSPM0G LaunchPad
  • MSPM0 ADC Academy
  • MSPM0 DMA Academy

重要声明和免责声明

TI 均以“原样”提供技术性及可靠性数据(包括数据表)、设计资源(包括参考设计)、应用或其他设计建议、网络工具、安全信息和其他资源,不保证其中不含任何瑕疵,且不做任何明示或暗示的担保,包括但不限于对适销性、适合某特定用途或不侵犯任何第三方知识产权的暗示担保。

所述资源可供专业开发人员应用TI 产品进行设计使用。您将对以下行为独自承担全部责任:(1) 针对您的应用选择合适的TI 产品;(2) 设计、验证并测试您的应用;(3) 确保您的应用满足相应标准以及任何其他安全、安保或其他要求。所述资源如有变更,恕不另行通知。TI 对您使用所述资源的授权仅限于开发资源所涉及TI 产品的相关应用。除此之外不得复制或展示所述资源,也不提供其它TI或任何第三方的知识产权授权许可。如因使用所述资源而产生任何索赔、赔偿、成本、损失及债务等,TI对此概不负责,并且您须赔偿由此对TI 及其代表造成的损害。

TI 所提供产品均受TI 的销售条款 (http://www.ti.com.cn/zh-cn/legal/termsofsale.html) 以及ti.com.cn上或随附TI产品提供的其他可适用条款的约束。TI提供所述资源并不扩展或以其他方式更改TI 针对TI 产品所发布的可适用的担保范围或担保免责声明。IMPORTANT NOTICE

邮寄地址:上海市浦东新区世纪大道 1568 号中建大厦 32 楼,邮政编码:200122

Copyright © 2023 德州仪器半导体技术(上海)有限公司

Texas Instruments

© Copyright 1995-2025 Texas Instruments Incorporated. All rights reserved.
Submit documentation feedback | IMPORTANT NOTICE | Trademarks | Privacy policy | Cookie policy | Terms of use | Terms of sale