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.

[参考译文] TMS320F28377D:CMPSTS.COMPHLATCH = 1、但不会触发 PWM TZ

Guru**** 2439710 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1523937/tms320f28377d-cmpsts-comphlatch-1-but-pwm-tz-is-not-triggerd

器件型号:TMS320F28377D
Thread 中讨论的其他器件:C2000WARESysConfig

工具/软件:

您好专家

客户报告了一个问题、如果他使 CMPSS CMPINxP 悬空、然后将 CMPINxN DAC 设置为一个非常小的值 (= 2) 、那么 CMPSTS.COMPHLATCH 可以偶然触发、但仍然存在 PWM 输出。

CMPSS 通过 PWM 直流模块触发 PWM TZ、直流模块配置如下:

测试的 CMPSS 是 CMPSS1、配置如下:

e2e.ti.com/.../cmpss_2D00_h.txte2e.ti.com/.../cmpss_2D00_c.txt

如果问题可以在您这边重现、请帮助您尝试一下吗? 关键问题是 CMPSTS.COMPHLATCH = 1、但 PWM TZ 不会触发、但不会  触发 CMPINxP 悬空、而是触发 CMPSTS.COMPHLATCH。

谢谢

Joe

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

    您好 Joe、

    CMPINxP  引脚悬空时 、CMPINxN DAC 非常小、ePWM XBAR 或 ePWM 直流模块是否有任何其他修改?

    CMPINxP  引脚不悬空但 CMPINxN  DAC 仍然非常小时、您是否看到了 ePWM 跳变? 我想知道原因是什么、因为有 2 个条件、需要验证 ePWM 是否在所有其他条件下跳闸、以确保正确配置 ePWM 直流。

    CMPINxP 引脚悬空

    CMPINxN  DAC 非常小

    此致、

    彼得

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

    您好、Peter

    我将返回实验室、单独尝试两个条件、然后返回给您这个星期一。

    谢谢

    Joe

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

    您好、Peter

    我尝试使用一个 C2000ware 演示程序测试 CMPSS 触发器 PWM TZ、我在此线程中附加该程序、您可以解压缩文件并在 F28379 LP: e2e.ti.com/.../epwm_5F00_ex4_5F00_digital_5F00_compare.zip 中对其进行测试

    电路板设置如下:

    CMPSS 设置: J3 PIN6 是 CMPSS1 CMP_N、J3 引脚 9 是 CMPSS1 CMP_P、将两个引脚连接到 GND 以启用 PWM 输出。

    PWM 设置: J4 引脚 1 是 PWM1 输出、您可以将该引脚连接到示波器以查看 PWM 波形。

    观察结果:

    第 1 步: 当将  CMP_P 和 CMP_N 连接到 GND 时、下载程序并点击“Resume",“,可以、可以从示波器观察到 PWM1 输出。 将 CMP_P 连接到 3.3V(PWM1 输出)   仍然可以从范围内观察到(这是问题所在)。

    第 2 步: 当将 CMP_P 连接到 3.3V 并将 CMP_N 连接到 GND 时 、下载程序并点击“Resume",“,不、不会设置 PWM 输出、TZOSTFLG -> DCAEVT1。

    第 3 步: 按照步骤 2 写入 TZCLR -> OST、 可从示波器观察到 PWM1 输出。

    第 4 步: 按照步骤 3、  将 CMP_P 连接到 3.3V(PWM1 输出)  仍然可以从范围内观察到(这是问题所在)。

    使用 CBC 重复测试每次 CMP_P 连接到 3.3V 时、都可以阻止 PWM。

    问题是为什么 OST 跳闸只能在设备开机期间生效一次?

    谢谢

    Joe

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

    您好 Joe、

    我还没有得到测试软件的机会,但会尝试很快做到这一点。 请注意、直流事件是边沿触发的、它们确实依赖于上升沿来引发这种情况。 即使前一次清除中存在条件、如果未看到上升沿、则不会发生任何事件  

    我想知道您是否可以测试 CTRIPOUTH 并绘制相对于 PWM 输出的图。 如果没有、我可以在测试工程时检查这个信息

    此致、

    彼得

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

    您好、Peter

    我将在这周出差、所以我在星期一上进行了一些测试、并在此处创建了这个 E2E 主题。  myside 有 2 个更新:

    1.  

    客户的配置在 OST 条件下运行良好、因此我想检查我的项目中的错误。

    2.

    CMPINxP 引脚悬空

    CMPINxN  DAC 非常小

    [/报价]

    在第一次讨论中、您询问了什么应该是根本原因、我倾向于说、CMPINxP 引脚应该悬空。

    因为我注意到客户设置 DCACTL[EVT1FRCSYNCSEL]= 0、这意味着直流模块的输入应与 TBCLK 同步、但如果 CMPSS 触发不稳定、CMPSS 输出信号应该非常窄、这可能不与  TBCLK 同步、并且不会导致 DCAEVT 输出。

    我更改了 DCACTL[EVT1FRCSYNCSEL]= 1、这是异步模式、我们今天做了一些简单的测试、发现问题可以修复、如果更新了更多测试、将更新该线程。

    谢谢

    Joe

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

    您好、Peter

    请继续关注此主题吗?

    谢谢

    Joe

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

    您好 Joe、

    我运行了您提供的固件并按照您所做的测试进行了操作。 我也看到了同样的行为。 我向 GPIO2 中添加了 CTRIPOUTH、也是为了在示波器上查看跳闸、这里 CMPSS 的行为似乎符合预期、但 ePWM 没有正确接收到数字比较事件。 我需要与 PWM 专家进行讨论、以便了解 OST 跳闸事件的限制、因为在查看 SysConfig 中、我看不到 PWM 配置有任何问题  

    此致、

    彼得

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

    您好、Peter

    期待您的答复。

    谢谢

    Joe

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

    您好 Joe、

    我还创建了一个单独的工程、因为同时存在 DriverLib 和 SysConfig 配置、所以很难与 ePWM 配置一同使用。 请参阅这个更新后的工程、该工程通过 SysConfig 执行所有操作:  

    project.zip

    在我的测试中、如果 CMPSS 输出“闪烁“(快速交替切换高电平和低电平)、则会导致 ePWM 输出出现毛刺脉冲。 我已请 ePWM 专家进一步测试软件、以便更好地了解为什么会发生这种情况。 我应该认为 OST 应该会导致 ePWM 始终关闭、即使 OST 活动后出现闪烁、但这种闪烁似乎会导致 OST 标志被清除。  

    需要注意的一点是、 在配置 ePWM 模块时应禁用 SYSCTL_PERIPH_CLK_TBCLKSYNC。 我看到正在执行一些 EPWM 配置的 Board_init 是在启用 SYSCTL_PERIPH_CLK_TBCLKSYNC 的同时进行的

    此致、

    彼得

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

    您好、Peter

    感谢您的支持并等待专家的反馈。

    谢谢

    Joe

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

    您好 Joe、

    对于 OST、应强制配置 TZA 和 TZB 事件状态。 请查看您是否可以测试这个更新后的工程 e2e.ti.com/.../empty_5F00_sysconfig_5F00_337zwt_5F00_061225_5F00_2.zip

    此致、

    彼得

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

    您好、Peter

    我使用您的项目执行以下测试:

    步骤 1:构建工程并将其下载到 LP

    步骤 2:将 DACHVALS 更改为 2047 (DEC)

    步骤 3:复位 CMPHLATCH、清除 TZ 标志

    然后、可以在示波器中看到 PWM 输出。

    我使用函数发生器生成脉冲、Freq = 1Hz Peak >= 1.48V 宽度= 1us。

    我仍然可以看到测试结果:PWM 模块输出、但 设置了 CMPHLATCH。

    但一旦我设置了 DCACTL[EVT1FRCSYNCSEL] = 1、  设置 CMPHLATCH 后、可以正确阻断 PWM 输出。

    下面是测试设置

    谢谢

    Joe

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

    您好 Joe、

    我不太明白这一点、因为 EVT1FRCSYNCSEL 的唯一作用是启用来自 DCAEVT 的异步信号而不是同步。 如果有任何事情、我认为这似乎会启用 DCAEVT1.force 信号、该信号馈入进入 OST 的或门。 您意味着您启用  DCACTL[EVT1FRCSYNCSEL] = 1  当 Ctrip 为低电平时、然后当 Ctrip 为高电平时、您会看到 ePWM 输出被触发?

    此致、

    彼得

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

    您好、Peter

    让我进一步澄清我的行动:

    1.  

    以下步骤基于您与我共享的演示项目: empty_sysconfig_337zwt_061225_2.zip。 使用以下工程和操作、 仍然可以重现“PWM not tribute 但 CMPHLATCH is setch“问题。  

    步骤 1:构建工程并将其下载到 LP

    步骤 2:将 DACHVALS 更改为 2047 (DEC)

    步骤 3:复位 CMPHLATCH、清除 TZ 标志

    然后、可以在示波器中看到 PWM 输出。

    我使用函数发生器生成脉冲、Freq = 1Hz Peak >= 1.48V 宽度= 1us。

    我仍然可以看到测试结果:PWM 模块输出、但 设置了 CMPHLATCH。

    [/报价]

    2.

    仍在下载演示工程、重复上面的步骤 1-3 设置、并使用相同的输入信号、然后  DCACTL[EVT1FRCSYNCSEL] = 1、  “PWM 未跳闸、但设置了 CMPHLATCH “  方法 我这边。

     

    如果仍有一些问题未能清楚解释、请告诉我。

    谢谢

    Joe

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

    您好 Joe、

    我已经与 ePWM 专家一起对此进行了全面测试、并且发现了与您提到的行为相同的行为。 我们不清楚这是 CMPSS 问题还是 ePWM 问题、或者可能是 2 个外设之间的交叉开关问题。 它还将帮助我在其他一些器件上进行测试、以查看此问题是否仅与 F2837x 有关、或者是否也可以在其他器件中看到。  

    理论上、在这些条件下、CMPSS 比较器输出不能提供足够的电压电平来辨别 ePWM 的跳闸输出。 在 GPIO 多路复用器之后通过 OUTPUTXBAR 查看时、满足高阈值、因此输出视为 1。 但是、ePWM 跳变可能具有不同的阈值、因此不会将其视为跳变。 这也可能是 ePWM 状态机中决定跳闸状态输出的错误。 需要进行仿真才能更好地理解

    此致、

    彼得

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

    您好、Peter  

    感谢您的确认

    此致

    Joe