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.

[参考译文] TMS320F28035-HRCAP:用于长脉宽的 EP

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1394560/tms320f28035-ep-hrcap-for-long-pulse-widths

器件型号:TMS320F28035-TMS320F28035 EP

工具与软件:

我们在捕获"长"脉冲宽度时使用 HRCAP 功能似乎遇到了问题。 所谓的"long"是指在检测到边沿前、HCCUNTER 溢出一次或多次的脉冲。

这是我所期望的结果。

1、HCCUNTER 将在某个边沿上复位(比如说本例中为上升沿)。

2. HCCOUNTER 将开始以 SYSCLK 速率计数(就我们的示例而言)。

3.如果在 HRCOUNTER溢出 之前没有检测到边沿,就会发生计数器溢出中断。

4.我们处理中断、递增计数器、以及清除中断标志。

5.对于非常长的脉冲、我们有很多 HRCOUNTER 溢出。 我们会在它们发生时进行计数。

6.当出现边沿(示例中的下降沿)时、我们将处理下降中断、读取 HCCAPCNTFAL1寄存器、清除中断。

7.获取发生的溢出次数,乘以65536 ,然后添加 HCCAPCNTFALL 寄存器,以获得总脉冲宽度计数。

(请参阅下图)

问题似乎是、我们在对每个溢出事件上的两个 HCCUNTER 溢出进行计数、这使得我们的实际最终计数比预期大得多。

我们将在 ISR 中清除本地 HRCAP 中断标志以及 PIE 中断 ACK。

是否有人有使用 HRCAP 计算长脉冲事件的经验?

在介绍之前、我们不能使用 ECAP、因为我们的 PCB 已经准备好了。

谢谢

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

    尊敬的 Gregory:

    是实际的最终计数  

    (((2 (每次溢出事件时出现两次 HCCOUNTER 溢出)*溢出计数)* 66536)+ HCCAPCNTFALL1 + 1?

    电源质量

    (溢出计数* 66536)+ HCCAPCNTFAL1 + 1?

    您是否可以共享能够复制此内容的任何代码片段?

    此致!

    Ryan Ma