跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++

FPGA 日志记录与参数存储系统设计

针对 FPGA 设备设计了日志及参数文件存储方案。采用 W25Q256JVEIQ Flash 芯片,通过 SPI 总线通信。系统支持双缓存日志循环写入,确保断电数据不丢失,寿命设计满足 10 年要求。同时提供上位机读写擦除接口及多台设备参数管理功能。协议定义清晰,包含状态寄存器及 AC 参数规范。实测验证了日志记录、Flash 操作及信息查询功能的稳定性。调试中需注意片选信号时序控制。

嘘发布于 2026/4/12更新于 2026/7/2236 浏览
FPGA 日志记录与参数存储系统设计
FPGA 日志及参数文件存储设计

功能需求

  • 支持设备运行日志记录(设备至少使用 10 年);
  • 支持上位机读/写/擦除 Flash;
  • 支持本地信息查询;
  • 支持多台设备参数管理。

系统设计

  • Flash 型号:W25Q256JVEIQ
  • 总线:SPI
  • 时钟速率:25MHz
日志功能

上电默认不开启日志功能,防止上一次运行日志被意外擦除。单条日志长度为 256 字节,每分钟记录一次。采用两个 32KB 空间进行存储,每存满一个 32KB,擦除另一个 32KB 继续记录。这种双缓存设计保证了在擦除过程断电时,仍有日志可查。

日志内容主要包含回复帧信息及运行时间。按照 10 年寿命设计计算:擦除一次记录日志条数为 64K(B)/256(B) = 256(条)。若频率为 1 分钟,则擦除一次可记录 256 分钟。连续擦除 10 万次可记录时长约为 48.7 年。

上位机参数存储

上位机读取 flash 模块状态,当模块处于空闲状态时可进行 flash 的读/写/擦除操作。

本地参数查询

上位机下发信息查询帧,设备发送信息回复帧。

多台设备参数管理

设备通过信息查询帧自动进行设备 ID 分配,上位机可指定其中一台或者广播方式进行参数管理。

系统架构示意图

系统框图

系统连接框图

通信协议定义

具体协议细节见相关文档。

Flash 芯片

引脚定义

引脚定义图

Flash 相关指令
Read Manufacturer / Device ID (90h)

指令时序图

响应数据图

Write Enable (06h)

每次进行页编程、擦除、写状态寄存器都要先执行该指令。

指令时序图

Sector Erase (20h)

1 Sector = 4KB

指令时序图

32KB Block Erase (52h)

指令时序图

64KB Block Erase (D8h)

指令时序图

Page Program (02h)

1 Page = 256B

指令时序图

Read Data (03h)
Read Status Register

指令时序图

Write Status Register

指令时序图

状态寄存器定义

寄存器位定义

状态位含义

其他状态位

AC 参数

AC 参数表

AC 参数表

AC 参数表

测试结果

日志功能

测试截图

上位机读/写/擦除 Flash

测试截图

本地信息查询及多台设备参数管理

测试截图

调试心得

该芯片每次指令操作开始都要拉低片选信号,单条指令完成后需拉高片选信号,否则 Flash 无法正常工作。

目录

  1. FPGA 日志及参数文件存储设计
  2. 功能需求
  3. 系统设计
  4. 日志功能
  5. 上位机参数存储
  6. 本地参数查询
  7. 多台设备参数管理
  8. 系统框图
  9. 通信协议定义
  10. Flash 芯片
  11. 引脚定义
  12. Flash 相关指令
  13. Read Manufacturer / Device ID (90h)
  14. Write Enable (06h)
  15. Sector Erase (20h)
  16. 32KB Block Erase (52h)
  17. 64KB Block Erase (D8h)
  18. Page Program (02h)
  19. Read Data (03h)
  20. Read Status Register
  21. Write Status Register
  22. 状态寄存器定义
  23. AC 参数
  24. 测试结果
  25. 日志功能
  26. 上位机读/写/擦除 Flash
  27. 本地信息查询及多台设备参数管理
  28. 调试心得
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ 继承机制详解:复用与扩展
  • macOS 终端隐藏用户名但保留目录与 Git 分支(Oh My Zsh + agnoster)
  • 前端面试核心考点与高频题库整理
  • AIGC 微电影《编钟》制作全流程复盘与工具解析
  • 车载网关 GW 连接外部 IP Tester 技术解析
  • Python 批量解析 EML 邮件文件存成 txt 利用 AI 辅助生成年终总结
  • 基于 Java 与高德地图 API 的县域烟花销售点盘点实践
  • C++ 二叉搜索树详解:增删查改与 Key/Value 场景实现
  • AI 大模型开发转行指南:学习路径与求职建议
  • Linux 网络基础:局域网通信与跨网段传输详解
  • 前端面试核心考点解析:ES6 跨域 Vue3 响应式与大数据渲染优化
  • 5 款免费 AIGC 检测工具推荐及降重技巧
  • Java 注释规范原则与基本要求
  • Claude Code 命令行工具安装与环境配置指南
  • 在 AutoDL 上利用 LLaMA-Factory 微调 GPT-OSS-20B 模型(LoRA)
  • Python 零基础学习路线:如何达到自主接单与就业水平
  • Java Selenium 自动化测试基础教程
  • CSS 元素显示模式详解:块级、行内与行内块
  • .NET 8 跨平台自动化开发实战:从设备监控到路径规划
  • MySQL 权限管理与 C/C++ 客户端开发实战

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online