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.

[参考译文] TMS320F28035:PWM 不能正常工作

Guru**** 2589300 points
Other Parts Discussed in Thread: DRV8301

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/665818/tms320f28035-pwm-not-working-properly

器件型号:TMS320F28035
主题中讨论的其他器件:DRV8301

大家好、

我想知道是否有人遇到了 F28035上 PWM 输出的以下问题:  我可以为电路板加电并在我的 PWM 引脚上获得非常微弱的信号(mV 范围)。  然而、PWM 输出上连接了 LED 指示灯、并且按照我对其编程的顺序点亮它们。  我还有一个开关用于增加占空比、另一个开关用于降低占空比。  当我使用开关来更改占空比时、LED 会按预期响应、但具有相同的低 mV 范围电压。  但是、如果我按下电路板上的复位按钮、MCU 会重新启动、并且 PWM 信号在预期的电压范围内运行。  如果有人对 PWM 输出有这样的问题、您能给我启迪吗?  我已经尝试解决这个问题了一段时间。  我能想到的唯一原因是 MCU 坏了。  如果是、您有没有任何人曾经历过 PWM 导致 MCU 损坏的情况?  我担心这可能也是电路板的布局问题、但不确定。  谢谢你。

-Brandon

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

    请提供有关电路板的更多信息吗? 此板是 C2000开发板还是您自己的设计? 此外、您能否提供有关 PWM 输出如何驱动或灌入 LED 指示灯的更多信息? 谢谢。

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

    Ken、

    该板是我的团队为我们的高级设计项目设计的定制板。  我们正在使用 F28035和 DRV8301栅极驱动器设计电机控制器。  PWM 引脚为 LED 供电。  LED 具有1.75V 的正向压降、PWM 信号的高电平输出约为3.25V、这为 PWM 提供大约2mA 的电流。  此外、如原理图中所示、PWM 线路没有其他与 MCU PWM 输出和 DRV8301 PWM 输入串联的组件。  DRV8301的灌电流应约为3.25V/100kohm=32.5uA。  因此、PWM 引脚提供的总电流不超过2.5mA、远低于 MCU 输出允许的最大电流。  如果您需要任何其他信息、请告诉我、感谢您的帮助

    -Brandon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只是一次更新… 我的 MCU 今天早上发生了怪异的事情。 我在电路板上进行了一些测量、当我关闭电路板并重新打开电路板时、其表现就像卡在复位状态一样。 我多次点击我的 MCU、MCU 从复位状态中退出(我知道这是一种解决 LOL 问题的"工程"方法)。 我过去曾遇到过类似的问题、但认为问题已得到解决(我将测试2引脚接地、但将其修正为 NC、并且在使用 MCU 的情况下一段时间内没有其他问题)。 有一个问题需要考虑、这一点可能根本不相关。 我将用于 JTAG 的 TDI 和 TDO 直接连接到 MCU、但将 LED 连接到每条线路、这与我对 PWM 输入所做的相同。 由于数据线路在 MCU 上有内部上拉电阻、这是否会对 JTAG 产生影响? 只是一个想法。 再次感谢。

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

    Brandon、

    我建议您尽可能多地移除 LED 负载、以查看问题是否得到改善或消失。 虽然每个引脚可单独提供最大+/- 4mA 的电流、但器件可能难以同时在所有引脚上提供+/- 4mA 的电流。 考虑这样一个事实、即只有两个 VDDIO 引脚为 VDD 和所有 IO 缓冲器供电。

    您的 LED 路径的电阻也比数字端点低、因此如果系统电流不足、可用功率将流向 LED、而不是数字端点。

    Tommy

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

    我现在打开的唯一 LED 是任意给定时间的两个 PWM LED 和一个通电指示灯。 我取下了 JTAG 上的 LED 以及其他四个用于指示 CAN 和 RS232 TX 和 RXD 数据的 LED。 不过,我仍然有同样的问题。 不过、我确实发现了一些有趣的东西。 当我将 LED 连接到 JTAG 数据线时、我在 TDI 和 TDO 处获得1.8V 电压、而没有连接 JTAG。 当我断开 LED 时、我在未连接 JTAG 的情况下在 TDI 和 TDO 线路上获得大约3.3V 的电压。 在未连接 JTAG 的情况下、TDI 和 TDO 应该具有什么值?

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

    我认为、当仿真器断开连接时、JTAG 引脚为高阻态(悬空)引脚。 我认为 TDI 和 TDO 具有弱上拉电阻、因此它应接近于您的 VDDIO 电压。

    您是否使用 ePWM DC 或 TZ 子模块监视任何信号? 如果是、请注意、跳闸区域控制(TZCTL)寄存器具有一个默认操作、即在事件合格时将 EPWM 引脚置于高阻态。 这通常看起来像是故障输出行为。 应将不需要的 TCZTL 字段更改为不执行任何操作。

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

    您是否认为我的 JTAG TDI 可能会导致 MCU 损坏、因为它被 LED 钳制在最大1.8V? 我现在要更换 MCU、因为它的运行是怪异的。 它一直处于复位状态、我必须连接并断开 JTAG 以使其脱离复位状态、有时我只需点击 MCU 即可。 过去发生过这种情况、但假设是固定的(我已将测试2引脚接地、它应该是悬空的)。 我认为 MCU 现在是总故障的边缘。 我不知道跳闸区域模块影响了 PWM 行为、可以看到 PWM 现在运行正常已超过一周。 更换 MCU 时、我将告诉您问题是否已解决。 但是、我希望我能够弄清楚、为什么在电路板正常工作一段时间后、这种情况会持续发生。 感谢你的所有帮助。

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

    Brandon、

    任何 JTAG 信号上不正确的电压电平肯定会导致断开连接和数据损坏。  您是否在 XRS 引脚上看到周期性复位?

    请记住、TDO 也是引导模式选择引脚、因此该引脚上的电压不良会使器件在复位后进入错误状态:

    Tommy

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

    抱歉、我在看到您的帖子之前已经更换过 MCU。 我不知道 XRS 引脚是否被保持在低电平。 我知道可以按下连接到 XRS 引脚的复位按钮、并且在器件已经卡在复位状态时没有响应。 刷写 MCU 后、我会不断更新。

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

    只是为了更新… 我在新 MCU 卡在复位状态时没有遇到任何问题、除非我为电路板加电并连接 JTAG、然后电路板处于复位状态(我不知道这是否正常)。 但是、PWM 问题仍然存在。 我认为问题可能出在 DRV8301上。 DRV8301是否可以仅在 INH_A、INH_B 和 INH_C 上将 PWM 输入保持为低电平? 我还会收到一份 OCTW 报告、其中 OCP 已禁用(我的三相逆变器上有负载和无负载、这在高 PWM 工作时可以正常工作)。 我仍然可以点击 MCU 上的 RESET 按钮、然后高 PWM 输入再次开始工作。 PWM LED 是否可能从 DRV8301输入端拉出过多电流(如果可能的话)? 再次感谢。 非常感谢您花时间为我提供帮助。

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

    很抱歉、让此博客现在更多地介绍 DRV8301、但我正在上传 DRV8301的原理图。 我们不使用降压转换器。 我们将 EN_BUCK 引脚接地。 但是、与降压转换器相关的所有其他引脚都是悬空的。 我们还在故障和 OCTW 引脚上设置了 LED、而不是严格上拉电阻器。 此设置是否可能会影响 PWM 输入逻辑、并可能导致 MCU 和/或 DRV8301损坏?

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

     下面是我的原理图:

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

    Brandon、

    我不熟悉 DRV8301、因此我无法为您提供任何具体指导。  您所描述的配置可能不会造成任何损坏、但它看起来 LED 路径传导电流可能会超过数据表建议的2mA 电流。

    您是否在 JTAG 接口上实现了隔离?

    Tommy

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

    Tommy、

    感谢您的回答。  我没有注意到针对故障的建议最大电流、而八个引脚的电流为2mA (我只查看了绝对最大值为7mA 的位置)。  我决定无论如何关闭这些 LED、只需打开由 MCU 供电的 LED、然后使用软件来驱动 LED、而不是 DRV8301硬件。  此外 、我认为 DRV8301的高侧 PWM 输入上的 LED 可能会导致问题。  我将更换 DRV8301并卸下所有 PWM LED、然后查看问题是否再次出现。  再次感谢您的帮助。

    -Brandon

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

    我发现了导致 PWM 问题的原因。 我已声明 PWM 周期的变量"countMax"。 当我配置 PWM 模块时、我在代码中使用"countMax"来设置 PWM 周期。 但是、我没有意识到在配置 PWM 模块之后才给出变量。 因此、PWM 周期值从"countMax"存储器位置中给定的随机值开始、 但是、当我复位 MCU 时、使用分配给"countMax"存储器位置的周期值再次配置 PWM 模块(我在代码中仅设置了一次 PWM 周期、并使用 while 循环来防止重新初始化所有内容)。 现在我已经设置了"countMax"、以便在配置 PWM 模块之前进行初始化、PWM 会在我为电路板加电时开启。 到目前为止、我已经没有遇到任何电路板问题了。 我想我会说这个问题已经解决了! )

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

    很高兴您发现了问题。 感谢您分享您的解决方案。

    Tommy