基于SD卡的BMS海量历史数据存储系统设计
动力电池作为混合动力电动汽车的关键零部件之一,由于其一致性差等原因易导致整组电池性能下降,从而直接影响到整车的可靠性与安全性。为了满足实际的整车控制需求而调整和优化控制器中的控制参数,需要收集大量的工作数据,以便离线分析电池性能以及进行系统标定。传统的收集数据方法通常是利用串口或CAN总线将即时数据读入计算机,但是该方法还局限于实验阶段,一般需要PC机参与,在实际工作中的数据较难获得。国外有公司生产的基于CAN总线的行车记录仪,体积较大且价格昂贵,仅适用于整车厂研发新车时使用。利用SD卡(Se-cure Digital Memory Card)轻巧、传输速度高、容量大、成本低、读写方便的优点,以及在原有电池管理系统上配置方便的特点,本文设计了一种小巧的应用于电池管理系统的海量历史数据存储系统,采用标准Windows系统FAT32文件格式存储,可以方便将数据导入到计算机中。一次换卡可以记录1年的数据,为电池管理系统和电池特性的研究准备了大量第一手数据。
1 SD卡硬件电路设计
SD是新一代半导体存储设备卡,其外形及引脚定义如图1、表1所示。SD卡工作电压为2.0~3.6 V,最大读写速度达10MB/s(4位数据线并用),并且提供了SD和SPI两种通信模式。在使用时,主机只能通过其中一种方式与SD卡进行通信,该模式通过上电后检测Reset命令来决定。本系统采用SPI方式操作SD卡,因为该方式具有接口电路简单(DSP芯片TMS320LF2407A提供SPI接口),并且通信协议也十分简洁的优点。因为DSP芯片TMS320LF2407A的SPI模块高电平刚好是3.3 V,所以SD卡座可直接与TMS320LF2407A的SPI引脚连接,其连线方式如图2所示。
2 软件程序设计
软件设计主要难点是SD卡驱动与FAT32文件系统的结合方式设计。FAT32文件系统的实现有一定的复杂性,如果设计地不好不但会浪费大量CPU资源,而且可能造成数据丢失、覆盖等严重后果。采用传统数据流式程序设计思想实现起来比较困难,Debug也很不方便。本设计引用现代Windows操作系统惯用的层次模型划分的方法开发了一套基于SD卡的FAT32文件系统协议包,具有层次分明、结构紧凑、可移植性强及逻辑清晰的特点。
2.1 FAT32文件系统
FAT32是由Microsoft设计并运用得非常成功的文件系统。至今FAT32依然占据着Microsoft Windows文件系统中重要的地位。FAT32改进了FAT16和FAT12不支持大分区、单位簇的容量过大以致空间急剧浪费等缺点。由引导扇区、FAT表、根目录和数据区4大部分组成。图3标出了FAT32分区的基本构成,FAT2是FAT1的备份,用于在FAT1损坏时修复。
相关文章
- 2023-09-22皮带秤控制衡器选择法剖析
- 2023-10-27小波包自适应阈值语音降噪新算法
- 2022-12-09微小尺度流动应力波动尺度效应
- 2023-03-29SolidWorks在立铣刀三维建模及工程图中的应用
- 2023-06-11漏磁检测的仿真和实验研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。