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.

[参考译文] TMS570LS3137:TMS570LS3137 PWM 生成

Guru**** 2524550 points
Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1536502/tms570ls3137-tms570ls3137-pwm-generation

器件型号:TMS570LS3137
主题中讨论的其他器件: HALCOGEN

工具/软件:

大家好:

我已仔细研究以下资源:

  • TMS570LS3137 参考手册

  • 使用 HALCoGen N2HET 模块生成 PWM 和输入捕获

  • NHET 入门应用手册

我了解使用 N2HET 外设生成 PWM 信号的一般概念和详细概念。

以下是我当前的配置和观察结果:

  • DCLK2 时钟: 160MHz

  • HR 预分频器: 0 (HR 时钟= 160MHz)

  • LR 预分频器: 64(环路分辨率周期= 400ns)

  • 时隙: 64

使用 HALCoGen 生成 N2HET 代码后、我进行了以下手动修改:

  1. PWCNT(指令 1):

    • 修改 Program 字段0x000054C0U禁用 HR 延迟(我希望 PWM 分辨率为环路时间的倍数、即 400ns)。 我不需要 HR Delay)。

  2. MOV64(指令 41 — 占空比更新):

    • 数据区域设置为256、我的用途是每 400ns 改变一次脉冲。

  3. MOV64(指令 42 — 周期更新):

    • 数据区域设置为256、以 800 ns 的总周期为目标。

完成这些更改后、我的视角是  位于指令 41 中的值将加载到 PWCNT 数据字段中、此数据字段将在每 400ns(循环时间)递减。 当达到零时、将执行引脚操作、我期望在 400ns 内执行相反的引脚操作。 此外、由于指令 42 有 256 个值、DJZ 指令数据 字段将有 256 个值、我预计周期将为 800ns。  

因此、在执行以下更改后、我想我将获得具有 800ns 周期和%50 占空比的 PWM 信号。 但是、我不能接受该 PWM 信号。

您能帮助我准确地确定我可能误解或配置错误的内容吗? 我正在寻找具体的指导、而不是一般性建议、以确保我掌握可能遗漏的每个细节。

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

    尊敬的 Berat:

    [报价 userid=“478036" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1536502/tms570ls3137-tms570ls3137-pwm-generation
    • DCLK2 时钟: 160MHz

    [/报价]

    根据数据表、最大 VECLK2 频率应仅为 100Mhz、因此我认为它不支持 160MHz。

    此器件的最大 GCLK 或 HCLK 为 180MHz:

    因此、我认为我们只能在 VLCK2 上配置 90Mhz、如下所示:

    如果 VCLK2 为 90Mhz、则如果我假设代码中有 58 条指令、则最小循环分辨率可能为:

    (1/90MHz)*58=644nS

    因此、在 HALCoGen 中使用 HET 无法获得 400nS 的分辨率。 不过、我们可以使用 HET IDE 来实现这一点。

    请再次参阅以下主题:

    (13) RM57L843:N2HET PWM 输出频率 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    --

    此致、
    Jagadish。

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

    你好 jagadish gundavarapu

    首先、感谢您的澄清。 然后相应地更新时钟设置。

    但是、请您就我对该流程的理解提供反馈意见。

    我们来考虑一种环路分辨率时间为 500ns 的情况(我知道,只有在这种情况下,58 条指令至少需要 644ns)。 从 HALCoGen 生成代码后、我希望生成频率为 1MHz 且占空比为 50%的 PWM 信号。

    为了实现这一点、应将哪些值写入 MOV64 说明? 如您所知、说明 41 和 42 是 MOV64 、它们的数据值将加载到中 DJZ PWCNT 用于定义周期和占空比的指令。

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

    尊敬的 Berat:

    (+) TMS570LS3137:PWM 高分辨率配置 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    您能引用以上主题一次吗?

    这里我介绍了 PWCNT 指令将如何使用循环分辨率来生成所需的频率。

    此外、在同一线程的末尾注释中、我还提供了高分辨率 PWM 生成示例。

    --
    此致、
    Jagadish。

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

    尊敬的 Jagadish:

    感谢您的答复。

    我正在检查您的主题。 检查后、如果问题足够解决、我将关闭问题。