基于FPGA的日志及参数文件存储设计

基于FPGA的日志及参数文件存储设计

基于FPGA的日志及参数文件存储设计

功能需求

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

系统设计

  • Flash型号:W25Q256JVEIQ
  • 总线:SPI
  • 时钟速率:25MHz

日志功能

  • 上电默认不开启日志功能(防止上一次运行日志被擦除)
  • 单条日志长度为256字节,每分钟记录一次
  • 使用两个 32KB 空间进行存储,每存满一个 32KB,擦除另一个 32KB 继续记录(双缓存设计可以保证在擦除过程断电,也有日志可查)
  • 日志内容:回复帧信息(包含运行时间)
  • 寿命计算(按照10年寿命来设计):
    • 擦除一次记录日志条数:64K(B)/256(B) = 256(条)
    • 若频率为 1分钟,则擦除一次可以记录 256 分钟
    • 连续擦除10万次可记录时长:100000*256(分钟)/60(分钟)/24(小时)/365(天) = 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参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试结果

日志功能

在这里插入图片描述

上位机读/写/擦除 Flash

在这里插入图片描述

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

在这里插入图片描述

调试心得

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

Read more

面向无人机和智能手机的YOLOv8模型改进实战—棉叶病虫害多尺度目标检测

面向无人机和智能手机的YOLOv8模型改进实战—棉叶病虫害多尺度目标检测

一、引言        YOLO(You Only Look Once)作为一种非常流行的目标检测算法,以其高效和准确性而闻名。YOLOv8作为这一系列算法较新颖的版本,相较于其前身在准确性、速度和模型大小方面都有所改进。博主将分享1篇发表在《Industrial Crops and Products》(中科院1区TOP)的“CPD-YOLO: A cross-platform detection method for cotton pests and diseases using UAV and smartphone imaging”,说明YOLOv8模型在跨平台(无人机+手机)场景下的棉花病虫害多尺度目标检测中的应用。主要改进点如下: (1)特征融合改善:构建Bi-FPN +RepTransformer网络,实现多尺度特征的高效融合与推理加速。 (2)检测头增加:设计4头动态检测网络,赋予模型多维动态感知能力。 (3)损失函数优化:

ubuntu上安装OpenClaw并接入飞书机器人

ubuntu上安装OpenClaw并接入飞书机器人

大家好,我是一根甜苦瓜。今天来分享如何在本地安装openclaw并接入飞书,实现让AI给我打工。 最近AI圈更新太快了,从github copilot到cursor 到claud code ,再到codex,然后是最近火爆了的小龙虾(OpenClaw),可谓是百花齐放,应接不暇。本人也是github copilot+codex的深度用户,确实不错,所以最近打算折腾一下小龙虾,顺带教大家如何把智谱GLM 接入OpenClaw。 1. 前言 1.1 什么是openclaw 2026 年开年,AI 圈突然冒出一匹“野生黑马”——OpenClaw。这个开源个人 AI 助手项目在 GitHub 上只用了 两周时间就狂揽 15 万 Star,速度堪比开挂。 简单说,它就像给你配了一个 24 小时不下班的数字打工人: 把它部署在自己的电脑或服务器上,它就能接入 WhatsApp、Telegram、

程序员的自我修养:用 AR 眼镜管理健康

程序员的自我修养:用 AR 眼镜管理健康

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 一、从一次体检说起 * 二、为什么是 AR 眼镜? * 三、技术选型:CXR-M SDK vs 灵珠平台 * 四、项目架构设计 * 五、从配置开始:Gradle 和权限 * 5.1 添加 SDK 依赖 * 5.2 权限配置 * 六、数据层实现 * 6.1 数据模型 * 6.2 数据仓库 * 七、SDK 封装层 * 7.1 发送提醒到眼镜 * 7.2 TTS 语音播报

ios 26的tabbar 背景透明

if#available(iOS 13.0, *){             let appearance = UITabBarAppearance()             appearance.configureWithTransparentBackground()             // 移除阴影和边框             appearance.shadowColor = .clear             appearance.shadowImage = UIImage()             appearance.backgroundImage = UIImage()             // 设置标准外观             tabBar.standardAppearance = appearance             // iOS 15 需要设置 scrollEdgeAppearance             if#available(iOS 15.0, *) {                 tabBar.sc