今天弄FPGA捕捉50Hz的方信号的下降沿和上升沿进行反向处理发现问题,有时捕捉不到(我的FPGA使用的24M晶振)有遗漏现象不知道为什么?前几天做一次简单的实验好使呀!今天不知道为什么怎么也不行总有遗漏的添加了补充判断强了一些但是还是不行。代码如下:
输入方波位gpi
if(gpir==0&&gpi==1)
out<=0;
if(gpir==1&&gpi==1)
out<=1;
gpir<=gpi;
这是最简单的呀!添加缓冲
if((gpir==0&&gpi==1)||((gpirr==0&&gpi==1))
out<=0;
if((gpir==1&&gpi==1)||(gpirr==1&&gpi==1))
out<=1;
gpirr<=gpir;
gpir<=gpi;
丢失情况如下:这是丢失下降沿,还有丢失上升沿的情况。
gpi |---| |---| |---| |---| |---| |
| |--| |---| |---| |---| |---|
out | |---| |-----------| |---| |---| |
|---| |--| |---| |---| |---|
这样改了以后强了一些,但是还是有出现捕捉不到的情况。
下午又莫名其妙的好了。不知道为什么难道是示波器有毛病??不解呀!