ML5238
param.h@0:6a895c900427, 2019-04-15 (annotated)
- Committer:
- gscuttari
- Date:
- Mon Apr 15 10:20:43 2019 +0000
- Revision:
- 0:6a895c900427
ML5238
Who changed what in which revision?
User | Revision | Line number | New 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_ |