【数据采集专栏】触发模式的设计

目录

简介

实现原理


简介

单次触发(FiniteTrig):在该触发方式下,仅在搜索到指定的触发条件时,才进行一次触发和采集,然后停止。该触发方式适用于只需要单次采集特定事件并对采集结果进行分析的情况;

正常触发(NormalTrig):在该触发方式下,仅在搜索到指定的触发条件时,才进行触发和采集。该触发方式适用于低重复率信号;

自动触发(AutoTrig):在该触发方式下,如果未到指定的触发条件,将强制进行触发和采集以显示波形。该触发方式适用于未知信号电平或需要显示直流的场景

实现原理

FiniteTrig 单次触发

抓单次瞬态脉冲

抓上电 / 掉电波形

抓单次异常事件

色选机:单次物料测试

NormalTrig 正常触发

低速率、间歇性信号

随机脉冲

不想看到空波形

没触发就不采集,节省资源

AutoTrig 自动触发

调试未知信号

直流信号(不会触发边沿)

示波器必须一直显示波形

找不到触发时强制刷新

module trig_ctrl

(input wire clk,

input wire rst_n,

input wire trig_cond, // 触发条件满足

input wire 1:0 trig_mode,// 00:Finite 01:Normal 10:Auto

output reg capture_en // 采集使能

);

localparam FINITE = 2'b00;

localparam NORMAL = 2'b01;

localparam AUTO = 2'b10;

reg 1:0 state;

reg 23:0 timeout_cnt; // 自动触发超时计数器

always @(posedge clk or negedge rst_n) begin

if(!rst_n) begin

state capture_en timeout_cnt

end

else begin

case(state)

0: begin // 等待触发

timeout_cnt

if(trig_cond) begin

// 检测到真实触发

capture_en state

end

else if(trig_mode == AUTO && timeout_cnt > 1000000) begin

// 自动触发:超时强制采集

capture_en state

end

end

1: begin // 正在采集

capture_en

case(trig_mode)

FINITE: state NORMAL: state AUTO: state

endcase

end

2: begin // 单次触发完成,停止

capture_en

end

endcase

end

end

endmodule

相关推荐
星夜离尘563 小时前
FPGA 三点中值滤波:不补零、不丢背压样本的流式实现
fpga开发
hexiaoyan82712 小时前
互联卡设计方案:504-PCIE X16 金手指 FPGA Aurora协议互联卡
fpga开发·测试载板·互联卡·fpga aurora协议·夹板连接器·板卡互联
星夜离尘5612 小时前
FPGA 二进制数如何变成十进制显示:可背压的逐位 BCD 转换器
fpga开发
匠行科技12 小时前
基于VPX架构的4路10GSPS ADC信号采集处理板
fpga开发
幻智星科技2 天前
蒙哥马利模乘FPGA优化实战
fpga开发·密码学
星夜离尘562 天前
FPGA 多通道 DAC 目标码影子寄存器:成组提交、同拍写入与快照边界
fpga开发
t_niu_niu2 天前
基于多帧累加平均的图像传感器暗电流抑制方法与 FPGA 实现
fpga开发·ram·fpn·固定模式噪声·image sensor
幻智星科技2 天前
FPGA纯硬件UDP桥接:微秒级响应新范式
c++·fpga开发·硬件架构
小蘇的FPGA2 天前
基于FPGA实现PCIe H2C过程中TAG的一种管理方法
fpga开发
威嵌神州2 天前
一台加固平板,能替掉几台现场设备?
嵌入式硬件·fpga开发·电脑·平板