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.

[参考译文] AM13E23019:连续转换、ADC

Guru**** 2868720 points

Other Parts Discussed in Thread: AM13E23019

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1639505/am13e23019-continuous-conversion-adc

部件号: AM13E23019

您好:

我有一个关于 AM13E23019 中的 ADC 的问题。

我想用 MCPWM 计时器 tigger 连续转换一个通道(超过 1000 次)。
AM13 的 ADC 看起来像 C28x ADC 的简化版本。   
在这个版本中, 重触发 fuctnion 看起来像被删除。  
有没有办法实现由触发器启动的连续转换?

此致、
Oba

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

    您好、Oba、

    是—即使没有专用的再触发功能、AM13E23019 也可实现连续转换。 关键机制是 ADC 中断反馈触发 、它有效地替换了 C28x 重触发块。

    工作原理

    AM13E23019 ADC 允许在时触发每个 SOC(转换开始) ADCINT1 或 ADCINT2 标志 设置、通过ADCINTSOCSEL1寄存器(对于 SOC0–SOC7)或ADCINTSOCSEL2寄存器(对于 SOC8–SOC15)进行配置。 TRM 明确指出、此机制“可用于创建连续转换“[1][2]。

    重要的是、设置 ADCINT 标志不需要生成实际的 CPU 中断 —仅该标志就足以重新触发 SOC、因此循环会自主运行[3]。

    配置步骤

    1. 配置 MCPWM 以生成初始触发:

      • 设置 MCPWM 事件触发器子模块、以便在发生所需事件时输出 ADCSOCA/B/C/D 信号(例如,CTR =零、CTR = PRD 或比较匹配)[4][5]
      • 从每个事件到每 15 个事件可进行预分频[5]
    2. 使用 MCPWM 触发器为您的通道配置 SOC:

      // Example: SOC5 converts ADCINA1, triggered by PWM3 SOCB
      AdcaRegs.ADCSOC5CTL.bit.CHSEL = 1; // Channel ADCINA1
      AdcaRegs.ADCSOC5CTL.bit.ACQPS = 15; // Sample window (16 MCLK cycles)
      AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 14; // PWM3 SOCB trigger
    3. 将 ADC 中断配置为在转换结束时触发:

      • 设置 ADCINT1(或 ADCINT2)以在 SOC5 完成时触发
    4. 将 ADCINT 反馈回、作为同一 SOC 的触发器:

      • 进行配置ADCINTSOCSEL1、以使 SOC5 也由 ADCINT1 标志[1]触发
      • 启用连续中断模式、以便标志自动清除并重新触发

    这将创建一个 自我维持循环 : MCPWM 提供初始启动,每个完成的转换通过 ADCINT 标志自动触发下一个启动—无需 CPU 干预即可实现 1000+连续转换[1][3]。

    摘要

    方法
    机制
    最适合
    ADCINT 反馈
    ADCINT1/2 标志通过 ADCINTSOCSEL 重新触发 SOC
    无限连续转换、自主运行

    为了帮助进一步完善这一点、了解以下信息会很有用:

    • 无论您是在 1000+转换期间还是仅在完成时需要 CPU 处理(影响是否启用实际的 CPU 中断)
    • 所需的采样率或转换之间的时序限制
    • 是否计划在高速连续转换期间使用 DMA 来减轻结果处理工作量


    1. AM13E23019 TRM - ADC 连续转换 (ADCINTSOCSEL)
    2. AM13E23019 TRM - ADC SOC 触发器选择和 MCPWM 示例
    3. AM13x Academy - ADC 模块
    4. AM13E23019 TRM - MCPWM 事件触发器子模块
    5. AM13E23019 TRM - MCPWM 事件触发器操作概述

    此致、

    Zackary Fleenor