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.

[参考译文] MSPM0L1305:如何在0%或100%的时间内捕获 PWM?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1428889/mspm0l1305-how-to-capture-pwm-in-0-or-100

器件型号:MSPM0L1305

工具与软件:

尊敬的 Champs:

我是为我们的客户提出这个问题。

使用捕捉时、是否有任何寄存器/ driverlib API 来 知道输入信号是保持在高电平还是低电平?

例如、如果输入 PWM 信号是100%占空比或者0%占空比。 MSPM0如何捕获它?

用户设置、如下所示。

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

    有什么要采集的? 您必须在软件中设置超时、如果在特定的时间内没有收到事件、则假设它是 CW。

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

    尊敬的 Keith:

    除了软件方法外、是否有寄存器可以直接了解引脚的当前状态?

    也就是说、无论 GPIO 是否用作捕捉输入、PWM 输出、I2C SCL、SDA、UART TX/RX?

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

    通常、当引脚被分配某些其他功能(PF > 1)时、PF 外设(GPIO=1)断开连接。 因此正如您所说、外设需要提供引脚状态功能[类似于 MSP430计时器中的 CCI ]。  我在计时器外设中找不到。  除 I2C (MBMON 寄存器)外、我尚未在任何其他外设中看到该功能。

    理论上可以在 IOMUX 寄存器中临时重新分配 PF = 1、并使用 GPIO 寄存器来读取引脚状态。 当我特别尝试使用定时器捕获时、我获得了正确的结果、但我也看到了明显由 IOMUX 变化引起的干扰(错误捕获)。 我的实验[与通常的潜在客户进行半个小时的时间]没有找到避免这种情况的方法。 我得出的结论是、在进行 PWM 测量时确实需要两个(计时器)通道。

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

    Bruce、您好!

    您能否提供有关设计的反馈、以便将其添加到较新器件的 IP 中?

    如您所说、如果不使用此功能、用户需要两个计时器模块来处理此问题、这可能会产生另一个资源问题。

    MSP430和 C2000 (称为 GPADAT)确实具有此寄存器、在包括此帖子的某些情况下非常有用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="4952" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1428889/mspm0l1305-how-to-capture-pwm-in-0-or-100/5478991 #5478991"]MSP430和 C2000 (称作 GPADAT)

    韦恩、您好!

    不确定 MSP430用户指南或 C2000的 TRM 中的哪一个意思、说计时器可以在没有任何边沿的情况下捕获稳定的电压? 我认为在计时器模块中很难在没有脉冲的情况下检测到稳定的电压来计算占空比。

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

    您好、Gary、

    我们知道捕获是基于边沿检测使用的、因此用户需要一种简单的液位检测方法。

    无论使用何种引脚多路复用、用户都会请求寄存器来获取引脚的状态。

    如该 C2000寄存器 GPADAT

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

    现在要说明的是:PWM 测量需要两个定时器通道(在一个定时器模块中)-每个边沿各一个。 它们从同一引脚(ISEL 位)读取、您知道它是由哪个边沿触发的。 在替代的宇宙[CCI/GPADAT]中、可以设置单个通道在"两个"边 沿触发、然后读取引脚来查看它是哪个边沿。

    超时是一个可分离的东西。 在同一个计时器 (同一时基)上使用(N+1) th 通道通过下一个前沿的预期时间进行比较非常方便。 在本例中、N=2、并且(我认为) L13x 系列计时器均不具有超过2个通道、因此需要第二个计时器模块来执行超时。 (引脚读取功能也可用于此目的、不过可以在软件中管理。)