求教FPGA准确采集同步信号

2019-03-25 08:35发布

请教各位大神:
我最近做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) 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
eeleader
1楼-- · 2019-03-25 12:30
< / 你的意思:用25MHZ的时钟触发采集100MHZ的
信号,一个办法用内部PLL!
eeleader
2楼-- · 2019-03-25 15:06
你的意思:用25MHZ的时钟触发采集100MHZ的
信号,一个办法用内部PLL!

一周热门 更多>