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精度》

相关推荐
zcmodeltech1 小时前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米1 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件
云泽8081 小时前
深入浅出 STM32(十一):从寄存器映射到 HAL 库位操作源码详解
stm32·单片机·嵌入式硬件
哥不想学算法2 小时前
STM32零基础教程(六):ADC、I2C、SPI与DMA
stm32·单片机·嵌入式硬件
szxinmai主板定制专家2 小时前
基于 RK3588 + Xilinx Kintex-7 FPGA 异构工业主控板设计方案
arm开发·人工智能·嵌入式硬件·fpga开发·zynq
我是一棵无人问荆的小草2 小时前
LM393DT比较器输出
单片机·嵌入式硬件
云泽8083 小时前
深入浅出 STM32(十三):从施密特触发器到四种输入配置的底层逻辑
stm32·单片机·嵌入式硬件
FIT2CLOUD飞致云3 小时前
学习笔记丨MaxKB原生工作流实现AI PPT生成
人工智能·ai·开源·智能体·maxkb
Rambo.xia4 小时前
RFSoC高速采集卡设计项目:一块板卡串联综合优化5大核心技术
单片机·嵌入式硬件·fpga开发