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.

[参考译文] TMS320F280049C-Q1:在高噪声环境中测量温度(LMT01)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/983689/tms320f280049c-q1-measuring-temperature-in-a-high-noise-environment-lmt01

器件型号:TMS320F280049C-Q1
主题中讨论的其他器件:LMT01LMT01-Q1

您好!

我需要在 NTC 无法实现的高噪声环境中进行一些温度测量。 它需要小巧、便宜且具有汽车功能 qualified...because、有人会对我个人感到很讨厌。 我当时正在查看符合我的要求的 LMT01、但我不确定如何使用 C2000正确捕获数据。 LMT01以88kHz 的频率发出脉冲。 您打开电源、54ms 后、它开始以88kHz 的频率发出脉冲、持续时间长达50ms。 脉冲数表示温度。

在 MSP430中、我将在输出上放置一个比较器、在比较器中启用滤波器持续时间为5µs μ s 的内部滤波器、以防止噪声被计为脉冲、然后将比较器输出作为时钟连接到计时器。 在开始时复位定时器、检查定时器计数寄存器(相当于出现的"时钟"脉冲数)、进行转换、完成。

我如何在 C2000中实现这一点? 每 μ s 10µs µs 一次中断、持续时间长达34ms 不是一个选项、我需要区分实际脉冲(>5 μ s)和噪声脉冲(Ballpark 50-100ns)。 我假设通过 X-Bar 将比较器输出连接到 CLB 是一个选项、但我没有 CLB 经验或设置了合适的工具。

BR、谢谢

Peter

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

    尊敬的 Peter:

    我将与大家分享我们之前提出的几个解决方案想法、这些想法是使用 C2000的 eQEP 模块与 LMT01进行连接的。 我要说的是、这些并未通过硬件和软件的实际测试。

    解决方案1:两个 C2000引脚 LMT01-Q1电源循环方法–
     
    详细信息:每次读取温度时使用 C2000 GPIO 为 LMT01传感器通电、并在数据传输完成后断电。 在向上计数模式下使用 C2000 eQEP 模块对脉冲进行计数、eQEPA 作为输入信号。 eQEP 模块的单位计时器可用于在 LMT01的温度转换和传输时间(最大104ms)之后,将脉冲数锁存到单独的寄存器中,然后可以计算脉冲计数到温度转换。 在每次转换开始前、eQEP 脉冲计数器(QPOSCNT)和单元定时器(QUPRD)应该被复位。


    优点:
    •   从 C2000软件的角度来看简单、所需的 CPU 利用率/干预更低

    缺点:
    •   使用两个 GPIO
    •   必须处理 GPIO 的切换、以实现温度传感器电源

    解决方案2:一种 C2000引脚顺序读取方法-
     
    详细信息:配置与解决方案1类似、但无需 使用 GPIO 为 LMT01加电/断电、而是使用来自传感器的顺序读取。 温度传感器读取将从 LMT01器件连续传输。 eQEP 模块的看门狗可用于同步传输的开始/结束。 将 eQEP 看门狗配置为在脉冲在特定时间段内不被观察到后超时、在该时间段内将发生超时、并且可以存储/使用已计数的 eQEP 脉冲。 当在其输入端看到脉冲时、eQEP 看门狗将被处理/复位、因此看门狗计时器应配置为在短于最小 LMT01转换时间的时间段内超时、 但比最长的输出脉冲周期更长、即40ms 可能是一个良好的超时、因此 WD 并不总是超时并导致中断。


    优点:
    •   仅使用一个 C2000引脚
    •   无需管理 GPIO 的切换

    缺点:
    •   从软件的角度来看更复杂、并且与解决方案1相比、CPU 利用率/干预(可能)更高
    •   看门狗超时中断将每~104ms 发生一次、需要进行处理
     
    最棒的
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的答复。 实际上、我当时提出了自己的方法、并希望与他人分享、因为这可能对其他人有用。

    我在示例中看到了使用 eQEP 作为计数器的选项、但我认为是这样。 正如我说过的、我有一个很高的噪声环境、担心会出现误报。 我还有比 eQEP 引脚更多的传感器(保留在设计中)。 因此、我决定将其通过比较器进行接线、并将比较器输出用作 eQEP 输入(这也为我提供电平位移、以从低输出电压中获取清晰信号)。

    因此、我的设置是、通过使用 GPIO 切换的 PNP 晶体管从 Vcc 提供多个传感器。 每个传感器连接到不同的比较器。  X-Bar 输出连接到我的免费 eQEP 输入。 我将 XBar 用作比较器的多路复用器、将比较器用作数字滤波器。 操作就像您的第一个解决方案中一样。