BMS 历史数据存储方案分析

Flash文件系统方案

存储芯片分析

DataFlash是大容量串行Flash存储器产品,采用NOR技术制造,写慢读快,可用于存储数据或程序代码,其产品型号为GD25Q127C。

此存储器容量为128M-b,16384K-byte;采用SPI接口进行读写,支持SPI总线模式0和3。输入数据在SCLK上升沿锁存,下降沿改变数据。128Mb容量的页面尺寸为256字节。

​ Endurance: 100,000 program/erase cycles per page minimum

FLASH磨损均衡原理及实现

什么是磨损均衡(wear leveling)?

闪存芯片磨损。每次擦除和写入闪存的一部分时,都会对其造成轻微损坏。嵌入式Flash文件系统注意到了这种危险,有时会尝试分散损坏而不是将损坏集中在一个区域中,从而延长了内存的寿命和设备的寿命。

文件系统对比

文件系统(官方链接)简介企业商用掉电安全Flash均衡磨损代码大小动态内存更新日期备注
FatFs R0.14aFATFS是一个完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。支持FAT12、FAT16 和FAT32。6.4k-13.1kbytes4*分区+22021年2月14日不支持flash均衡
DIY手写代码实现******针对特定需求,通用性差。
littlefs V2.4LittleFS是ARM工程师开发,社区活跃是(LittleFS在设计时就保证了掉电安全的问题,因此不需要每次掉电后执行修复工作)24kbytes3856 B2021年1月20日首选
spiffs V0.3.7一个用于嵌入式设备上的SPI NOR flash设备的文件系统是(SPIFFS掉电后需要调用SPIFFS_check()进行修复,否则无法保证文件系统一致性)36.94kbytes3790 B(没有堆)2017年7月17日上游开发人员不再积极支持SPIFFS。 支持256 byte页面
Yaffs2专门为NAND Flash芯片提供了一个强大的日志文件系统,Yaffs当前是版本2。Yaffs2支持2K字节的页面闪存以及512字节的页面闪存。(Yaffs1仅支持原始的512字节页面闪存,并且现在处于维护模式。)******不支持256字节页面
JFFS2JFFS2是RedHat公司基于JFFS开发的闪存文件系统,从2.4.10版本开始,JFFS2已包含在正式的Linux内核中。******挂载时间慢

参考:

  1. RTOS文件系统对比:LittleFS Vs. SPIFFS
  2. SPIFFS是什么
  3. Yaffs(Yaffs2)和JFFS2之间的比较
  4. SD卡中FAT32文件格式快速入门(图文详细介绍)
  5. SPIFFS弃用警告
  6. LittleFS Explorer

LittleFS-高完整性嵌入式文件系统

LittleFS文件系统特性:

  • 断电恢复能力-它需要强有力的保证,以确保文件系统保持一致,并将数据刷新到基础存储。
  • 损耗均衡-通常,存储支持每个块有限数量的擦除操作,因此,使用整个存储设备对于可靠性至关重要。
  • 微小的占用空间-IoT设备受ROM和RAM限制。占地面积小节省金钱。

数据格式

工作历史信息记录

每1分钟,覆盖最后500小时(30000分钟)。

保存为\history\x.asc,x = 210413173800_0(年月日时分秒)

表1b 单位分钟 工作历史信息单元数据格式

字节序号数据格式及范围数据内容说明
100~99(BCD码)时间-年表示范围2000年1月1日0时0分0秒到2099年12月31日23时59分59秒
201~12(BCD码)时间-月
301~31(BCD码)时间-日
400~23(BCD码)时间-时
500~59(BCD码)时间-分
600~59(BCD码)时间-秒
700~100SOC1%分辨率
800~100SOH1%分辨率
9~100x00~0xFFFFBattery voltage100 mV resolution
11~120x00~0xFFFFBattery current100 mA resolution
13~140x00~0xFFFFCells voltage maxV10 mV resolution
15~160x00~0xFFFFCells voltage minV10 mV resolution
17~180x00~0xFFFFCells temperature maxT0.1 C° resolution
19~200x00~0xFFFFCells temperature minT0.1 C° resolution
21~230x00~0xFFFFFF累计放电能量
24~260x00~0xFFFFFF累计充电能量只统计充电,不包括回馈
27~290x00~0xFFFFFFCumulated exchanged energybetween two last sampling : signed 100 mWh resolution
30~310x00~0xFFFFCRC校验码

故障和错误信息记录

对于每一个报警、故障或警告事件,触发时刻之后5分钟信息记录(300秒):

保存为\event\x.asc,x = 210413173800(年月日时分秒 - 触发时刻)

表2b 单位秒 事件触发单元数据块格式

字节序号数据范围及格式数据内容说明
1~3DBC码事件时间:时,分,秒
4~50x00~0xFFFF事件时间之后第0ms电池电压100 mV resolution
6~70x00~0xFFFF事件时间之后第0ms电池电流100 mA resolution
8~710x00~0xFFFF事件时间之后第0ms,1`32号单体电压10 mV resolution
616~6170x00~0xFFFF事件时间之后第900ms电池电压100 mV resolution
618~6190x00~0xFFFF事件时间之后第900ms电池电流100 mA resolution
620~6830x00~0xFFFF事件时间之后第900ms,1`32号单体电压10 mV resolution
6840x00~0xFFSOC
685~7160x00~0xFFFF0~16号 单体温度0.1 C° resolution
717~7180x00~0xFFFF功率连接器温度0.1 C° resolution
719~7200x00~0xFFFF其他传感器温度0.1 C° resolution
721~73010BYTECAN messages 1 +ID
731~7322BYTECAN messages 1 事件时间之后第xx ms
733~74210BYTECAN messages 2 +ID
743~7442BYTECAN messages 2 事件时间之后第xx ms
757~76610BYTECAN messages 4 +ID
767~7682BYTECAN messages 4 事件时间之后第xx ms
769~7702BYTECRC 校验码
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值