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.

[参考译文] 编译器/TMS320F28054M:有关 comparetor 的问题

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/623687/compiler-tms320f28054m-issue-with-comparetor

器件型号:TMS320F28054M

工具/软件:TI C/C++编译器

我尝试使用比较器来检测电机短路保护。 为此、我激活了中的所有相关功能  

hal.c 文件中的 void HAL_setupAfe (HAL_Handle handle)函数。 组件已正确激活。 我已启用两个输出 GPIO 15来查看 CRO 上的跳闸状态和实际跳闸、并采取了数据表中的所有预防措施。 我还激活了滤波器组件时钟。

事情运转正常、但我有两个问题

1.要停止 PWM、是否需要设置跳闸区域寄存器中的任何位? 如果是、哪个寄存器?

2.如果激活了数字滤波器

CTRIPM1STS 寄存器显示了向分压器状态、位 CTRIPOUTM1FLG (位15)和 CTRIPA3FLG (位9)按预期工作、但是

 CTRIPOUTMISTS (位7)和 CTRIPA3STS (位1)在 CCS 的实时观察窗口内保持1和0之间的波动。 和配置为 icaretor 状态的 GPIO 15在输出为低电平时显示高频方波、在输出为高电平时显示高频方波(如预期)

但是、如果数字滤波器不被波动的阻抗使用、

综上所述、是否有任何初始化部分我可能丢失了?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HAL_disablePwm() API 调用强制执行以下 TZ 操作,这将停止 PWM 生成:
    ePWM_forceTripZoneEvent (obj->pwmHandle[0]、ePWM_TZ_FORCE_EVENT_OST);
    ePWM_forceTripZoneEvent (obj->pwmHandle[1]、ePWM_TZ_FORCE_EVENT_OST);
    ePWM_forceTripZoneEvent (obj->pwmHandle[2]、ePWM_TZ_FORCE_EVENT_OST);

    我不确定第二个问题、我将让另一位团队成员对此进行研究

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

    谢谢、我也会尝试同样的方法。

    我针对 icaretor 跳闸意识到的另一点是、GPIO 输出显示的是方波、其频率恰好是寄存器 CTRIPA3FILCLKCTL 设置的数字滤波器的采样频率、而不是显示为高电平。 如果我更改该寄存器中的计数、则来自 GPIO 引脚的频率会相应地发生变化。 这意味着什么吗?

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

    将 CTRIPA1FILCTL 寄存器的初始值(即位15)设置为1后、我的问题似乎已经消失。 任何人都能随意 请给我一些解释。

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

    米林德

    您可能遇到了一些被拾取的噪声? 您可能没有正确设置滤波、设置滤波的最后一步是启用 CTRIPxxFILCTL 的位15。

    为了确保数字滤波器正常运行、建议使用以下初始化序列:

    1. 在 CTRIPxxICTL 中配置和启用比较器以进行操作
    2. 配置数字滤波器的运行参数
      1. 设置 CTRIPxxFILCTL_SAMPWIN 以获取要在 FIFO 窗口中监控的样本数
      2. 将 CTRIPxxFILCTL_THRESH 设置为多数鉴定所需的阈值
      3. 将 CTRIPxxFILCLKCTL 中的数字滤波器时钟预分频值设置为所需的值

    3. 通过设置 CTRIPxxFILCTL_FILINIT 在数字滤波器 FIFO 窗口中初始化采样值

    此致、
    Cody