您好!
我有一个应用程序可以初始化 ADC A 和 B 并将一些通道映射到相应的 SOC。 由于我不熟悉该 DSP、因此在这方面我需要一些澄清。
1.物理上还是硬件上有4个 ADC 模块、即 A、B、C、D、都有16个通道吗? (根据技术参考手册、我注意到4个。 想要验证是否有4个不同的硬件电路或它们之间是否存在某种形式的多路复用以共享相同的16个通道。)
2.如果有多个 ADC 模块,是每个模块都有16个 SOC,还是4个模块只共享16个 SOC 电路? 据我所知、ADC a、b、c、d 寄存器的基址不同。
3.我已经初始化了 SOCFRC 位,并在 ADC 文件初始化中将其设置为1。 我对如何清除它感到有点困惑。 原因是、我使用 ADCINT1来触发我的转换启动。 但是、第一次转换需要通过软件强制启动、一旦它启动并且当我的转换完成时、将触发 ADCINT1、而且转换将再次从 SOC0启动。 因此、只需将 SOCFRC 设置为1一次。 我没有清除代码中的任何位置的 SOCFRC 位、所以在一次使用后它是否以某种方式被硬件清除?

在所示的图表中、有3个触发 SOC 的源:SOCFRC、ADCINT 和一些 PWM 触发器。 我的疑问是、SOCFRC 是否第一次就不会被清零、 然后、我们不需要等待 ADCINT 再次启动第2个转换周期(这在本例中是可取的、因为我需要在我的第一个周期中的所有 SOC 都完成后才启动第2个转换周期)。 由于它是之前的或门、因此输入中的任何位如果为高电平、将触发输出高电平、从而开始 SOC。 因此必须以某种方式清除 SOCFRC、从而确保我的 ADCINT1只触发 SOC 的第2个周期。 \
如果您可以澄清上述问题、这将非常有帮助。
谢谢。此致、
Prarambhik