请教各位大神:
我最近做FPGA采集100MHz的信号,另一路同步触发。但触发信号上升沿在40ns左右,最后导致信号波形左右晃动。
请问在FPGA中如何处理可以准确采集到触发信号,排除左右晃动的情况?
目前程序如下:
//触发信号提取
always @(posedge clk100)
begin
TRIG_reg <= {TRIG_reg[5:0],TRIG};
end
//通道时间计数器
always @(posedge clk100)
begin
if(TRIG_reg == 6'b000001)
begin
Delay1_reg <= 0;
end
else if(Delay1_reg == 'D8_388_605)
begin
Delay1_reg <= 'D8_388_605;
end
else
begin
Delay1_reg <= Delay1_reg + 1'b1;
end
end
也试过触发标志位的方式,效果相同,程序如下:
//触发信号提取
always @(posedge clk100)
begin
TRIG_d <= TRIG;
TRIG_dd <= TRIG_d;
TRIG_up <= TRIG_d && (!TRIG_dd);
end
//通道时间计数器
always @(posedge clk100)
begin
if(TRIG_up)
begin
Delay1_reg <= 0;
end
else if(Delay1_reg == 'D8_388_605)
begin
Delay1_reg <= 'D8_388_605;
end
else
begin
Delay1_reg <= Delay1_reg + 1'b1;
end
end
因为有人的程序很稳定,就不知道咋处理的。
所以请教下是否FPGA内部啥地方的配置,可以解决这类问题呢?(FPGA型号是EP1C6Q240C8)
此帖出自
小平头技术问答
信号,一个办法用内部PLL!
一周热门 更多>