TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28034: HRCAP如何用在50Hz电网过零点捕获?

Part Number:TMS320F28034Other Parts Discussed in Thread:CONTROLSUITE

HRCAP如何用在50Hz电网过零点捕获上,是否会造成计数器过载,如何解决?

Yale Li:

您好,首先需要通过硬件电路将市电过零点信息提取出来,您可以参考一下这篇文档:采用比较器的过零检测电路

然后再用捕获模块对其上升沿或下降沿进行捕获。

shouxin chen 说:是否会造成计数器过载

可以在程序中定义一个变量,计数器溢出的时候对该变量+1,来记录计数器的溢出次数

,

shouxin chen:

硬件上已经实现了提取市电过流点,我用HRCAP的上升沿进行捕获,按照ti给的官方例程配置的,但是不进入中断,只是看到了过载标志位为1

,

Yale Li:

能否告知一下您参考的是哪个例程?

,

shouxin chen:

controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\hrcap_capture_pwm

,

Yale Li:

shouxin chen 说:只是看到了过载标志位为1

您是指 HCIFR 中的 COUNTEROVF 这个位吗?

有检查过该寄存器上其它位的值吗?RISEOVF、RISE、FALL这三个位。

,

shouxin chen:

只看到COUNTEROVF置位了,其它3个没有置位,我设置了断点,没有进入,如果采用COUNTEROVF使能中断就可以进入

,

Yale Li:

根据您的描述,并参考TRM 400页:5.3.3 HRCAP Interrupts 的 Figure 5-9. Interrupts in HRCAP Module,HRCAP模块并没有捕获到信号。

建议您再检查一下与HRCAP相关的管脚配置,以及输入信号。

并且希望您再检查一下这4个寄存器的值来佐证这个推测:

,

Yale Li:

您好,我可能找到溢出的原因了,您看一下这两个帖子:

https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/181430/f28035-hrcap-50hz

https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/192686/hrcap-pwm

,

shouxin chen:

谢谢,我先学习一下再请教您

,

shouxin chen:

现在我理解的就是用HRCAP不能用于低频率的的捕获,因为只有16位计数器,决定了脉宽宽度。是这样吗?

,

Yale Li:

是的,根据 TRM Figure 5-8. HRCAP High-Resolution Mode Operating Logic 以及 datasheet 8.9.12.1.1 High-Resolution Capture (HRCAP) Timing Requirements,在120MHz下,16-bit counter (HCCOUNTER)的最大计数时间是 65536 * 8.33ns 约等于 0.55ms,即使是在MAX捕获时钟下,最大计数值也仅为 65536 * 10.204ns 约等于 0.67ms,远小于工频电的一个周期20ms。

我给您提供一个思路,其实也是我最开始的回答:

您可以定义一个变量,HCCOUNTER每溢出1次,在溢出事件中断中将该变量+1;然后在捕获到上升沿或下降沿的中断中计算总的计数值。

,

shouxin chen:

感谢指导

,

Yale Li:

客气了,很高兴能帮助到您

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28034: HRCAP如何用在50Hz电网过零点捕获?
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1