D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案

在线采集靠USB实时上传,但遇到雷击、开关浪涌等瞬态事件,USB带宽和延迟根本来不及。D223的SRAM硬件记录仪就是为了解决这个问题而设计的。


一、为什么需要SRAM记录仪?

D223有两种工作模式note_63:

c 复制代码
enum _deviceWorkMode {
    _deviceWorkMode_Stop = 0x00,          // 空闲停止
    _deviceWorkMode_sendBusy,             // 发送忙
    _deviceWorkMode_sramRecord,           // SRAM记录中
    _deviceWorkMode_getSramRecord,        // 读取SRAM记录
    _deviceWorkMode_onlineRecord,         // 在线实时采集
    _deviceWorkMode_adcCalib = 0xff,      // ADC校准模式
};

在线采集模式:FPGA控制AD7606采样 → STM32通过QSPI读取 → 双缓冲打包 → USB实时上传。适合连续监测,但受USB带宽限制。

SRAM记录仪模式:FPGA直接将ADC数据写入板载SRAM,不走USB,等采集完成后再由STM32读取上传。适合捕捉瞬态事件。

核心区别在于:SRAM记录时数据路径不经过STM32和USB,完全由FPGA硬件控制,响应速度极快。


二、SRAM记录仪的工作流程

2.1 配置阶段

上位机设置以下参数后点击"开始采集"word_5:

  • 采样率
  • 采集时间(ms)
  • 通道使能状态
  • 是否使用DIN外部触发

这些参数通过USB写入采集卡,FPGA进入待触发状态。

2.2 触发阶段

SRAM记录仪支持外部DIN触发功能word_5:

  • DIN输入为PNP型
  • 需要NPN型数字接口对其接地边沿触发
  • 最简单的NPN接口:通过一个开关和数字输入的GND短接
  • 板载DIN输入灯亮的瞬间触发记录仪开始采集

D223固件中,dio_tim_task()每1ms扫描8路DI输入状态,检测到配置的触发边沿后调用fun_dinTrig_StartSramRecord()启动记录word_4。

2.3 采集阶段

FPGA按照预设的采样率和采集时间进行采集,数据直接写入SRAM。采集过程中,"已采集时间"按秒累加显示word_5。

2.4 读取阶段

采集完成后,STM32切换到读取SRAM模式note_63:

c 复制代码
// 1. 通知FPGA停止记录
_regA2FMap.REG_SRAM_WORK_STATE1 = 2;
fpga_write_register();

// 2. 循环读取SRAM并通过USB上传
while(未读完) {
    QSPI_ReadDatas_DMA(0xEB, 6, ...);  // 从SRAM读取数据
    usb_sendMsg(...);                   // USB上传
}

QSPI命令码0xEB用于读取SRAM记录数据,使用24位地址、6个dummy cyclenote_63。

SRAM记录的数据可以多次读取,不容易因为误码导致数据丢失word_5。


三、采样率档位与资源限制

SRAM记录仪的采样率受通道数和功能使能情况影响word_5:

条件 最大SRAM采样率
开启1~2个ADC通道 35K
开启3~4个ADC通道 30K
开启>4个ADC通道 25K
同时开启DAC或PWM功能 10K

注意:以上为DABL-7606的SRAM档位限制。D223由于采用FPGA+STM32H743架构,SRAM采样率能力有所提升,但具体档位以最新固件为准word_5note_63。


四、SRAM记录仪 vs 在线采集对比

对比项 在线采集 SRAM记录仪
数据路径 FPGA→QSPI→STM32→USB FPGA→SRAM(不经过STM32)
触发方式 软件启动 软件启动 / 外部DIN硬件触发
响应延迟 受USB调度影响 硬件触发,纳秒级响应
数据上传 实时连续上传 采集完成后批量上传
适合场景 连续监测 瞬态事件捕获(雷击、浪涌等)
多次读取 不支持 支持,可反复读取

五、应用场景

场景1:变电站雷击波形捕获

客户需要在变电站捕捉雷击波形,USB实时传输来不及。使用SRAM记录仪模式:

  1. 上位机配置采样率和采集时间
  2. 使能DIN外部触发
  3. 雷击发生时,DIN信号触发FPGA开始记录
  4. 记录完成后,STM32读取SRAM数据上传
  5. 波形完整保存,触发前后数据均可获取

场景2:开关浪涌捕捉

机械开关动作时产生的浪涌波形持续时间极短,通过SRAM记录仪的外部触发功能可以精确捕捉。

场景3:长时间离线记录

采集卡与上位机断开连接时,数据可以先存入SRAM,后续再连接上位机读取word_5。


六、当前功能状态

注意:SRAM环形缓冲自动捕获异常事件功能目前尚未开发note_244。当前SRAM记录仪支持的是单次触发记录模式,不支持自动循环捕获异常事件的环形缓冲模式。


七、总结

D223的SRAM硬件记录仪通过FPGA直接写SRAM的方式,绕过了USB带宽瓶颈,实现了对瞬态事件的精确捕获。配合外部DIN触发功能,可以满足雷击、浪涌等微秒级事件的波形记录需求。

核心设计思路:在线采集解决"看实时",SRAM记录仪解决"抓瞬间",两种模式互补。


下篇预告:《D223的标定系统与FRAM非易失存储:两点校准如何实现0.01%FSR精度》

相关推荐
wuyk5552 小时前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
创界工坊工作室2 小时前
24-基于单片机的仓鼠养殖环境监控系统设计
stm32·单片机·嵌入式硬件·proteus
碧海银沙音频科技研究院2 小时前
基于炬芯ATS录音卡BLE控制协议
人工智能·嵌入式硬件·算法·语音识别
阿里云云原生2 小时前
HiRoute 开源:让 Agent 更能干,让模型订阅更耐用
开源
分布式存储与RustFS2 小时前
rclone 与 mc mirror:S3 对象存储同步,限速、过滤、断点续传实测对比
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
星夜离尘562 小时前
FPGA 定点数缩位:截断、舍入与饱和,避免溢出回绕
fpga开发·定点数
comyccccc3 小时前
PCB走线设计秘籍:从载流到3D预览全解析学习笔记
单片机·嵌入式硬件
俊基科技3 小时前
A-59 工业级 AI 语音处理模组:100 dB 消回音 + 神经网络降噪的工程实践
嵌入式硬件·神经网络·硬件开发·语音模块·回音消除·拾音降噪
威嵌神州4 小时前
10.1 寸集成加密专网加固平板|外场加密通信硬件基线选型评估
人工智能·嵌入式硬件·平板
星夜离尘564 小时前
I²C总线卡死:先分清SCL拉低、SDA拉低,再谈9个时钟恢复
fpga开发·verilog·i2c