上周有位做跌落试验台的工程师来找我,说设备一天真正要记的事件就那么几十次,可硬盘一天就写满,回看的时候还得从几百 GB 的连续波形里一点点找那一下。我问他前端有没有做触发,他说做了,但一用就丢点,最后干脆改回连续采集。问题其实不在"要不要触发",而在于触发这件事被当成了一个开关,而不是一条链路------预触发缓冲够不够深、判据放在哪一层、多通道的时刻对不对得齐,这三件事没算清,触发就是个添乱的东西。
触发采集省的到底是什么
如果一天里真正值得记录的事件只有几十次,连续记录就是把绝大部分带宽和存储花在"什么都没发生"的时间上。触发采集的做法是:数据平时在缓冲里循环覆盖、不落盘,判据一旦成立,才把触发点前后的一段整体写出。省下的是存储寿命与检索成本,更值钱的是每条数据自动带上时间戳和通道标签,从"一堆波形"变成了"一条条可检索的记录"。
判断场景适不适合,看两件事:事件是否离散、判据是否可复现。冲击、跌落、瞬态过载、声发射、局部放电这类偶发且短促的现象几乎天生适合触发;温漂、腐蚀这类连续缓慢的过程,老老实实连续记录反而省心。
预触发:没有环形缓冲就没有"起因"
这是最容易被忽略、代价又最大的一环。事件发生的那一刻才启动采集,只能看到结果,看不到起因------轴承已经报了故障,之前的振动趋势却没了。
所以前端必须一直在采、一直在写,只是写进环形缓冲:新数据覆盖最老的数据,判据成立时把缓冲里已有的历史数据连同触发后的数据一起打包。这笔账是可以算的:预触发数据量等于预触发时间乘采样率乘通道数乘位深。按这个乘出来,就知道缓冲深度留多少、DDR 够不够、打包时间会不会顶到下一段数据。常见的错误是按"大概够用"估个数,事件真来时才发现预触发区已经被覆盖,或者打包还没写完新数据就涌进来,两件事叠加就是丢点。
判据放硬件还是放软件
一句话说清:能不能微秒级响应、要不要确定性,决定判据放在哪一层。
硬件判据,比如片内比较器、阈值逻辑、窗口判决,优势是响应时间确定、抖动小、不依赖上位机调度,代价是判据形式简单,改一次就要改配置。软件判据的优势是表达能力强、多条件组合方便,代价是响应时间随操作系统调度和总线延迟浮动。
合理的分工是:硬件负责"是不是",软件负责"是哪一类"。硬件先把事件圈住、打上时间戳,软件再对数据做分类、统计与告警。把模式识别塞进硬件,配置会僵化;把越限判断交给软件轮询,触发时刻又会跟着调度抖。
多通道同步难的是哪一步
多通道系统里,难的从来不是"每个通道都能触发",而是"触发之后每个通道的数据在时间上对得齐"。
第一层是采样同步:所有通道共用同一个采样时钟、同一组触发沿,通道间的固定偏差来自时钟分配与走线,能校准,但不能靠软件拼。第二层是判决同步:判据在片内对所有通道同时生效,不能一路先判、另一路后判。第三层是时间戳同步:触发时刻由硬件打戳,多台设备之间还要有共同时基,才能把一次试验的多条记录拼回同一条时间轴。
第一层和第三层最容易被"看起来能跑"掩盖------真放到相位差与传播时延的分析里,几十个采样点的偏差足以带偏结论。

阈值、回差与死区怎么调
阈值附近永远有噪声。只设一个阈值、不留回差,信号在阈值附近抖动就会连续触发,一次事件变成几十条记录,后处理量成倍上升。
工程上的三件套是:回差,让触发与复位用两个不同的门槛;死区时间,在触发之后锁一段时间不允许再触发;触发计数与合并,把短时间内的多次触发并成一次事件。这三项要按事件的真实持续时间和信噪比来调:回差太小,噪声穿得过去;太大,小幅度的真实事件会被漏掉;死区短了合并不住,长了会把两次真实事件吃掉一次。
实用做法是先把判据在离线数据上回放一遍,看同一段真实事件触发几次、漏掉几次,再回设备上调参数。
触发瞬间丢点,通常丢在哪一环
丢点是结果,原因往往在触发那一刻的流量突增。排查从数据源往外走:前端 FIFO 是否在打包期间溢出;DDR 仲裁是否被多通道抢占;写盘的持续带宽是否够,因为触发后是连续写;上位机的接收缓冲与中断是否被拖住。
还有一个更隐蔽的问题:触发之后若预触发区继续被新数据写入,历史数据会在打包完成前被覆盖。解决办法要么在触发瞬间冻结预触发区,要么把缓冲做成分区切换,写侧切到新分区、读侧从容打包旧分区。
时间戳为什么比精度更该被重视
两个系统给出的幅值差一点,往往还能解释成标定差异;给出的时刻差一点,事后基本无法追回。触发采集产出的天然是事件记录,核心价值是可追溯:哪台设备、哪一路、什么时刻、由什么判据触发。
所以时间戳要由硬件在判决成立的那一刻产生,而不是等数据到了上位机再补;多设备还要有统一时基。每条记录都该把阈值、回差、死区参数一起落盘,否则几个月后回看,只剩一条不知为何被记下的波形。
几个被问得最多的问题
问:触发采集会不会漏事件?会。漏报与误报是一对矛盾,回差、死区、阈值都在做权衡,正确做法是用离线数据回放验证两边的比例。
问:多通道一定要同时触发吗?看物理过程。同一次冲击在各测点之间本来就有传播时延,强行对齐反而掩盖信息;但若各通道的判据与时刻都不同源,得到的就不是同一次事件。
一句话收尾:触发采集的功夫,一半在把判据放到最靠近信号的地方,一半在把预触发、打包与时间戳的时序账算清楚。