zhoulinzhang 发表于 2012-9-19 12:56:23

电网周期分12等份实现疑惑

always @(posedge SYS_CLK )
begin
    clk1<=Sync_CLK;
    clk2<=clk1;
    clk3<=clk2;
    if((clk3&clk2&(~clk1))==0)//周期下降沿检测
    begin
    SyncPoint=SyncPoint+1;    //电网周期记数
end
else                                    //周期下降沿检测,周期到
begin
    SyncPeriodVal=SyncPoint;   //存储周期值
   alfa_0Deg=0;      //0
      alfa_180Deg=SyncPeriodVal>>1;//计算180度
      alfa_90Deg=SyncPeriodVal>>2;//90
      alfa_30Deg=alfa_90Deg/3;   //30
      alfa_60Deg=alfa_30Deg<<1;   //60
      alfa_120Deg=alfa_60Deg<<1;   //120
      alfa_150Deg=alfa_30Deg+alfa_120Deg;   //150       
      alfa_210Deg=alfa_180Deg+alfa_30Deg;//210
      alfa_240Deg=alfa_120Deg<<1;   //240
      alfa_270Deg=alfa_240Deg+alfa_30Deg;   //270
      alfa_300Deg=alfa_270Deg+alfa_30Deg;   //300
      alfa_330Deg=alfa_300Deg+alfa_30Deg;   //330
   SyncPoint=0;//电网周期记数清0

end

程序是想电网下降沿计算出周期,30度,60度等,非下降沿电网周期+1;疑问有1.这种不停赋值计算移位或者除是否可行,2.周期计算是否正确.3.周期下降沿检测是否正确?
希望各位高手赐教.谢谢

zhoulinzhang 发表于 2012-9-19 13:28:11

欢迎大家回帖啊

zhoulinzhang 发表于 2012-9-20 08:51:43

欢迎大家指点
页: [1]
查看完整版本: 电网周期分12等份实现疑惑