ML5238

Committer:
gscuttari
Date:
Mon Apr 15 10:20:43 2019 +0000
Revision:
0:6a895c900427
ML5238

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gscuttari 0:6a895c900427 1 /*****************************************************************************
gscuttari 0:6a895c900427 2 param.h
gscuttari 0:6a895c900427 3
gscuttari 0:6a895c900427 4 Copyright (C) 2012 LAPIS Semiconductor Co., Ltd.
gscuttari 0:6a895c900427 5 All rights reserved.
gscuttari 0:6a895c900427 6
gscuttari 0:6a895c900427 7 LAPIS Semiconductor shall not be liable for any direct, indirect,
gscuttari 0:6a895c900427 8 consequential or incidental damages arising from using or modifying this
gscuttari 0:6a895c900427 9 program.
gscuttari 0:6a895c900427 10
gscuttari 0:6a895c900427 11 History
gscuttari 0:6a895c900427 12 2012.11.20 ver.2.00
gscuttari 0:6a895c900427 13 2012.09.13 ver.1.00
gscuttari 0:6a895c900427 14 ******************************************************************************/
gscuttari 0:6a895c900427 15 #ifndef _PARAM_H_
gscuttari 0:6a895c900427 16 #define _PARAM_H_
gscuttari 0:6a895c900427 17
gscuttari 0:6a895c900427 18 #include "main_ext.h"
gscuttari 0:6a895c900427 19
gscuttari 0:6a895c900427 20 #define CELL_NUM_CON 16u
gscuttari 0:6a895c900427 21 #define THER_NUM_CON 4u
gscuttari 0:6a895c900427 22 #if (TESTMODE==85)
gscuttari 0:6a895c900427 23 #define RSENSE_VAL 50u //0.5[mOhm]
gscuttari 0:6a895c900427 24 #elif (TESTMODE==86)
gscuttari 0:6a895c900427 25 #define RSENSE_VAL 1000u //10[mOhm]
gscuttari 0:6a895c900427 26 #else
gscuttari 0:6a895c900427 27 #define RSENSE_VAL 300u //3[mOhm]
gscuttari 0:6a895c900427 28 #endif
gscuttari 0:6a895c900427 29 #define AH_VAL 215u //2.15[Ah]
gscuttari 0:6a895c900427 30
gscuttari 0:6a895c900427 31 const static unsigned char CellNum=CELL_NUM_CON;
gscuttari 0:6a895c900427 32
gscuttari 0:6a895c900427 33 //Over Voltage, Over Voltage Release, Under Voltage, Under Voltage Release
gscuttari 0:6a895c900427 34
gscuttari 0:6a895c900427 35 const static unsigned short p_Vov=(unsigned short)((double)16*4095*(4200/2)/VREF_VAL);
gscuttari 0:6a895c900427 36 const static unsigned short p_Vovr=(unsigned short)((double)16*4095*(4000/2)/VREF_VAL);
gscuttari 0:6a895c900427 37 const static unsigned short p_Vuv=(unsigned short)((double)16*4095*(2800/2)/VREF_VAL);
gscuttari 0:6a895c900427 38 const static unsigned short p_Vuvr=(unsigned short)((double)16*4095*(3000/2)/VREF_VAL);
gscuttari 0:6a895c900427 39
gscuttari 0:6a895c900427 40 const static unsigned short p_Vbsv=(unsigned short)((double)16*4095*(3600/2)/VREF_VAL);
gscuttari 0:6a895c900427 41 const static unsigned short p_gvbs=(unsigned short)((double)16*4095*(100/2)/VREF_VAL);
gscuttari 0:6a895c900427 42 const static unsigned short p_gvbe=(unsigned short)((double)16*4095*(70/2)/VREF_VAL);
gscuttari 0:6a895c900427 43
gscuttari 0:6a895c900427 44 const static unsigned long p_Vdown=(unsigned long)((double)CELL_NUM_CON*16*4095*(2750/2)/VREF_VAL);
gscuttari 0:6a895c900427 45 const static unsigned short p_Vec =(unsigned short)((double)16*4095*(1400/2)/VREF_VAL);
gscuttari 0:6a895c900427 46
gscuttari 0:6a895c900427 47
gscuttari 0:6a895c900427 48 const static unsigned short p_D_ov = 50u; //500ms
gscuttari 0:6a895c900427 49 const static unsigned short p_D_uv = 60u; //600ms
gscuttari 0:6a895c900427 50 #define D_CBAL_VAL (1u)
gscuttari 0:6a895c900427 51
gscuttari 0:6a895c900427 52 const static unsigned short p_Rsense = RSENSE_VAL;
gscuttari 0:6a895c900427 53
gscuttari 0:6a895c900427 54 const static unsigned short p_Vcen = 2u; //200[mA]
gscuttari 0:6a895c900427 55 const static unsigned short p_Vden = 2u; //200[mA]
gscuttari 0:6a895c900427 56 const static unsigned short p_D_Vcen = 20u; //200[ms]
gscuttari 0:6a895c900427 57 const static unsigned short p_D_Vden = 20u; //200[ms]
gscuttari 0:6a895c900427 58
gscuttari 0:6a895c900427 59 const static unsigned short p_D_Psave = 60u; //1[min]
gscuttari 0:6a895c900427 60
gscuttari 0:6a895c900427 61 const static unsigned short p_Psave_time = 1000u; //10[s]
gscuttari 0:6a895c900427 62
gscuttari 0:6a895c900427 63 const static unsigned short p_Viod_stg1 =200u; //20[A]
gscuttari 0:6a895c900427 64 const static unsigned short p_Viod_stg2 =500u; //50[A]
gscuttari 0:6a895c900427 65 const static unsigned short p_Vioc =40u; //4[A]
gscuttari 0:6a895c900427 66
gscuttari 0:6a895c900427 67 const static unsigned char p_D_iod_stg1 =4u; //40[ms]
gscuttari 0:6a895c900427 68 const static unsigned char p_D_iod_stg2 =2u; //20[ms]
gscuttari 0:6a895c900427 69
gscuttari 0:6a895c900427 70 const static unsigned char p_D_iovc = 40u; //400[ms]
gscuttari 0:6a895c900427 71
gscuttari 0:6a895c900427 72 const static unsigned char p_TempeNum= THER_NUM_CON;
gscuttari 0:6a895c900427 73 const static unsigned long p_Tempe25=10000u;
gscuttari 0:6a895c900427 74 const static unsigned long p_TempeB=3435u;
gscuttari 0:6a895c900427 75 const static unsigned long p_DivR=10000u;
gscuttari 0:6a895c900427 76 const static unsigned short p_TempeTime =1000u; //10[s]
gscuttari 0:6a895c900427 77
gscuttari 0:6a895c900427 78 const static char p_ut_c[THERMISTOR_NUM_MAX] = { -5, -5, -5, -5, -5, -5, -5, -5};
gscuttari 0:6a895c900427 79 const static char p_utr_c[THERMISTOR_NUM_MAX]= { 5, 5, 5, 5, 5, 5, 5, 5};
gscuttari 0:6a895c900427 80 const static char p_ut_d[THERMISTOR_NUM_MAX] = { -20, -20, -20, -20, -20, -20, -20, -20};
gscuttari 0:6a895c900427 81 const static char p_utr_d[THERMISTOR_NUM_MAX]= { -10, -10, -10, -10, -10, -10, -10, -10};
gscuttari 0:6a895c900427 82 const static char p_ot_c[THERMISTOR_NUM_MAX] = { 60, 60, 60, 60, 60, 60, 60, 60};
gscuttari 0:6a895c900427 83 const static char p_otr_c[THERMISTOR_NUM_MAX]= { 50, 50, 50, 50, 50, 50, 50, 50};
gscuttari 0:6a895c900427 84 const static char p_ot_d[THERMISTOR_NUM_MAX] = { 80, 80, 80, 80, 80, 80, 80, 80};
gscuttari 0:6a895c900427 85 const static char p_otr_d[THERMISTOR_NUM_MAX]= { 70, 70, 70, 70, 70, 70, 70, 70};
gscuttari 0:6a895c900427 86
gscuttari 0:6a895c900427 87 const static unsigned short p_D_Temp=3u;
gscuttari 0:6a895c900427 88
gscuttari 0:6a895c900427 89 const static unsigned short p_differential_voltage=0u;
gscuttari 0:6a895c900427 90
gscuttari 0:6a895c900427 91 const static unsigned short p_differential_voltage_rel=(unsigned short)((double)16*4095*(50/2)/VREF_VAL);
gscuttari 0:6a895c900427 92
gscuttari 0:6a895c900427 93 const static unsigned long p_TotalCellVol_ChargerEna=0u;
gscuttari 0:6a895c900427 94
gscuttari 0:6a895c900427 95 const static unsigned long p_TotalCellVol_ChargerEna_rel=(unsigned long)((double)16*4095*(60000/2)/VREF_VAL);
gscuttari 0:6a895c900427 96
gscuttari 0:6a895c900427 97 const static unsigned short p_Ah_Val=AH_VAL;
gscuttari 0:6a895c900427 98
gscuttari 0:6a895c900427 99 const static unsigned short p_Veint=(unsigned short)((double)16*4095*(3600/2)/VREF_VAL);
gscuttari 0:6a895c900427 100
gscuttari 0:6a895c900427 101 const static unsigned char p_Product_Id[PRODUCT_ID_NUM] = {'M','3','8'}; //Product ID
gscuttari 0:6a895c900427 102
gscuttari 0:6a895c900427 103 const static unsigned char p_ShortC= 2u; //0.3[V]
gscuttari 0:6a895c900427 104
gscuttari 0:6a895c900427 105 const static unsigned char p_eepUpTime= 1u; //1[min]-10[min]
gscuttari 0:6a895c900427 106
gscuttari 0:6a895c900427 107 //
gscuttari 0:6a895c900427 108 //#define ENERGY_X (0x00015D17) //( X x 1000 x 3600 / ((3300x1000)/(4096/*xRSENSExGim*/)) ) x (1000 / 50)
gscuttari 0:6a895c900427 109 #define SELFDCHG_VALUE (625u)
gscuttari 0:6a895c900427 110 //#define Energy_All ((double)AH_VAL*ENERGY_X*RSENSE_VAL/100/100u)
gscuttari 0:6a895c900427 111 #define Energy_All ((double)AH_VAL*36*4095*20*RSENSE_VAL/3300/100u)
gscuttari 0:6a895c900427 112
gscuttari 0:6a895c900427 113 const static unsigned long p_Energy_100 = (unsigned long)(Energy_All);
gscuttari 0:6a895c900427 114 const static unsigned long p_Energy_80 = (unsigned long)(Energy_All * 0.80);
gscuttari 0:6a895c900427 115 const static unsigned long p_Energy_60 = (unsigned long)(Energy_All * 0.60);
gscuttari 0:6a895c900427 116 const static unsigned long p_Energy_40 = (unsigned long)(Energy_All * 0.40);
gscuttari 0:6a895c900427 117 const static unsigned long p_Energy_20 = (unsigned long)(Energy_All * 0.20);
gscuttari 0:6a895c900427 118 const static unsigned long p_Energy_10min = Energy_All / (24u * 6u) / SELFDCHG_VALUE; //(X * 1000 * 3600 / 32.227) * (1000 / 10)
gscuttari 0:6a895c900427 119
gscuttari 0:6a895c900427 120
gscuttari 0:6a895c900427 121 const static unsigned char p_waitTimes = 1u;
gscuttari 0:6a895c900427 122 const static unsigned char p_ImonInit_waitTimes = 1u;
gscuttari 0:6a895c900427 123 const static unsigned char p_Imon_waitTimes = 1u;
gscuttari 0:6a895c900427 124 const static unsigned char p_fDrv_waitTimes = 3u;
gscuttari 0:6a895c900427 125 const static unsigned char p_pd_waitTimes = 3u;
gscuttari 0:6a895c900427 126 const static unsigned char psl_waitTimes = 10u;
gscuttari 0:6a895c900427 127 const static unsigned char p_psl_waitTimes = 10u;
gscuttari 0:6a895c900427 128
gscuttari 0:6a895c900427 129 #endif //_PARAM_H_