您好!
我在 GPIO 引脚上有应生成 SOC 的外部信号。 我知道 ADCSOC0CTL 中有选择 ADCTRIG4 - GPIO、ADCEXTSOC 的选项。 是否有任何方法可以将 SOC 延迟1.5 us?
我知道我可以使用中断来计数时间、然后使用 ADCTRIG0 -仅限软件、但它太频繁了、我想在中断中节省 CPU 时间。
您是否有任何想法、如何延迟来自外部源的 SOC? 也许我可以使用 eCAP 并使用 eCAP 源来触发其他东西?
谢谢你
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.
您好!
我在 GPIO 引脚上有应生成 SOC 的外部信号。 我知道 ADCSOC0CTL 中有选择 ADCTRIG4 - GPIO、ADCEXTSOC 的选项。 是否有任何方法可以将 SOC 延迟1.5 us?
我知道我可以使用中断来计数时间、然后使用 ADCTRIG0 -仅限软件、但它太频繁了、我想在中断中节省 CPU 时间。
您是否有任何想法、如何延迟来自外部源的 SOC? 也许我可以使用 eCAP 并使用 eCAP 源来触发其他东西?
谢谢你
您好 Juraj、
我认为最好的方法是在要触发 SOC 之前再添加一个虚拟 SOC、并使其足够长的时间来延迟感兴趣的样本。 例如、如果您希望根据外部触发器对两个通道进行采样、通常可以将 SOC 设置为类似于以下内容:
因此、应在之前添加第三个 SOC、并将 S+H 时间设置为足够长的时间、以便转换需要1500ns:
感谢您的想法。 它既简单又干净。 我喜欢这个。
我对该解决方案有一个问题。如果我将其移动、使其不是 SOC0 1 2而是 SOC13 14 15:
然后、我还通过 ADC_setSOCPriality()配置具有高优先级的 SOC0
ADC_PRI_Thru SOC1_HIPRI、 //!< SOC 0-1 hi pri、其他轮循
当触发 SOC13 S+H 并等待1500ns 时、HIPRRIO SOC0在此(SOC13 S+H)期间不会生效? 那么、SOC0也会延迟1500ns、对吧?
您好!
我尝试了您提出的解决方案。 我工作但并非总是如此。 它看起来像是跳过一些触发器。 我怀疑 ADCEXTSOC 可能是问题所在。 我尝试寻求有关 GPIO XINT2 ADCEXTSOC 的 Xbar 输入5的更多规格、但技术参考手册中很少。
它是否对上升沿做出反应? 还是下降沿? InputXBar 中的引脚是否存在任何限制? 能否通过 InputXBar 使用 PWM 输出引脚来触发 ADCEXTSOC?
在哪里可以找到有关它的更多信息?
更新:
我发现它实际上是突发转换导致了问题。 如果我将5个单独的 SOC 配置到同一个 EXTADCSOC 触发器(无突发)、它将正常工作。
哪些因素可能会干扰 ADC 突发转换?