1.2 过零检测电路的设计

过零信号对系统相位捕捉的精准性影响较大,系统设计时采用软硬件结合的办法实现对过零信号的捕捉。获取过零信号实质上是为了给系统提供一个同步信号,即每次信号过零时启动A/D转换。在本设计中,过零检测电路采集A相电压每个周期的过零点作为系统产生的中断信号CAP1,使中断服务程序开始执行,图2 为电压信号过零检测电路。

一种基于DSP2812实现对电网电压软件锁相的设计概述

图2 中,在比较器芯片LM339 的输出端选择加装了上拉电阻,主要是考虑到整个电路对驱动、功耗和速度的要求。电阻R7和R8构成一个滞回比较器,输出信号通过反馈电阻R7 改变同相端的参考电压,以消除输入信号正反过零产生的抖动。

1.3 过零捕捉的软件实现

过零检测主要解决的是采样同步问题,当检测到的电压信号由负到正过零时,比较器芯片LM339 输出端产生上升沿,将此信号输入到DSP2812 事件管理器EVA 的引脚CAP1。引脚CAP1 在系统初始化程序中预设置为上升沿触发中断,因此当过零信号到来时,CAP1中断子程序开始执行,开启事件管理器EVA 的TIMER 周期中断,周期设置为驻T/128 s(每周期采样128 个点),触发A/D 模块采样。其中,驻T 为CAP1 捕捉到的两个过零检测信号上升沿的间隔时间,等于电网待测信号的周期T,图3 为过零中断程序的流程。

一种基于DSP2812实现对电网电压软件锁相的设计概述

DSP 的捕获单元CAP隶属于事件管理器,它能够捕捉到CAP 外部引脚的跳变,当捕捉到对应引脚发生特定的跳变时,触发相应的中断,并将定时器的值存入一个两级深的FIFO堆栈中。本方案设计每16 点启动一次数据分析,同时投出一次控制量,这个过程为一个更新周期,判断标志ctrl 用来检测是否进入新的更新周期,以判断是否需要启动新一轮数据分析和投出控制量。标志位dft用来判断当前数据分析状态,为0 时表示重新初始化数据分析操作,为1 时表示数据分析操作完毕,为2 时表示允许启动新一轮数据分析,为3 时表示当前正在进行数据分析。图4 给出了捕获单元的软件流程。

1.4 过零信号的软件滤波

CAP1 捕捉到的两个过零信号上升沿的间隔时间,即两个CAP1中断事件的间隔时间,等于电网待测信号的周期T。TIMER 在系统初始化后不断计数,然后在CAP1 的中断服务程序中记录两个CAP1 中断事件之间的TIMER 计数值N,可计算出T。同时,采用软件滤波来判断CAP1信号是否为毛刺干扰,其过程如下:电网基波频率波动一般不超过依0.2 Hz,当产生CAP1中断时,可以计算本次与前次的计数差值,如果远小于工频周期计数差值,则认为捕获的中断为干扰产生,如该中断非连续两次以上出现,则中断返回。同时对产生的中断次数进行累加,达到设定范围时对电压过零时刻正弦表格的指针位置进行判断,调整正弦表格指针地址,实现过零指针的校准。