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.

[参考译文] TMS570LC4357:测量离散边沿和软件事件之间的时间

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/612502/tms570lc4357-measuring-time-beetween-a-discrete-edge-and-a-software-event

器件型号:TMS570LC4357

您好!  

我对 TI ARM CPU 的开发非常陌生。  

我需要知道软件事件(如计算开始)与离散输入上的上升沿之间经过的时间。  

我考虑了两种方法:

-在上升沿升高中断并获得时间。 但中断将与计算交互。

-使用 NHET。 但我不知道如何配置 NHET 以及如何获取 Tilme。

也许这是其他更好的方法、我很乐意听取您的建议。  

Alain  

PS:我的英语很差,这不是我的自然语言。  

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

    最简单的方法是使用 RTI 计数器。 在计算开始时、读取计数器并存储计数(T1)。 在接收到离散输入上升沿时、再次读取该值(T2)并进行存储。 如果 T2小于 T1、则可以确定发生了翻转、以便在计算中进行调整。 如果不是、则只需 T2-T1 = RTI 计数、并且 RTI 计数可根据为 RTI 选择的时钟源周期时间转换为原始时间。 由于读取和写入 RTI 寄存器内容的延迟以及对传入信号的处理、这会导致一些错误。 您应该能够根据执行每个进程的指令所需的周期和外设模块访问的延迟(~24个 HCLK 周期)来估算这个延迟。

    另一个关键是如何捕获传入信号。 您可以将其放入中断可捕获引脚(例如带中断的 GPIO)中、然后在中断服务路由中读取 RTI、或者只需查询 GPIO 寄存器以查找引脚的更改即可。

    选择的方法实际上取决于精度或所需的测量。 正如您提到的、您还可以使用 NHET 来捕获输入信号以及与 N2HET 中周期计数器相关的计数。 同样、考虑到通过 SW 和 HTU 启动计数器所需的时间、此类测量的精度会涉及一些延迟。 测量的精度也将受到 NHET 的 LR 环路和 HR 环路功能的限制。

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

    你好、Chuck、  

    Thnaks、以获得非常准确的答案。  

    目标是同步6台计算机、以便同时进行计算(相同时间意味着最大间隙< 10µs μ s)。

    因此、我们需要5µs 的精度。  

    5µs 我假设 HCLK 为160MHz (6.25ns)、我有大约800个 HCLK 周期进入 Δ t。 我认为它将用于:读取和写入 RTI、 处理中断并进行一些基本时间计算。

    我是真的,还是我做了一些事。  

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

    我倾向于相信与您的假设相同。 然后、还可以通过向器件提供输入来改善这一点、从而开启计算的开始。