SD是新一代半导体存储设备卡,其外形及引脚定义如图1、表1所示。SD卡工作电压为2.0~3.6V,最大读写速度达10MB/s(4位数据线并用),并且提供了SD和SPI两种通信模式。在使用时,主机只能通过其中一种方式与SD卡进行通信,该模式通过上电后检测Reset命令来决定。本系统采用SPI方式操作SD卡,因为该方式具有接口电路简单(DSP芯片TMS320LF2407A提供SPI接口),并且通信协议也十分简洁的优点。因为DSP芯片TMS320LF2407A的SPI模块高电平刚好是3.3V,所以SD卡座可直接与TMS320LF2407A的SPI引脚连接,其连线方式如图2所示。
图1SD卡外形
表1SD卡引脚定义
图2SD卡连接电路
2软件程序设计
2.1FAT32文件系统
FAT32是由Microsoft设计并运用得非常成功的文件系统。至今FAT32依然占据着MicrosoftWindows文件系统中重要的地位。FAT32改进了FAT16和FAT12不支持大分区、单位簇的容量过大以致空间急剧浪费等缺点。由引导扇区、FAT表、根目录和数据区4大部分组成。图3标出了FAT32分区的基本构成,FAT2是FAT1的备份,用于在FAT1损坏时修复。
图3FAT32文件存储系统构成
FAT表(FileAllocatiONTable文件分配表)记录文件在介质上的放置位置,即簇号序列。每个表项记录的簇号都是32位的,故这个方法称为FAT32。表2所示是一段简化的FAT表,第2簇记录根目录存放位置,第3簇记录某文件存储的下一簇号(该文件从本簇即第3簇开始存放)是6号,第6号又记录接下来的簇号……,至到标记FF表示文件结束。同样道理从第12簇开始存放另一个文件,该文件在第93簇存放结束。从表中可以看出文件是可以非连续存放的,这样可以充分利用SD存储介质的空间,并且可以保证存放BMS采集数据不会发生重叠,冲掉以前数据。表3列出了FAT表各记录项的取值含义。
表2FAT表与文件存位置的对应关系
表3FAT32记录项的取值含义
系统在存储一个文件时先计算出需要几个簇的空间来存放,再从FAT表中找出这相应个数的空闲簇,并其修改记录项的取值使之首尾连成一串。然后在目录表中创建一个新的文件项,并记录它在介质上存放的首簇号。这样在读文件时,只要直接从目录表中找到该文件的记录项,获取它的首簇号就能把文件读出来了。FAT32文件系统目录的记录项的结构定义如表4所示。
表4FAT32目录记录项的结构定义
2.2SD卡SPI通信协议
表5SD卡SPI模式6字节命令格式
2.3下位机软件设计
图4层次式SD卡驱动程序
3数据处理
电动汽车在运行时,BMS会连续产生大量的监测数据,这些数据分可为监测量和诊断量。监测量为实时测量动力母线上的电压、电流、动力电池箱内的模块电压和温度等;诊断量为BMS对实时量的处理结果,包括SOC、SOH和故障码等。如表7所示为记录安装在某辆混合动力轿车上的144V镍氢RMS的数据。
表7数据记录格式
记录的历史数据对于电池工艺优化、整车控制器(VMS)研发以及BMS研发都有重要意义。如对所记录的总电压、总电流以及SOC单独绘图如图5所示。对总电流的大小和正负分布分析可以得到ISG电机的工作状况;对SOC分析可以得到整车控制器(VMS)控制策略的效率;对总电压分析可以得到电池的性能信息。
图5数据分析详例
4结论
本文设计的基于PSD卡技术实现的动力汽车电池管理系统海量历史数据存储系统,解决了以往电池管理系统在线工作数据难以获得的问题。为电池管理系统参数优化提供了大量的工作状态历史数据,有助于提高系统参数优化准确性,并为电动汽车用电池包特性的建模提供了基础数据。实验证明,采用经过精简的SD存储卡驱动模型有以下特点:存储数据速度快,不影响正常电池管理工作;容错性好,可能会出现
较多小体积文件,但无数据丢失的情况。经过实验验证,在数据记录周期为10ms的情况下,采用2G容量的SD卡,可以不间断地记录xx年的历史数据。