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.

[参考译文] CCS/RM48L952:基于 HALCOGEN 示例的 HET 定时器

Guru**** 2024750 points
Other Parts Discussed in Thread: RM48L952, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/792671/ccs-rm48l952-het-timer-based-on-halcogen-example

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

工具/软件:Code Composer Studio

您好!

问题1)

我使用的是 RM48L952、我已经了解了 HALCOGEN 提供的用于生成基于 HET 计时器的 PWM 的示例。 我有点困惑的是,hetInt()被调用一次(它将在指定的引脚上启动 PWM 生成),然后您直接进入无限循环。 我已经阅读了 HET 计时器的文档、因此我假设我知道该独立计时器功能的行为。  

我想区分一下如何使 HET 计时器(这里是指定的 PWM 输出引脚)在应用程序运行期间根据应用程序特定的上下文运行。 它类似于启动或停止 PWM。 我假设我可以意识到、当我切断 HET 计时器 halcogen 示例中的 memcpy 指令时、该示例会将微指令加载到 HET RAM 中以便执行。 但是、我想与 TI 工程师一起验证这一点、并获得反馈或建议、如果可能的话、如何以更巧妙的方式实现这一点。

问题2)

当我想将其中的几个引脚用作简单的 GPIO、并将其他引脚用于 PWM 信号生成或输入捕捉时、如何提供 HET 计时器特定引脚的纯隔离? 对于 GPIO、有多个寄存器、例如方向、输出/输入、开漏/拉、设置和 CLR、以指定行为及其值。 但是、我们假设专用引脚配置为 GPIO、但 HET 程序也使用该引脚、HET 程序将在同一引脚上生成 PWM 信号。 是否发生了一些重叠现象、或者由于硬件本身进行了一些一致性检查、这种情况是否永远不会发生?

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

    您好、多路复用器、

    het.c 中的 pwmStop()和 pwmStart() 可被用于在 NHET 引脚上停止和启动 PWM

        void pwmStart (hetRAMBASE_t * hetRAM、uint32 PWM);

        void pwmStop (hetRAMBASE_t * hetRAM、uint32 PWM);

    参数 PWM 是 HALCoGen 中定义的 PWM 数。

    这两个函数用于设置或清除 PWCNT 指令的控制位

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

    您好!

    感谢您的支持、但我不是指 het.h 中的 API 我是说 halcogen 生成的 HET 参考示例只有两条语句... HETINIT 和无限循环。 根据 halcogen 配置的不同、在 hetinit 调用后、PWM 信号生成将自动开始工作。因此、在我可以调用 pwmstop 之前、有一个很小的时隙、可以在输出上看到 PWM 信号。 在运行时,我必须先停用它,然后再根据应用程序环境再次激活它...这是第三方访问程序在安全关键型应用程序中永远不会接受的行为... 因此、这两个问题仍然没有解决

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

    当 N2HET 全局配置寄存器(HETGCR)中的打开/关闭位(至)被清零时、定时器程序停止执行。 因为 TRM 表示在当前计时器程序循环完成之前自动延迟关闭。 关断不会影响定时器 RAM、ALU 寄存器或控制寄存器的内容。 关断会复位所有标志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    QJ Wang、您好!

    感谢您的回复、这澄清了大部分内容