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.

[参考译文] AM2432:Σ — Δ(SDFM) 快速检测

Guru**** 2514285 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1531584/am2432-sigma-delta-sdfm-fast-detect

器件型号:AM2432
主题:SysConfig 中讨论的其他器件

工具/软件:

尊敬的专家:

我正在使用编写 Σ — Δ(SDFM) 示例 电机控制 SDK 09.02.00.11  更多信息 快速检测 还有一些问题:

1) PRU ICSS PWM TZ_OUT 信号(用于快速检测)是高电平有效信号。 我需要在 SDFM 固件进行哪些更改以反转 PRU ICSS PWM TZ_OUT 信号的极性?

2) 快速检测似乎仅在 CH0 启用了快速检测选项时才起作用。 如果我禁用 CH0 的快速检测、则它不再适用于其他通道。 为什么会这样、我 需要更改什么才能使其正常工作?

3) 新的电机控制 SDK 将于何时发布?

谢谢!

此致、

1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1) PRU ICSS PWM TZ_OUT 信号(用于快速检测)是高电平有效信号。 我需要在 SDFM 固件处更改什么以反转 PRU ICSS PWM TZ_OUT 信号的极性?

    用于快速检测的 PRU ICSS PWM TZ 输出的极性无法通过软件反转、因为它完全由硬件驱动。 因此、您需要使用外部硬件来反转输出。

    似乎只有在为 CH0 启用了“快速检测“选项时、“快速检测“才有效。 如果我禁用 CH0 的快速检测、则它不再适用于其他通道。 为什么会这样、我 需要更改什么才能使其正常工作?

    我会检查一下、然后返回给您。

    何时发布新的 Motor Control SDK?

    这是计划在这个月!

    此致、

    Achala Ram

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

    感谢您的快速答复!

    通过软件无法反转用于快速检测的 PRU ICSS PWM TZ 输出的极性、因为它完全由硬件驱动。 因此、您需要使用外部硬件来反转输出。

    好的、这意味着对于快速检测、完整路径(SDFM-firmware -> PRU PWM TZ 模块->芯片输出)是由硬件驱动的?

    这也适用于自由运行 过流比较器 ? 是否可以通过使用过流比较器并调整 SDFM 固件来改变驱动 PRU PWM TZ 模块的信号的极性、从而反转 TZ_OUT 信号的极性?

    我将检查此内容并返回给您。

    您是否已经有了这方面的答案?

    计划本月!

    谢谢!

    我还在获得自由运行时遇到问题  过流比较器 器件。 在.syscfg 中启用它们后、SDFM 输出样本就会出现奇怪的行为。 常见的缺陷是什么、正确激活过流比较器需要执行哪些步骤? 是否有任何需要特别注意的特殊设置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否已经有此问题的答案?

    是的、有一个错误:仅当启用通道 0 时才配置 PWM 跳闸寄存器! 请 FN_CONFIG_PWM_REG 使用以下代码进行更新、以消除对通道 0 的依赖

    好的、这意味着对于快速检测、完整路径(SDFM-firmware -> PRU PWM TZ 模块->芯片输出)是硬件驱动的?

    是的、SDFM 固件不执行任何比较;它只是实现快速检测。 所有比较都由快速检测块处理。

    有关快速检测和跳闸区的更多详细信息、请参阅以下链接:

    https://software-dl.ti.com/processor-industrial-sw/esd/motor_control_sdk/am243x/09_02_00_11/docs/api_guide_am243x/SDFM_DESIGN.html#autotoc_md309

    章节: 6.4.5.2.2.3.5.3 Σ — Δ 说明、 6.4.10 PRU_ICSSG PWM 模块 AM64x/AM243x 技术参考手册(修订版 H)

    这是否也适用于自由运行 过流比较器 ? 是否可以通过使用过流比较器并调整 SDFM 固件来改变驱动 PRU PWM TZ 模块的信号的极性、从而反转 TZ_OUT 信号的极性?

    关于过流、固件首先执行阈值比较、然后写入 PWM 寄存器、以便在 PRU PWM TZ 块上生成跳闸信号。 PWM TZ 具有软件过流错误选项、因此当采样值超过阈值限制时、固件会写入“1"。“。 无法选择更改极性、当前固件不支持该极性。 但是、您可以查看此逻辑:当值处于限值范围内时写入软件过流错误位、当值超过限值时复位 PWM。 这样就可以在 TZ 引脚上获得反向输出。

      

    PWM 跳闸寄存器 6.4.14.5.70 ICSSG_PWM0 寄存器(偏移= 130h)[复位= X]

    在获得自由运行时也遇到问题  过流比较器 器件。 在.syscfg 中启用它们后、SDFM 输出样本就会出现奇怪的行为。 常见的缺陷是什么、正确激活过流比较器需要执行哪些步骤? 是否有任何需要特别注意的特殊设置?

    无需执行其他步骤;只需通过 SysConfig 启用即可。 能否分享您正在使用的示例和 SDK 版本? 此外、请详细介绍您在 SysConfig 中所做的默认 SDK 示例中提供的配置之外的任何其他配置

    此致、

    Achala Ram

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    无需执行其他步骤;只需通过 SysConfig 启用即可。 能否分享您正在使用的示例和 SDK 版本? 此外、请详细介绍您在 SysConfig 中所做的默认 SDK 示例
    中提供的配置之外的任何其他配置。

    谢谢! 比较器似乎只需在 SysConfig 中启用它们即可按预期工作。

    但是、有时在多次复位和重新加载示例后、输出样本会出现意外行为:输出值超过 sinc 滤波器类型和 OSR 定义的预期最大值。

    这是什么原因?

    用例: ICSS_sdfm_three_channel_single_PRU_MODE
    SDK: 电机控制 SDK 09.02.00.11

    我使用了默认设置、启用比较器、 配置了用于时钟的 EPWM、将时钟设置为 12.5MHz 并分别为每个通道设置时钟源。

    谢谢!

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

    您好、Jan、

    您能否测试 eCAP 等时钟生成选项并观察行为?

    当使用具有抖动或变化的外部时钟时、或者如果时钟与您在 SysConfig 中配置的时钟不完全相同、固件将错误地采样。 这是因为当前固件通过 IEP CMP 事件实现采样时序。 抖动或外部时钟源的变化(尤其是当每个通道都有单独的时钟源时)可能会导致问题。  

    我们为这些类型的用例设计了替代固件、将在计划本月的下一个版本中提供

    此致、

    Achala Ram

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

    感谢您的输入。 我尝试了 PRU IEP CLK 生成、但遗憾的是仍然观察到错误采样。 但是、当我禁用过流比较器时、采样会正常进行(没有更改其他设置)。

    当系统运行时、当略微更改用于 SDSYNC 的 ePWM 的 TBPRD 寄存器时、我也会注意到错误的采样。 触发点经过配置、因此 NC 采样应在 sync0 事件发生之前完成。

    这种行为是否有解释? 为什么 TBPRD 寄存器的微小变化会导致未定义或不正确的采样 — 仅在启用过流比较器时才如此?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否对此行为有解释? 为什么 TBPRD 寄存器的微小变化会导致采样未定义或不正确 — 并且仅在启用过流比较器时才会如此?

    我会仔细研究一下、然后回复您。 同时、您能否分享 SDFM 参数的 SysConfig 设置? 此外、您设置的 EPWM 频率是多少、您对 TBPRD 寄存器进行了哪些更改?

    此致、

    Achala Ram

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

    是否已有此更新?

    used example: ICSS_sdfm_three_channel_single_PRU_MODE
    SDK: 电机控制 SDK 09.02.00.11
    [/报价]

    我使用示例的默认设置 (NC OSR 64;第一个触发点 (µs) 15;OC OSR 16)、启用比较器、将 SDFM 时钟设置为 12.5MHz、并分别为每个通道设置时钟源。


    EPWM 频率为 8kHz(示例中的默认值)。 关于 TBPRD 寄存器:我会在系统运行时略微更改 TBPRD 寄存器。

    谢谢、此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将使用示例的默认设置 (NC OSR 64;第一个触发点 (µs μ s) 15;OC OSR 16)、启用比较器、将 SDFM 时钟设置为 12.5MHz、并分别为每个通道设置时钟源。

    您好、Jan、  

    您是否 12.5MHz sdfm_example.c  按照文档 https://software-dl.ti.com/processor-industrial-sw/esd/motor_control_sdk/am243x/09_02_00_11/docs/api_guide_am243x/EXAMPLES_MOTORCONTROL_SDFM.html#autotoc_md97 中的说明为 ECAP 正确设置了时钟分频器? 

    我们在 12.5MHz 采用与您的内部时钟选项相同的配置时、没有观察到任何高值。

    是否对此行为有解释? 为什么 TBPRD 寄存器的微小变化会导致采样未定义或不正确 — 并且仅在启用过流比较器时才会如此?

    该问题将在连续模式下引起问题、但对于触发模式、如果在一个 ePWM 周期内采集所有三个连续样本、则不应引起问题。 如果对 TB 寄存器的更改很显著、则可能会导致问题。 您能否分享您对 TB 寄存器所做的更改、包括您所更改的特定值、以便我可以在我的设置中重现此内容并仔细查看?

    此致、

    Achala Ram