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.

[参考译文] TMS320F28379D:停止时的 PWM 和 GPIO 随机输出

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/697117/tms320f28379d-pwm-and-gpio-random-output-at-stop

器件型号:TMS320F28379D

大家好、

我的应用程序上的 PWM 输出有问题:我必须使用 PWM 驱动 IGBT 驱动器, 当系统运行时,一切工作正常(GPIO0-5,PWM1-2-3),但当我停止 PWM 时,某些 GPIO 保持在高电平(随机)。

我认为我遇到的问题与这篇文章相同: e2e.ti.com/.../679411

在我的情况下,我已经配置了 TZ,这里有一个停止函数的视图,右边是停止后的输出:

你是否看到我可以忘记的其他问题?

EDIT1:当停止发生时,输出似乎保持相同的状态。

EDIT2:当 GPIO 处于输出模式时,如果我在引脚上从外部输出+3.3V 电压,仿真器是否会看到高状态电平?  

EDIT3:您能向我解释一下什么是影子寄存器吗? 我已经在各种数据表和互联网上阅读了一些内容,但我仍然不了解... 这是否是我的问题的根源?

非常感谢、祝您愉快、

J é r é my

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

    默认情况下、TBCTL.FREE_SOFT = 0、这是在调试器中单击 PAUSE 时停止 PWM 计数器、PWM 输出保持低电平/高电平、具体取决于您何时停止 PWM 输出。 您还有两个选项:1x -保持 PWM 运行(使用当前占空比)、01 - PWM 周期完成时停止计数器。 01适用于单相应用、而对于多相、它可能会制动相位同步。 对于多相、我将使用自由运行并设置 TZ 单元来关闭 TZ6 (EMUSTOP)上的高侧开关。

    当然、有人可以更好地解释影子寄存器、影子寄存器有助于在正确的时刻应用占空比等内容。 例如、如果比较寄存器没有影子寄存器并且将立即应用(而不是在 PWM 周期结束时的某个位置)、那么写入新的比较值时、您可能会看到缺少 PWM 脉冲。

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

    重点是、我不会停止通过仿真器执行、程序仍在运行、当我使用系统的物理开/关按钮时、会出现输出问题、CCS 仅用于可视化输出和寄存器(我还有一个 PWM 输出范围)。

    即使 TZFLAG 处于活动状态、输出仍保持高电平、输出强制为低电平
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦、我明白了。 您是否配置了 TZCTL? 默认情况下、所有字段都是00、这是将引脚设置为高阻抗状态。 这是您的问题吗?

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

    您好!

    是的、我使用的是 DCAEVT1和 DCAEVT2 (我尚未预先了解 CBC 和一次性跳闸之间的差异、但这还不是问题)、配置为强制低电平。

    我没有预先确定不会影响您的答案、但我使用的是具有自动方向和总线保持技术的双向电压电平转换器。  

    www.onsemi.com/.../FXMA108-D.pdf (但 我正在尝试更改 TI 器件的管理器:))

    我们发现、如果在 PWM 输出(也是转换器输入)中放置外部下拉电阻器、则器件工作正常。 实际上、要更改电压转换器的状态、我们需要具有最小 di/dt。

    问题是,为什么 PWM 处于活动状态而 PWM 停止时一切都正常工作? 当 PWM 外设处于工作跳闸或停止状态时,输出类型(正常或开漏或上拉/下拉或其他)是否可以自行更改?

    非常感谢、

    J é r é my

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

    您好!

    • 我们发现、如果在 PWM 输出(也是转换器输入)中放置外部下拉电阻器、则器件工作正常

    这只是确认跳闸力操作设置错误、您具有高阻抗力而不是低力。 配置 TZCTL 时、您应该记住、所有操作默认设置为强制高阻抗。 也许不同的操作优先、您具有高阻抗而不是低力。 我遇到了同样的问题、使用 DCAEVT1和 DCAEVT2、我必须设置除 TZCTL 中的 TZA 以外的所有设置、以执行任何操作、仅在发生强制输出按预期低电平的 A 事件时才执行此操作。

    最好能提供比 UM 中更好的区域配置说明。

    此致、

    Edward

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

    爱德华、您好、感谢您的建议、它运行良好!!

    对我来说、情况正好相反、DCAEVT1和 DCAEVT2只能执行 TZA 和 ZB 操作。 毫无疑问,我已经配置了所有注册人,我正在触发所有事件... 的确,我可以得到更多的信息,这是很好的。

    是否有任何人有解释或应用手册或文档铭牌?

    谢谢、祝 您愉快、

    J é r é my

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

    您好、Jeremy (& Edward)

    我很高兴您能够找到解决方案。  

    我要承认、跳闸区域与 PWM 交互的方式有很多细微差别。  Edward 提供了一些可靠的建议。  
    (确保 TZCTL 中的所有位在您不想使用时明确设置为"无任何内容"等)

    TRM 会解释这种情况、但可能不是这样-同时、很难解释单凭动词会发生什么情况。  我发现标有"跳闸模式子模块模式控制逻辑"的图对于理解至关重要(多年来、我们一直在努力加以改进)。  

    需要特别注意的是、比较器输出的 DCxEVTn 会直接影响 ePWM 输出、而 ePWM 输出有时被称为 SYSCLK by SYSCLK 强制。  这就是 TZCTL 寄存器中的 DCxEVTn 位启用/禁用的情况。 这在相对独特的情况下非常有用、但最常见的情况是它未被使用并且经常被误解。


    谢谢、
    Brett