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

目录

简介

实现原理


简介

单次触发(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

相关推荐
Saniffer_SH13 小时前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
千寻xun13 小时前
二、实战篇-NVME SSD控制之ZYNQ实现(四)
fpga开发·nvme·nvme ssd
ALINX技术博客14 小时前
【黑金云课堂】FPGA技术教程Linux开发:系统进阶-PS DMA
linux·fpga开发
喵喵苗17 小时前
FPGA Verilog 入门避坑:寄存器与锁存器的本质区别 & 为什么时序逻辑缺 else 不会生成锁存器
fpga开发
Thinker36118 小时前
笔记本外接创新5.1声卡实战:M.2转PCIe软排线方案 vs 雷电扩展卡方案对比
fpga开发·声卡·笔记本外接pcie·显卡坞
传感器与混合集成电路1 天前
136通道采集模块SPI接口设计:协议结构、时序要求与多模块级联扩展方案
fpga开发
I'm a winner2 天前
基于Xilinx FPGA的LVDS高速串行通信系统(四)--数据测试【文末源码】
fpga开发
ALINX技术博客2 天前
AMD MoP 封装策略解读 | HBM 大热,为何 AMD Versal 系列反选 LPDDR5X?
fpga开发·fpga·amd·versal
zlinear数据采集卡2 天前
从万用表的6步调零到硅片级微秒自校准:硬核拆解LHAMP188的宽压轨到轨与零漂移实战
arm开发·stm32·单片机·嵌入式硬件·fpga开发
Rambo.xia2 天前
AXI-Stream反压与背靠背传输——TREADY反压丢帧、TDEST路由错误、反压死锁,流式数据一反压就出事
fpga开发