TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] TMS320F28335:28335

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/680648/tms320f28335-28335

器件型号:TMS320F28335

您好!

我已从 ePWM 引脚生成2kHz PWM 脉冲。 但我想在输出脉冲和频率不超过10kHz 的高频脉冲之间斩波或执行"与"运算。 我无法使用斩波器模块、因为我将获得的最小频率为1.56MHz。 您能否告诉我如何在不使用斩波模块或外部与门的情况下实现斩波脉冲?

谢谢、  

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

    我写信告诉您、已指派一名 C2000团队成员回答此帖子。

    谢谢
    Vasudha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Siva、
    从技术上讲、应该可以将 PWM 配置为斩波频率、然后使用计时器来控制 PWM 的非斩波占空比。 我从未尝试过这种方法、但它可能适用于某些频率。

    我将询问是否有人尝试实现2KHz PWM、该 PWM 在10kHz 时被斩波。

    此致、
    Cody
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Siva、
    您是否愿意以较慢的速度运行器件? 如果您为 PWM 提供较慢的时钟并使用斩波器子模块中包含的除法功能、则可以找到解决方案。

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

    尊敬的 Cody:

    我也有相同的问题、但如果不降低频率、是不可能的?

    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要使用 PWM 斩波器子模块、您需要以斩波器分频器的倍数频率运行 PWM。

    如果您需要器件运行全速模式:另一种斩波频率的方法是配置两个 PWM、一个在斩波频率(10kHz)下、另一个在所需的 PWM 频率(2KHz)下。 然后、您可以从一个 PWM 配置一个中断或一个 TZ、以根据需要强制另一个 PWM 的输出为零。 如果您可以在器件外部执行此操作、则可以添加一些外部"和"逻辑。

    在较新的 C2000器件上、您可能能够使用数字比较子模块执行类似的操作。
    此致、
    Cody
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否已解决此问题?
    如果是、请标记任何有用的帖子。

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

    尊敬的 Cody:

    我通过编写软件循环生成了斩波脉冲。 假设我有占空比为50%的100us 方波、并且我使用计时器每20us 切换一次该脉冲。

    这里是不是从 ePWM 生成的方波。 通过比较定时器生成的三角和基准来生成它。 如果我使用 ePWM 模块输出来生成斩波脉冲、则会出现同步问题。 ePWM 模块和斩波 GPIO 引脚之间的同步是不同的、因此我不会在斩波脉冲和原始脉冲之间实现同步。

    因此、我所做的是使用计时器生成自己的三角、并与基准进行比较以生成 PWM 脉冲。 然后在另一个 GPIO 引脚上执行另一个循环以生成斩波脉冲。

    您能告诉我这是一个好解决方案吗? (生成自己的三角波并与基准进行比较以生成脉冲、以便在生成的脉冲和斩波脉冲之间实现同步)。 下面是生成的斩波脉冲

    注: 如果我使用自己生成的三角形或斜升使用的计时器为20us、那么对于1000Hz、我仅获得50个样本、即离散样本、因此即使我设置了占空比、某些值(52.5%)确切值也不会反映在输出方波中、因为它不是由其形成的连续三角形 离散点。

    谢谢、

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

    Siva、

    我不知道您所说的"生成的三角"和"参考"是什么意思... 如果您以另一种方式解释它、我可能会提供更多评论。

    我认为最好的解决方案是使用两个 PWM、一个以斩波频率运行、另一个以所需 PWM 频率的两倍运行。 较高频率(斩波) PWM 应连接到所需的输出引脚。 然后、较低频率的 PWM 可以在 CTR=PRD ISR 中启用和禁用较高频率的 PWM。 您可以使用跳闸区域子模块或在 IO 缓冲器中禁用它、我可以认为一种方式比另一种方式更好的原因。

    [引用 user="Siva Swami">注意: 如果我使用自己生成的三角形或斜升使用的计时器为20us、那么对于1000Hz、我仅获得50个样本、即离散样本、因此即使我设置了占空比、某些值(52.5%)确切值也不会反映在输出方波中、因为它不是由其形成的连续三角形 按离散点。[/quot]
    增大斩波 PWM 的频率将帮助您在最终 PWM 输出中获得更高的分辨率。

    此致、
    Cody

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

    我认为三角表示时基计数器

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

    尊敬的 Cody:

    首先、我们使用向上计数模式的计数器、因此通过使用时基计数器间接生成高频三角。 然后,我们通过将获得所需的占空比与基准相比较 (通过将 CMPA 或 CMPB 值设置为基准值)来比较获得的所需占空比。 因此、通过将 CMPA 或 CMPB 值设置为基准值、我们将高频三角形与基准信号进行比较、以在 ePWM 输出端获得与 PWM 版本的基准波形相同的占空比。

    其次、斩波脉冲存在限制、每个脉冲应至少为20us。 因此、我不能将切屑频率设为高值。

    让我知道使用软件代码(时基计数器三角)生成三角、并与折射进行比较以生成方波是否正常? 是否可以解决确切的占空比问题??

    如果您需要更好的理解、我将与您分享代码。

    谢谢、

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

    Siva、

    思考过这一点后、我相信我了解您正在做什么以及您遇到的问题。

    请确认我的理解:

    1. "高频三角波"实际上是一个周期为40us 的 PWM (这是您的斩波频率)
      1. 示波器捕获中的绿线所示。
    2. "基准信号"也是 PWM、其周期比高频三角波慢。
      1. 示波器捕获中的红线所示

    您所使用的解决方案似乎效果相当好、但似乎您需要在软件中经常更新 CMPA 和 CMPB 值。 以及脉宽不精确的问题。

    如果我的理解是正确的、我认为如果您使用跳闸区域子模块来控制高频三角的输出、您将获得更好的结果。

    尝试此操作:设置为高频三角形所需的脉冲宽度、然后 将比较值保持静态。 然后启用高频三角形的单次触发、这将允许您启用和禁用输出。  

    现在、您需要使用 SW 力强制并重置高频三角的单次触发。 应在参考信号的 ISR 中强制跳闸或清除跳闸。 请注意、您可能需要使基准信号的频率加倍、这将允许您在每个周期启用和禁用两次高频三角。

    如果我没有正确解释您的帖子、我认为所有这些都毫无意义。

    祝你好运、
    Cody  

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

    尊敬的 Cody:

    虽然我没有很清楚地表达这一点、但你已经很好地理解了。 感谢您的努力。 无论您认为什么是正确的、主要问题是不使用 ePWM。

    由于为了消除电离问题、我生成了自己的计数器(三角形)、并且我将其与参考进行比较、以获得上面红色波形中显示的方波脉冲。 每当软件循环处于高电平时、我就会使用软件循环进行雄心勃勃的切换、我们可以在其中控制斩波频率和斩波脉冲宽度。 使用上面绿色波形中所示的软件环路的斩波脉冲结果。

    唯一的问题是生成的三角形将具有离散点、具体取决于载波频率和 ISR 时间周期。 如果我将载波频率1000Hz 和 ISR 时间20us 置于这里、我将得到50个点、其中25个点用于递增计数、25个点用于递减计数。 因此、如果我增加 ISR 的时间或降低高频采样点数、即使使用此方法解决了同步问题、也会产生不准确的结果。 (因为在比较折射时可能不会在点之间得到、因为三角形或计数器具有太小的离散点)

    1.使用软件循环生成自己的 traingle (计数器)和生成斩波形是否是一种好方法? (因为这样我可以消除同步延迟)

    2.如何在不影响载波频率(训练频率或计数器频率)和定时器 ISR 的情况下提高精度? (计数器或培训精度取决于生成的采样点数量、而这些采样点数量取决于上述因素)

    希望您能理解。 对于较低频率的斩波问题已由上述实现和前一封邮件中显示的相同波形解决、但没有同步问题。 仅关注提到的问题。

    谢谢、

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

    同步 PWM 时、请确保将较快的 PWM 与较慢的 PWM 同步、否则慢速 PWM 将永远无法正常工作。 如果你有一个可以在 TBPHS 中被考虑的小相位关闭设置、那么主器件和从器件之间的典型值为2。

    此致、
    Cody