ZDBMS/code_dataflash/DataFlash.c

658 lines
29 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/********************************************************************************
Copyright (C), Sinowealth Electronic. Ltd.
Author: Sino
Version: V0.0
Date: 2014/09/10
History:
V0.0 2014/09/10 Preliminary
********************************************************************************/
//*** <<< use Configuration Wizard in Context Menu >>> ***
#define _RAM_CHECK_DATA 0x5A
#define _FLASH_CHECK_DATA 0x5AA5
// <h> 系统信息区(SubClassID=0x00 length=48)
// <h> 电池包信息E2uiPackConfigMap
// <q> 负载锁定
#define _EPCM_LOAD_LOCK 0 //BIT15; 0不使能负载锁定; 1使能负载锁定
// <q> 充电器锁定
#define _EPCM_CHARGER_LOCK 0 //BIT14; 0不支持充电器锁定; 1支持充电器锁定
// <q> 温度检测点个数
#define _EPCM_TEMP_NUM 0 //BIT13; 0单个温度检测点 1两个温度检测点
// <o> LED显示个数
#define _EPCM_LED_NUM 0 //BIT11~12; 未调用
// <o> 电芯串数
#define _EPCM_CELL_NUM 4 //BIT8~10; 电芯串数6~10串
// <q> 外挂EEPROM备份
#define _EPCM_EEPROM_EN 0 //BIT7; 0不使能外挂EE备份功能; 1使能外挂EE备份功能
// <q> 放电过流MOS控制
#define _EPCM_OCPM 0 //BIT6; 未调用0放电过流关闭放电mos 1放电过流关闭充放电mos
// <q> 断线检测
#define _EPCM_CTO_EN 1 //BIT5; 0不使能断线保护功能; 1使能断线保护功能
// <q> 二级保护
#define _EPCM_PF_EN 1 //BIT4; 0不使能二级保护功能; 1使能二级保护功能
// <q> 均衡
#define _EPCM_BAL_EN 1 //BIT3; 0不使能均衡功能 1使能均衡功能
// <q> 过流自恢复
#define _EPCM_OCRC_EN 1 //BIT2; 0:不使能过流自恢复功能; 1使能过流自恢复功能
// <q> 硬件过压保护
#define _EPCM_OV_EN 0 //BIT1; 0:不使能硬件过压功能; 1使能硬件过压功能
// <q> 硬件短路保护
#define _EPCM_SC 0 //BIT0; 0:不使能硬件短路保护功能; 1使能硬件短路保护功能
#define _E2_PACKCONFIGMAP (_EPCM_EEPROM_EN<<15)|(_EPCM_OCPM<<14)|(_EPCM_CTO_EN<<13)|(_EPCM_PF_EN<<12)\
|(_EPCM_BAL_EN<<11)|(_EPCM_OCRC_EN<<10)|(_EPCM_OV_EN<<9)\
|(_EPCM_SC<<8)|(_EPCM_LOAD_LOCK<<7)|(_EPCM_CHARGER_LOCK<<6)\
|(_EPCM_TEMP_NUM<<5)|(_EPCM_LED_NUM<<4)|(_EPCM_CELL_NUM-3) //U16 xdata E2uiPackConfigMap
// </h>
// <h>OCV电压mV
// 0%2.620
// <o>10%容量对应电压
#define _E2_VOC10 3150 //U16 xdata VOC10
// <o>20%容量对应电压
#define _E2_VOC20 3200 //U16 xdata VOC10
// <o>30%容量对应电压
#define _E2_VOC30 3245 //U16 xdata VOC10
// <o>40%容量对应电压
#define _E2_VOC40 3290 //U16 xdata VOC10
// <o>50%容量对应电压
#define _E2_VOC50 3335 //U16 xdata VOC10
// <o>60%容量对应电压
#define _E2_VOC60 3380 //U16 xdata VOC10
// <o>70%容量对应电压
#define _E2_VOC70 3425 //U16 xdata VOC10
// <o>80%容量对应电压
#define _E2_VOC80 3470 //U16 xdata VOC10
// <o>90%容量对应电压
#define _E2_VOC90 3515 //U16 xdata VOC10
// <o>100%容量对应电压
#define _E2_VOC100 3560 //U16 xdata VOC10
// </h>
// <h>延时参数及预留容量参数
// <o>设计容量mAh
#define _E2_ulDesignCapacity 7200 //U32 xdata E2ulDesignCapacity
// <o>满充容量mAh
#define _E2_ulFCC 6500 //U32 xdata E2ulFCC
// <o>循环次数更新阈值
#define _E2_ulCycleThreshold 6000 // U32 xdata E2ulCycleThreshold
// <o>循环次数
#define _E2_uiCycleCount 0 // U16 xdata E2uiCycleCount
// <o>容量学习温度
#define _E2_uiLearnLowTempe 2881 // U16 xdata E2uiLearnLowTempe
#define _E2_Reserve 0 // U16 xdata E2Reserve 预留占位
// <o>充放电检测阈值
#define _E2_siDfilterCur 50 // U16 xdata E2siDfilterCur
// <o>低功耗检测延时
#define _E2_ucLowPowerDeley 20 // U16 xdata E2ucLowPowerDeley
// <o>充电备份检测延时
#define _E2_ucChgBKDelay 1 // U16 xdata E2ucChgBKDelay
// <o>充电备份检测电流
#define _E2_siChgBKCur 100 // U16 xdata E2siChgBKCur
// <o>RTC备份检测延时
#define _E2_ucRTCBKDelay 5 // U16 xdata E2ucRTCBKDelay
#define _E2_ucRamCheckFlg0 _RAM_CHECK_DATA // U16 xdata E2ucRamCheckFlg0
// </h>
// </h>
// <h>用户自定义参数(SubClassID=0x01 length=50)
// <o>软件版本(EXP:0x0106 = V1.06)<0x0000-0xffff>
#define _E2_SWVersion 0x0215 // U16 xdata SWVersion
// <o>硬件版本(EXP:0x0106 = V1.06)<0x0000-0xffff>
#define _E2_HWVersion 0x0130 // U16 xdata HWVersion
// <o>设备ID<0x00-0xff>
#define _E2_ID 0x00 // U8 xdata ID
// <s.12>制造商名称
#define _E2_MNFName "Cerlink" // U8 xdata MNFName[12]
// <o> 生产日期exp0x20230404=2023.04.04<0x00000000-0xffffffff>
#define _E2_MNFDate 0x20250212 // U32 xdata MNFDate
// <o>序列号<0x0000-0xffff>
#define _E2_SerialNum 0x0000 // U16 xdata SerialNum
// <s.12>设备名称
#define _E2_DeviceName "SH39F003" // U8 xdata DeviceName[12]
// <s.4>电芯材料
#define _E2_DeviceChem "LION" // U8 xdata DeviceChem[12]
// <o>电芯化学ID<0x0000-0xffff>
#define _E2_ChemID 0x0000 // U16 xdata ChemID
#define _E2_ucRamCheckFlg1 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg2
// </h>
// <h>充电参数(SubClassID=0x02 length=18)
// <o>过压保护阈值
#define _E2_uiOVvol 3600 // U16 xdata E2uiOVvol
// <o>过压保护恢复阈值
#define _E2_uiOVRvol 3400 // U16 xdata E2uiOVRvol
// <o>过压保护延时S
#define _E2_ucDelayOV 2 // U8 xdata E2ucDelayOV
// <o>过压保护恢复延时S
#define _E2_ucDelayOVR 2 // U8 xdata E2ucDelayOVR
// <o>充电截止电压(mV)
#define _E2_uiChgEndVol 3500 // U16 xdata E2uiChgEndVol
// <o>充电截止电流(mA)
#define _E2_siChgEndCurr 100 // S16 xdata E2siChgEndCurr
// <o>充电截止延时(S)
#define _E2_ucChgEndDelay 5 // U8 xdata E2ucChgEndDelay
// <o>充电过流保护阈值
#define _E2_slOCCvol 25000 // U32 xdata E2slOCCvol
// <o>充电过流保护延时S
#define _E2_ucDelayOCC 2 // U8 xdata E2ucDelayOCC
// <o>充电过流保护恢复延时S
#define _E2_ucDelayOCCR 60 // U8 xdata E2ucDelayOCCR
#define _E2_ucRamCheckFlg2 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg2
// </h>
// <h>放电参数(SubClassID=0x03 length=21)
// <o>欠压保护电压
#define _E2_uiUVvol 2600 // U16 xdata E2uiUVvol
// <o>欠压保护恢复电压
#define _E2_uiUVRvol 3000 // U16 xdata E2uiUVRvol
// <o>欠压保护延时
#define _E2_ucDelayUV 2 // U8 xdata E2ucDelayUV
// <o>欠压保护恢复延时
#define _E2_ucDelayUVR 2 // U8 xdata E2ucDelayUVR
// <o>放电截止延时(S)
#define _E2_ucDsgEndDelay 5 // U8 xdata E2ucDsgEndDelay
// <o>放电截止电压(mV)
#define _E2_uiDsgEndVol 2700 // U16 xdata E2uiDsgEndVol
// <o>放电过流1保护阈值
#define _E2_uiOCDvol -20000 //U32 xdata E2uiOCDvol
// <o>放电过流1保护延时s
#define _E2_ucDelayOCD 2 //U8 xdata E2ucDelayOCD
// <o>放电过流2保护阈值
#define _E2_slOCD2vol -40000 // S32 xdata E2slOCD2vol
// <o>放电过流2保护延时125mS
#define _E2_ucDelayOCD2 2 //U8 xdata E2ucDelayOCD2
// <o>负载移除检测延时
#define _E2_ucDelayLoadR 4 //U8 xdata E2ucDelayLoadR
#define _E2_ucRamCheckFlg3 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg3
// </h>
// <h>放电PWM参数(SubClassID=0x05 length=5)
// <o>PWM频率(Hz)
#define _E2_DSG1PWMFreq 4000 // U16 xdata DSG1PWMFreq
// <o>PWM低档占空比(%)
#define _E2_DSG1PWMRatioL 30 // U8 xdata DSG1PWMRatioL
// <o>PWM高档占空比(%)
#define _E2_DSG1PWMRatioH 70 // U8 xdata DSG1PWMRatioH
#define _E2_ucRamCheckFlg5 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg5
// </h>
// <h>充电温度保护参数(SubClassID=0x06 length=11)
// <o>充电高温保护温度(_E2_TempOTC=保护温度*10+2731)
#define _E2_TempOTC 3431 // U16 xdata TempOTC
// <o>充电高温保护释放温度(_E2_TempOTCR=释放温度*10+2731)
#define _E2_TempOTCR 3331 // U16 xdata TempOTCR
// <o>充电低温保护温度(_E2_TempUTC=保护温度*10+2731)
#define _E2_TempUTC 2531 // U16 xdata TempUTC
// <o>充电低温保护释放温度(_E2_TempUTCR=释放温度*10+2731)
#define _E2_TempUTCR 2631 // U16 xdata TempUTCR
// <o>温度保护延时(s)
#define _E2_DelayOTC 3 // U8 xdata DelayOTC
// <o>温度保护释放延时(s)
#define _E2_DelayOTCR 3 // U8 xdata DelayOTCR
#define _E2_ucRamCheckFlg6 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg6
// </h>
// <h>放电温度保护参数(SubClassID=0x07 length=9)
// <o>放电高温保护温度(_E2_TempOTC=保护温度*10+2731)
#define _E2_TempOTD 3431 // U16 xdata TempOTD
// <o>放电高温保护释放温度(_E2_TempOTCR=释放温度*10+2731)
#define _E2_TempOTDR 3331 // U16 xdata TempOTDR
// <o>放电低温保护温度(_E2_TempUTC=保护温度*10+2731)
#define _E2_TempUTD 2531 // U16 xdata TempUTD
// <o>放电低温保护释放温度(_E2_TempUTCR=释放温度*10+2731)
#define _E2_TempUTDR 2631 // U16 xdata TempUTDR
#define _E2_ucRamCheckFlg7 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg6
// </h>
// <h>平衡参数(SubClassID=0x08 length=8)
// <o>平衡电压(mV)
#define _E2_BalanceVol 3000 // U16 xdata BalanceVol
// <o>平衡压差(mV)
#define _E2_BalanceVolDiff 50 // U16 xdata BalanceVolDiff
// <o>平衡电流(mA)
#define _E2_BalCurrent 100 // S16 xdata BalCurrent
// <o>平衡检测延时(S)
#define _E2_BalanceDelay 2 // U8 xdata BalanceDelay
#define _E2_ucRamCheckFlg8 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg8
// </h>
// <h>容量统计参数(SubClassID=0x09 length=17)
// <o>容量百分比SOC(%)
#define _E2_ucSOC 100 // U8 xdata E2ucSOC
// <o>剩余容量E2ulDfRC(mAh)
#define _E2_ulDfRC 3000 // U32 xdata E2ulLastFCC
// <o>放电截止电流
#define _E2_slDsgEndCurr -5000 // U32 xdata E2slDsgEndCurr
// <o>放电循环次数变更计数值
#define _E2_ulCycleThresholdCount 0 // U32 xdata E2ulCycleThresholdCount
// <o>上次更新容量时的循环次数
#define _E2_uiLastCCount 0 // U16 xdata E2uiLastCCount
// <o>放电截止标志
#define _E2_ucDsgEndFlg 0 //U8 xdata E2ucDsgEndFlg
#define _E2_ucRamCheckFlg9 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg9
// </h>
// <h>AFE参数(SubClassID=0x0A length=4)
// <o>保护配置
#define _E2_AFEProtectConfig 0x74 // U8 xdata AFEProtectConfig
// <o>硬件过压保护阈值
#define _E2_AFEOVvol 4400 // U16 xdata AFEOVvol
#define _E2_ucRamCheckFlgA _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlgA
// </h>
// <h>校准参数(SubClassID=0x0B length=12)
// <o>电压校准增益
#define _E2_uiVPackGain 2594 // U16 xdata E2uiVPackGain
// <o>电流校准增益
#define _E2_siCadcGain -89 // S16 xdata E2siCadcGain
// <o>电流零漂
#define _E2_siCadcOffset 4 // S16 xdata E2siCadcOffset
// <o>外部温度零漂(TS0)
#define _E2_siTS0Offset 0 // S16 xdata E2siTS0Offset
// <o>外部温度零漂(TS1)
#define _E2_siTS1Offset 0 // S16 xdata E2siTS1Offset
// <o>校准参数预留
#define _E2_ucCalibrated 0 // U8 xdata E2ucCalibrated
#define _E2_ucRamCheckFlgB _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlgB
// </h>
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
/*****************************************************************************************************************/
struct DataFlashStu
{
//系统信息区开始 SubClassID=0x00 length=48
unsigned int E2uiPackConfigMap;
unsigned int E2uiVOC[10];
unsigned long E2ulDesignCapacity;
unsigned long E2ulFCC;
unsigned long E2ulCycleThreshold;
unsigned int E2uiCycleCount;
unsigned int E2uiLearnLowTempe;
unsigned int E2Reserve;
signed int E2siDfilterCur;
unsigned char E2ucLowPowerDeley;
unsigned char E2ucChgBKDelay;
unsigned int E2siChgBKCur;
unsigned char E2ucRTCBKDelay;
unsigned char E2ucRamCheckFlg0;
//用户自定义参数区开始 SubClassID=0x01 langth=50
unsigned int E2uiSWVersion;
unsigned int E2uiHWVersion;
unsigned char E2ucID;
unsigned char E2ucMNFName[12];
unsigned long E2ulMNFDate;
unsigned int E2uiSerialNum;
unsigned char E2ucDeviceName[12];
unsigned char E2ucDeviceChem[12];
unsigned int E2uiChemID;
unsigned char E2ucRamCheckFlg1;
//充电参数区开始 SubClassID=0x02 langth=18
unsigned int E2uiOVvol;
unsigned int E2uiOVRvol;
unsigned char E2ucOVDelay;
unsigned char E2ucOVRDelay;
unsigned int E2uiChgEndVol0;
signed int E2siChgEndCurr0;
unsigned char E2ucChgEndDelay0;
signed long E2slOCCvol;
unsigned char E2ucDelayOCC;
unsigned char E2ucDelayOCCR;
unsigned char E2ucRamCheckFlg2;
//放电参数区开始 SubClassID=0x03 langth=21
unsigned int E2uiUVvol;
unsigned int E2uiUVRvol;
unsigned char E2ucDelayUV;
unsigned char E2ucDelayUVR;
unsigned int E2uiDsgEndVol;
unsigned char E2ucDsgEndDelay;
signed long E2uiOCDvol;
unsigned char E2ucDelayOCD;
signed long E2slOCD2vol;
unsigned char E2ucDelayOCD2;
unsigned char E2ucDelayLoadR;
unsigned char E2ucRamCheckFlg3;
//放电PWM参数区开始 SubClassID=0x05 langth=5
unsigned int DSG1PWMFreq;
unsigned char DSG1PWMRatioL;
unsigned char DSG1PWMRatioH;
unsigned char E2ucRamCheckFlg5;
//充电温度保护参数开始 SubClassID=0x06 langth=11
unsigned int TempOTC;
unsigned int TempOTCR;
unsigned int TempUTC;
unsigned int TempUTCR;
unsigned char DelayOTC;
unsigned char DelayOTCR;
unsigned char E2ucRamCheckFlg6;
//放电温度保护参数开始 SubClassID=0x07 langth=9
unsigned int TempOTD;
unsigned int TempOTDR;
unsigned int TempUTD;
unsigned int TempUTDR;
unsigned char E2ucRamCheckFlg7;
//平衡参数区开始 SubClassID=0x08 langth=8
unsigned int BalanceVol;
unsigned int BalanceVolDiff;
unsigned int BalCurrent;
unsigned char BalanceDelay;
unsigned char E2ucRamCheckFlg8;
//容量统计 SubClassID=0x09 length=17
unsigned char E2ucSOC;
unsigned long E2ulDfRC;
signed long E2slDsgEndCurr;
unsigned long E2ulCycleThresholdCount;
unsigned int E2uiLastCCount;
unsigned char E2ucDsgEndFlg;
unsigned char E2ucRamCheckFlg9;
//AFE参数区开始 SubClassID=0x0A length=4
unsigned char AFEProtectConfig;
unsigned int AFEOVvol;
unsigned char E2ucRamCheckFlgA;
//校准参数区开始 SubClassID=0x0B length=12
unsigned int E2uiVPackGain;
signed int E2siCadcGain;
unsigned int E2siCadcOffset;
unsigned int E2siTS0Offset;
unsigned int E2siTS1Offset;
unsigned char E2ucCalibrated;
unsigned char E2ucRamCheckFlgB;
};
union DataFlashUn
{
struct DataFlashStu DataFlashStu0; /*一定要先声明结构体再定义数组*/
unsigned char reversed[510];
};
struct DataFlashStr
{
union DataFlashUn DataFlashUnRaw;
unsigned int FlashCheck1;
union DataFlashUn DataFlashUnBak;
unsigned int FlashCheck2;
};
struct DataFlashStr code dataflashstr =
{
/*****************************************************************************************************************/
//备份A区
/*****************************************************************************************************************/
//系统信息区开始 SubClassID=0x00 length=48
{
_E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap
_E2_VOC10, //U16 xdata VOC10
_E2_VOC20, //U16 xdata VOC20
_E2_VOC30, //U16 xdata VOC30
_E2_VOC40, //U16 xdata VOC40
_E2_VOC50, //U16 xdata VOC50
_E2_VOC60, //U16 xdata VOC60
_E2_VOC70, //U16 xdata VOC70
_E2_VOC80, //U16 xdata VOC80
_E2_VOC90, //U16 xdata VOC90
_E2_VOC100, //U16 xdata VOC100
_E2_ulDesignCapacity, // U32 xdata E2ulDesignCapacity
_E2_ulFCC, // U32 xdata E2ulFCC
_E2_ulCycleThreshold, // U32 xdata E2uiCycleThreshold
_E2_uiCycleCount, // U16 xdata E2uiCycleCount
_E2_uiLearnLowTempe, // U16 xdata E2uiLearnLowTempe
_E2_Reserve, // U16 xdata E2Reserve
_E2_siDfilterCur, // S16 xdata E2siDfilterCur
_E2_ucLowPowerDeley, // U8 xdata E2ucLowPowerDeley
_E2_ucChgBKDelay, // U8 xdata E2ucChgBKDelay
_E2_siChgBKCur, // S16 xdata E2siChgBKCur
_E2_ucRTCBKDelay, // U8 xdata E2ucRTCBKDelay
_E2_ucRamCheckFlg0, // U8 xdata E2ucRamCheckFlg0
//用户自定义参数区开始 SubClassID=0x01 length=50
_E2_SWVersion, //U16 xdata SWVersion
_E2_HWVersion, //U16 xdata HWVersion
_E2_ID, //U8 xdata ID
_E2_MNFName, //U8 xdata MNFName[12]
_E2_MNFDate, //U32 xdata MNFDate
_E2_SerialNum, //U16 xdata SerialNum
_E2_DeviceName, //U8 xdata DeviceName[12]
_E2_DeviceChem, //U8 xdata DeviceChem[12]
_E2_ChemID, //U16 xdata ChemID
_E2_ucRamCheckFlg1, //U8 xdata E2ucRamCheckFlg1
//充电参数区开始 SubClassID=0x02 length=18
_E2_uiOVvol, //U16 xdata E2uiOVvol
_E2_uiOVRvol, //U16 xdata E2uiOVRvol
_E2_ucDelayOV, //U8 xdata E2ucDelayOV
_E2_ucDelayOVR, //U8 xdata E2ucDelayOVR
_E2_uiChgEndVol,
_E2_siChgEndCurr,
_E2_ucChgEndDelay,
_E2_slOCCvol, //S32 xdata E2slOCCvol
_E2_ucDelayOCC, //U8 xdata E2ucDelayOCC
_E2_ucDelayOCCR, //U8 xdata E2ucDelayOCCR
_E2_ucRamCheckFlg2, //U8 xdata E2ucRamCheckFlg2
//放电参数区开始 SubClassID=0x03 langth=21
_E2_uiUVvol, //U16 xdata E2uiUVvol
_E2_uiUVRvol, //U16 xdata E2uiUVRvol
_E2_ucDelayUV, //U8 xdata E2ucDelayUV
_E2_ucDelayUVR, //U8 xdata E2ucDelayUVR
_E2_uiDsgEndVol,
_E2_ucDsgEndDelay,
_E2_uiOCDvol, //S32 xdata E2uiOCDvol
_E2_ucDelayOCD, //U8 xdata E2ucDelayOCD
_E2_slOCD2vol, //S32 xdata E2slOCD2vol
_E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2
_E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR
_E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3
//放电PWM参数区开始 SubClassID=0x05 langth=5
_E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq
_E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL
_E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH
_E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5
//充电温度保护参数开始 SubClassID=0x06 langth=11
_E2_TempOTC, //U16 xdata TempOTC
_E2_TempOTCR, //U16 xdata TempOTCR
_E2_TempUTC, //U16 xdata TempUTC
_E2_TempUTCR, //U16 xdata TempUTCR
_E2_DelayOTC, //U8 xdata DelayOTC
_E2_DelayOTCR, //U8 xdata DelayOTCR
_E2_ucRamCheckFlg6, //U8 xdata E2ucRamCheckFlg6
//放电温度保护参数开始 SubClassID=0x07 langth=9
_E2_TempOTD, //U16 xdata TempOTD
_E2_TempOTDR, //U16 xdata TempOTDR
_E2_TempUTD, //U16 xdata TempUTD
_E2_TempUTDR, //U16 xdata TempUTDR
_E2_ucRamCheckFlg7, //U8 xdata E2ucRamCheckFlg7
//平衡参数区开始 SubClassID=0x08 langth=8
_E2_BalanceVol, // U16 xdata BalanceVol
_E2_BalanceVolDiff, // U16 xdata BalanceVolDiff
_E2_BalCurrent, // S16 xdata BalCurrent
_E2_BalanceDelay, // U8 xdata BalanceDelay
_E2_ucRamCheckFlg8, // U8 xdata E2ucRamCheckFlg8
//容量统计 SubClassID=0x09 langth=17
_E2_ucSOC, //U8 xdata E2ucSOC
_E2_ulDfRC, //U32 xdata E2ulLastFCC
_E2_slDsgEndCurr, //U32 xdata E2slDsgEndCurr
_E2_ulCycleThresholdCount, //U32 xdata E2ulCycleThresholdCount
_E2_uiLastCCount,
_E2_ucDsgEndFlg, //U8 xdata E2ucDsgEndFlg
_E2_ucRamCheckFlg9, //U8 xdata E2ucRamCheckFlg9
//AFE参数区开始 SubClassID=0x0A langth=4
_E2_AFEProtectConfig, // U8 xdata AFEProtectConfig
_E2_AFEOVvol, // U16 xdata AFEOVvol
_E2_ucRamCheckFlgA, // U8 xdata E2ucRamCheckFlgA
//校准参数区开始 SubClassID=0x0B langth=12
_E2_uiVPackGain, //U16 xdata E2uiVPackGain
_E2_siCadcGain, //S16 xdata E2siCadcGain
_E2_siCadcOffset, //S16 xdata E2siCadcOffset
_E2_siTS0Offset, //S16 xdata E2siTS0Offset
_E2_siTS1Offset, //S16 xdata E2siTS1Offset
_E2_ucCalibrated, //S16 xdata E2ucCalibrated
_E2_ucRamCheckFlgB, //U8 xdata E2ucRamCheckFlgB
},
_FLASH_CHECK_DATA, // U16 xdata FlashCheck
/*****************************************************************************************************************/
//备份B区
/*****************************************************************************************************************/
/*****************************************************************************************************************/
//系统信息区开始 SubClassID=0x00 langth=48
{
_E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap
_E2_VOC10, //U16 xdata VOC10
_E2_VOC20, //U16 xdata VOC20
_E2_VOC30, //U16 xdata VOC30
_E2_VOC40, //U16 xdata VOC40
_E2_VOC50, //U16 xdata VOC50
_E2_VOC60, //U16 xdata VOC60
_E2_VOC70, //U16 xdata VOC70
_E2_VOC80, //U16 xdata VOC80
_E2_VOC90, //U16 xdata VOC90
_E2_VOC100, //U16 xdata VOC100
_E2_ulDesignCapacity, // U32 xdata E2ulDesignCapacity
_E2_ulFCC, // U32 xdata E2ulFCC
_E2_ulCycleThreshold, // U32 xdata E2uiCycleThreshold
_E2_uiCycleCount, // U16 xdata E2uiCycleCount
_E2_uiLearnLowTempe, // U16 xdata E2uiLearnLowTempe
_E2_Reserve, // U16 xdata E2Reserve
_E2_siDfilterCur, // S16 xdata E2siDfilterCur
_E2_ucLowPowerDeley, // U8 xdata E2ucLowPowerDeley
_E2_ucChgBKDelay, // U8 xdata E2ucChgBKDelay
_E2_siChgBKCur, // S16 xdata E2siChgBKCur
_E2_ucRTCBKDelay, // U8 xdata E2ucRTCBKDelay
_E2_ucRamCheckFlg0, // U8 xdata E2ucRamCheckFlg0
//用户自定义参数区开始 SubClassID=0x01 length=50
_E2_SWVersion, //U16 xdata SWVersion
_E2_HWVersion, //U16 xdata HWVersion
_E2_ID, //U8 xdata ID
_E2_MNFName, //U8 xdata MNFName[12]
_E2_MNFDate, //U32 xdata MNFDate
_E2_SerialNum, //U16 xdata SerialNum
_E2_DeviceName, //U8 xdata DeviceName[12]
_E2_DeviceChem, //U8 xdata DeviceChem[12]
_E2_ChemID, //U16 xdata ChemID
_E2_ucRamCheckFlg1, //U8 xdata E2ucRamCheckFlg1
//充电参数区开始 SubClassID=0x02 length=18
_E2_uiOVvol, //U16 xdata E2uiOVvol
_E2_uiOVRvol, //U16 xdata E2uiOVRvol
_E2_ucDelayOV, //U8 xdata E2ucDelayOV
_E2_ucDelayOVR, //U8 xdata E2ucDelayOVR
_E2_uiChgEndVol,
_E2_siChgEndCurr,
_E2_ucChgEndDelay,
_E2_slOCCvol, //S32 xdata E2slOCCvol
_E2_ucDelayOCC, //U8 xdata E2ucDelayOCC
_E2_ucDelayOCCR, //U8 xdata E2ucDelayOCCR
_E2_ucRamCheckFlg2, //U8 xdata E2ucRamCheckFlg2
//放电参数区开始 SubClassID=0x03 langth=21
_E2_uiUVvol, //U16 xdata E2uiUVvol
_E2_uiUVRvol, //U16 xdata E2uiUVRvol
_E2_ucDelayUV, //U8 xdata E2ucDelayUV
_E2_ucDelayUVR, //U8 xdata E2ucDelayUVR
_E2_uiDsgEndVol,
_E2_ucDsgEndDelay,
_E2_uiOCDvol, //S32 xdata E2uiOCDvol
_E2_ucDelayOCD, //U8 xdata E2ucDelayOCD
_E2_slOCD2vol, //S32 xdata E2slOCD2vol
_E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2
_E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR
_E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3
//放电PWM参数区开始 SubClassID=0x05 langth=5
_E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq
_E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL
_E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH
_E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5
//充电温度保护参数开始 SubClassID=0x06 langth=11
_E2_TempOTC, //U16 xdata TempOTC
_E2_TempOTCR, //U16 xdata TempOTCR
_E2_TempUTC, //U16 xdata TempUTC
_E2_TempUTCR, //U16 xdata TempUTCR
_E2_DelayOTC, //U8 xdata DelayOTC
_E2_DelayOTCR, //U8 xdata DelayOTCR
_E2_ucRamCheckFlg6, //U8 xdata E2ucRamCheckFlg6
//放电温度保护参数开始 SubClassID=0x07 langth=9
_E2_TempOTD, //U16 xdata TempOTD
_E2_TempOTDR, //U16 xdata TempOTDR
_E2_TempUTD, //U16 xdata TempUTD
_E2_TempUTDR, //U16 xdata TempUTDR
_E2_ucRamCheckFlg7, //U8 xdata E2ucRamCheckFlg7
//平衡参数区开始 SubClassID=0x08 langth=8
_E2_BalanceVol, // U16 xdata BalanceVol
_E2_BalanceVolDiff, // U16 xdata BalanceVolDiff
_E2_BalCurrent, // S16 xdata BalCurrent
_E2_BalanceDelay, // U8 xdata BalanceDelay
_E2_ucRamCheckFlg8, // U8 xdata E2ucRamCheckFlg8
//容量统计 SubClassID=0x09 langth=17
_E2_ucSOC, //U8 xdata E2ucSOC
_E2_ulDfRC, //U32 xdata E2ulLastFCC
_E2_slDsgEndCurr, //U32 xdata E2slDsgEndCurr
_E2_ulCycleThresholdCount, //U32 xdata E2ulCycleThresholdCount
_E2_uiLastCCount,
_E2_ucDsgEndFlg, //U8 xdata E2ucDsgEndFlg
_E2_ucRamCheckFlg9, //U8 xdata E2ucRamCheckFlg9
//AFE参数区开始 SubClassID=0x0A langth=4
_E2_AFEProtectConfig, // U8 xdata AFEProtectConfig
_E2_AFEOVvol, // U16 xdata AFEOVvol
_E2_ucRamCheckFlgA, // U8 xdata E2ucRamCheckFlgA
//校准参数区开始 SubClassID=0x0B langth=12
_E2_uiVPackGain, //U16 xdata E2uiVPackGain
_E2_siCadcGain, //S16 xdata E2siCadcGain
_E2_siCadcOffset, //S16 xdata E2siCadcOffset
_E2_siTS0Offset, //S16 xdata E2siTS0Offset
_E2_siTS1Offset, //S16 xdata E2siTS1Offset
_E2_ucCalibrated, //S16 xdata E2ucCalibrated
_E2_ucRamCheckFlgB, //U8 xdata E2ucRamCheckFlgB
},
_FLASH_CHECK_DATA, // U16 xdata FlashCheck
};
//*** <<< end of configuration section >>> ***