Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00066 #ifndef DATA_FLASH_H
00067 #define DATA_FLASH_H
00068
00069
00071 #define NUMBER_OF_BQ_DEVICES 3 //3 BQ76PL536 devices are connected
00072 #define NUMBER_OF_CELLS 18 //MAX number of cells in the system
00073 #define MAX_CELLS_NUMBER_IN_BQ 6 //MAX number of cells per BQ76PL536 device
00074 #define CELL_BALANCING_EN 1 //set to 1 to enable cell balancing
00075 #define ONE_MINUTE 60
00076
00078 #define dCOV_THRESHOLD 3700 //COV_THRESHOLD [mV]
00079 #define dCOV_RECOVERY_THRESHOLD 3600 //COV_RECOVERY_THRESHOLD [mV]
00080 #define dCOV_TIME 5//20 //COV_TIME (max value 32) [100ms]
00081 #define dCUV_THRESHOLD 2000 //CUV_THRESHOLD [mV]
00082 #define dCUV_RECOVERY_THRESHOLD 2200 //CUV_RECOVERY_THRESHOLD [mV]
00083 #define dCUV_TIME 5//20 //CUV_TIME (max value 32) [100ms]
00084
00085 #define dPACK_OVER_TEMP1 50 //3 PACK_OVER_TEMP1 [st C]
00086 #define dPACK_OT_TIME1 2000 //PACK_OT_TIME1 [ms]
00087 #define dPACK_OVER_TEMP2 50 //3 PACK_OVER_TEMP2 [st C]
00088 #define dPACK_OT_TIME2 2000 //PACK_OT_TIME2 [ms]
00089
00090
00091 #define dPACK_END_OF_CHARGE_VOLTAGE (DWORD)dCOV_THRESHOLD*NUMBER_OF_CELLS
00092 #define dCC_CV_QUAL_TIME 20 //CC_CV_QUAL_TIME [s]
00093
00094 #define dPACK_END_OF_DISCHARGE_VOLTAGE (DWORD)dCUV_THRESHOLD*NUMBER_OF_CELLS
00095 #define dEND_OF_DISCHARGE_QUAL_TIME 20 //END_OF_DISCHARGE_QUAL_TIME [s]
00096
00097 #define dCHARGE_CURRENT 1100 //CHARGE_CURRENT [mA]
00098 #define dCHARGE_TAPER_CURRENT 300 //CHARGE_TAPER_CURRENT [mA]
00099 #define dCHARGE_TAPER_TIME (DWORD)240*ONE_MINUTE//CHARGE_TAPER_TIME[s]
00100 #define dMAX_CHARGE_TIME (DWORD)200*ONE_MINUTE//MAX_CHARGE_TIME [s]
00101
00102
00103 #define dFULL_DISCHARGE_CLEAR_VOLTS dPACK_END_OF_DISCHARGE_VOLTAGE
00104
00105 #define dFULL_CHARGE_CLEAR_VOLTS dPACK_END_OF_CHARGE_VOLTAGE
00106 #define dDELTA_CHARGE_V 300 //DELTA_CHARGE_V [mv]
00107 #define dCHARGE_DISCHARGE_TIME (DWORD)5*ONE_MINUTE//CHARGE_DISCHARGE_TIME [s]
00108 #define dDELTA_DISCHARGE_V 200 //DELTA_DISCHARGE_V [mV]
00109
00110 #define dSOV_THRESHOLD 4200 //SOV_THRESHOLD [mV]
00111 #define dSOV_RECOVERY_THRESHOLD 3800 //SOV_RECOVERY_THRESHOLD [mV]
00112 #define dSOV_TIME 3000 //SOV_TIME [ms]
00113
00114 #define dCELL_IMBALANCE_FAIL_THRESHOLD 500 //CELL_IMBALANCE_FAIL_THRESHOLD[mV]
00115 #define dCELL_IMBALANCE_FAIL_TIME (DWORD)120*ONE_MINUTE//CELL_IMBALANCE_FAIL_TIME[s]
00116 #define dBALANCE_TIME (DWORD)1*ONE_MINUTE //BALANCE_TIME A.K.A CB_TIME[s]
00117 #define dBALANCE_VOLTS_THRESHOLD 50 //BALANCE_VOLTS_THRESHOLD [mV]
00118 #define dMIN_BALANCE_VOLTS dCUV_RECOVERY_THRESHOLD //MIN_BALANCE_VOLTS[mV]
00119 #define dMAX_BALANCE_TIME (DWORD)120*ONE_MINUTE//MAX_BALANCE_TIME[s]
00120
00121
00122
00127
00128 typedef enum PARAM_ID
00129 {
00130
00131 COV_THRESHOLD,
00132 COV_RECOVERY_THRESHOLD,
00133 COV_TIME,
00134 CUV_THRESHOLD,
00135 CUV_RECOVERY_THRESHOLD,
00136 CUV_TIME,
00137
00138
00139 PACK_OVER_TEMP1,
00140 PACK_OT_TIME1,
00141 PACK_OVER_TEMP2,
00142 PACK_OT_TIME2,
00143
00144
00145 PACK_END_OF_CHARGE_VOLTAGE,
00146 CC_CV_QUAL_TIME,
00147 PACK_END_OF_DISCHARGE_VOLTAGE,
00148 END_OF_DISCHARGE_QUAL_TIME,
00149 CHARGE_CURRENT,
00150 CHARGE_TAPER_CURRENT,
00151 CHARGE_TAPER_TIME,
00152 MAX_CHARGE_TIME,
00153 FULL_DISCHARGE_CLEAR_VOLTS,
00154 FULL_CHARGE_CLEAR_VOLTS,
00155 DELTA_CHARGE_V,
00156 CHARGE_DISCHARGE_TIME,
00157 DELTA_DISCHARGE_V,
00158
00159
00160 SOV_THRESHOLD,
00161 SOV_RECOVERY_THRESHOLD,
00162 SOV_TIME,
00163
00164
00165 CELL_IMBALANCE_FAIL_THRESHOLD,
00166 CELL_IMBALANCE_FAIL_TIME,
00167 BALANCE_TIME,
00168 BALANCE_VOLTS_THRESHOLD,
00169 MIN_BALANCE_VOLTS,
00170 MAX_BALANCE_TIME
00171
00172 } param_id_t;
00173
00174
00179 extern unsigned short get_u16_value(param_id_t param_id);
00180 extern unsigned long get_u32_value(param_id_t param_id);
00181
00182 #endif
00183
00184