Other Parts Discussed in Thread: AM13E23019
部件号: AM13E23019
您好:
我有一个关于 AM13E23019 中的 ADC 的问题。
我想用 MCPWM 计时器 tigger 连续转换一个通道(超过 1000 次)。
AM13 的 ADC 看起来像 C28x ADC 的简化版本。
在这个版本中, 重触发 fuctnion 看起来像被删除。
有没有办法实现由触发器启动的连续转换?
此致、
Oba
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.
Other Parts Discussed in Thread: AM13E23019
部件号: 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]。
配置 MCPWM 以生成初始触发:
使用 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
将 ADC 中断配置为在转换结束时触发:
将 ADCINT 反馈回、作为同一 SOC 的触发器:
ADCINTSOCSEL1、以使 SOC5 也由 ADCINT1 标志[1]触发 这将创建一个 自我维持循环 : MCPWM 提供初始启动,每个完成的转换通过 ADCINT 标志自动触发下一个启动—无需 CPU 干预即可实现 1000+连续转换[1][3]。
|
方法
|
机制
|
最适合
|
|---|---|---|
|
ADCINT 反馈
|
ADCINT1/2 标志通过 ADCINTSOCSEL 重新触发 SOC
|
无限连续转换、自主运行
|
为了帮助进一步完善这一点、了解以下信息会很有用:
此致、
Zackary Fleenor