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.

[参考译文] TM4C1294KCPDT:这里有计时差异吗?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/609810/tm4c1294kcpdt-is-there-some-timing-difference-here

器件型号:TM4C1294KCPDT

你(们)好。

我的 TM4C1294项目遇到了一个"奇怪"的问题。  我跟踪了很长时间、但在我的代码中仍然没有发现任何明显的错误、因此我在这里寻求帮助:

在下面的两种情况下、我使用 TM4C1294来采集数据、由运行在120MHz 系统时钟上的 Tiva 内部周期定时器来定速

如果我使用外部 ADC (用于更高端的产品)、并在调用计时器 ISR (最大采样率低于200K)时采集数据、尽管由于 ISR/优先级、时间上存在一些可以理解的抖动、但一切似乎都正常、 采样频率是我所期望的、例如20.00Khz (由频率计数器测量)

如果我将 Tiva 的内部 ADC 用于低端产品、那么我让同一个计时器触发 ADC 序列发生器、并在调用 ADC ISR 时采集数据、现在抖动消失了、但采样频率似乎关闭了一小部分、如19.99Khz

该差异高于主时钟的容差(50ppm)。

我想知道 Timer->ADC 序列发生器->ADC ISR 方法与 Timer->TimerISR->ADC 方法之间是否存在时序差异,或者我的代码中可能有一个隐藏的错误

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不会期望有任何差异。 您是在计时器 ISR 中启动 ADC、还是使用计时器创建 ADC 事件? (使用 ISR、我会得到相同的抖动。) 您可能希望切换计时器 ISR 中的引脚以测量采样频率、还是您已经在做什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不确定您的测量方法是否已得到充分描述、并且尽可能"误差"是(仅) 0.01KHz -这些"方法"是否变得更加重要?

    您怀疑监控的是定时器触发的 GPIO -它命令您的(外部) ADC -并且 GPIO 提供您的"外部"采样率。    是这样吗?

    您对 MCU ADC 采样频率的测量未进行说明。    我认为、您继续说的"定时器触发的 GPIO"(通常路由到外部 ADC)将用于确认"定时器对内部采样率的贡献"。    (即使您使用 MCU 的 ADC、此计时器生成的 GPIO 信号也会保持不变)   然后、您可以在  ADC 的 ISR 中放置一个额外的(单独的)"切换 GPIO"、并测量该值。

    通过测量和比较这2个 GPIO 信号(计时器输出和 MCU 进入 ADC ISR)-任何变化-都应显示(良好)、并且正确识别源)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我要切换一个引脚来测量它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很好的总结,但需要更多的细节来开始跟踪。

    [引用 user ="David Chance "]如果我将 Tiva 的内部 ADC 用于低端产品,我会让同一个计时器触发 ADC 序列发生器,并在调用 ADC ISR 时获取数据,现在抖动消失了,但采样频率似乎降低了一小部分,如19.99Khz

    详细信息? 我当然可以看到简单的影响、这可能会给您带来这种错误。 计时或计时测量。

    [引用 USER="David Chance "]差异高于主时钟的容差(50ppm)。

    例如、您是否验证过这一点? 根据您如何推导时钟、它可能会被从其正常中心拔出。 此外、由于您使用的是 PLL、因此您需要检查其规格。

    Robert

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

    [引用 USER="David Chance ]Yes,我正在切换一个引脚来测量它。

    [/报价]
    我希望它与 A/D 采样不同。 抖动更多、但我希望平均值接近实际速率。
    您的"精度和精度"也将在这里发挥作用。
    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用频率计验证了频率、而不是示波器、并使用10秒的窗口
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于没有人听说过任何硬件缺陷、我将使用固定的25MHz 外部时钟驱动两种设计、以查看是否可以观察到结果
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="David Chance "]在我的代码中没有发现任何明显的错误,

    突出显示关键字。

    由于您似乎不愿意分享、这会使分享变得更加困难。

    Robert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    频率计不能不受精度和精度问题的影响。

    Robert