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.

[参考译文] TMS570LS1224:TMS570 NHET 的使用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/599668/tms570ls1224-tms570-nhet-usage

器件型号:TMS570LS1224

您好!

我想使用 TMS570 NHET 模块来实现 PWM 波捕获、对下降沿和上升沿进行计数、并记录每个边沿的时间戳。这将在 TPMS 中使用。

我注意到 HET IDE 中的算法无法同时实现此函数、您能不能帮助我提供一个使用 HET IDE 完成此函数的案例、非常感谢。

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

    您好!

    所有 NHET 引脚提供基于 HR 时钟的 HR 结构、所以所有引脚可被用作 HR 输入捕捉(PCNT 或 WCAP)或者 HR 输出比较(ECMP、PWCNT、或者 MCMP)。 所有五个 HR 指令都有一个专用的 HR_LR 位(高分辨率/低分辨率;程序字段位8)、允许在 HR 模式或标准分辨率模式下运行。 默认情况下、hr_lr 位值为0、表示 HR 操作模式。

    您可以使用以下微代码对自由运行计时器进行时间戳记。 当一个下降边沿发生时、WCAP 捕捉计数器。 WCAP 数据字段(WCAP_DF)在边沿发生的循环之后的循环中进行更新。

    CNT{reg=a、max=01ffffh}

    WCAP{hr_lr=high、reg=a、event= fall、pin=0、data=0}

     

    但是、对于一个引脚、只允许在 HR 模式下运行一条指令(位清零)。 我们可以设置 HR 共享控制寄存器(HETHRSH)中的位、以允许两个 HR 结构共享同一个引脚以进行输入捕捉。 如果这些位被置位、HR 结构体 N 和 N+1连接到引脚 N。在这个结构中、引脚 N+1仍然可用于 GPIO。

     

    如果我们设置 HETHRSH[1:0]= 1、HR 结构0 (HR0)和 HR 结构1 (HR1)将共用引脚 HET[0]:

     

    CNT{reg=a、max=01ffffh}

    WCAP{hr_lr=high、reg=a、event= fall、pin=0、data=0}

    WCAP{hr_lr=high、reg=a、event= rise、pin=1、data=0}//pin=1意味着使用 HR1、HR0和 HR1共享 pin0

     

    引脚0上的输入波形上升沿发生时、第2个 WCAP 捕获计数器的上升沿。

    此致、