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.

[参考译文] RM57L843:N2HET PWM 输出频率

Guru**** 2516170 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1361163/rm57l843-n2het-pwm-output-frequency

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

您好!

我们使用 N2HET 的 PWM 函数。

HALCOGEN 在 VCLK2=VCLK2=Vlr=64 75MHz (HET_REGS.PFR.LR=6)、HR=1 (HET_REGS.PFR.HR=0)时计算 LRP= 853.333F。


该软件使用 LRP= 852.941F、并且使用示波器测量的 PWM 输出非常接近我们想要的示波器。 当我更改为853.333F (从 HALCOGEN)时、结果不太好。
对此有何解释?


您能解释一下 HALCOGEN 中的字段"HR Clock"和"Loop Time"。 它们来自哪里? 它们是否会干扰 LRP 计算?  

此致、

马尔西奥

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

    尊敬的 Marcio:

     是的、您是对的、更长的环路分辨率时间会在输出波形生成中产生更大的误差。

    可能最多存在一个环路分辨率周期误差。  

    我在以下主题中详细介绍了此错误:

    (+) TMS570LS3137:PWM 捕获代码工作不正常-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    请参阅我在该主题中的最后一条评论。

    --
    谢谢。此致、
    Jagadish。

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

    您好!

    感谢您的答复。 它对我们帮助很大。

    我认为问题在于 hl_het.c 中的这些表达式从"flow64"转换为"uint32"。 它丢弃了 pwmPeriod 的小数部分。  

     hetRAM->Instruction [(PWM <<1U)+ 41U].Data =(((UINT32) pwmPeriod * signal.Duty)/100U)<< 7U)+ 128U;

    hetRAM->Instruction [(PWM <<1U)+ 42U].Data =(UINT32) pwmPeriod << 7U)-128U;

     此致、

    马尔西奥

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

    尊敬的 Marcio:

    我认为问题在于 hl_het.c 中这些表达式从"flow64"转换为"uint32"。 它丢弃了 pwmPeriod 的小数部分。  [/报价]

    正确、这仅是由于此转换。

    但需要进行此转换、因为将使用 DJZ 指令生成周期。

    该指令将包含作为数据值计数的环路分辨率的数量、并且该值将在每个环路分辨率时间内递减、一旦该值变为零、PWM 信号引脚将进行切换。  

    这是一个25位整数值、我们无法将小数值移到此位置。 所以、这里会有一个折衷方案。

    --
    谢谢。此致、
    Jagadish。