Other Parts Discussed in Thread: CONTROLSUITE
HRCAP如何用在50Hz电网过零点捕获上,是否会造成计数器过载,如何解决?
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.
HRCAP如何用在50Hz电网过零点捕获上,是否会造成计数器过载,如何解决?
您好,首先需要通过硬件电路将市电过零点信息提取出来,您可以参考一下这篇文档:采用比较器的过零检测电路
然后再用捕获模块对其上升沿或下降沿进行捕获。
是否会造成计数器过载
可以在程序中定义一个变量,计数器溢出的时候对该变量+1,来记录计数器的溢出次数
硬件上已经实现了提取市电过流点,我用HRCAP的上升沿进行捕获,按照ti给的官方例程配置的,但是不进入中断,只是看到了过载标志位为1
controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\hrcap_capture_pwm
只看到COUNTEROVF置位了,其它3个没有置位,我设置了断点,没有进入,如果采用COUNTEROVF使能中断就可以进入
现在我理解的就是用HRCAP不能用于低频率的的捕获,因为只有16位计数器,决定了脉宽宽度。是这样吗?
是的,根据 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;然后在捕获到上升沿或下降沿的中断中计算总的计数值。