- T. Ebi and J. Henkel, KIT, SS13
http://ces.itec.kit.edu Battery Modeling 1
Low Power Design
Thomas Ebi and Prof. Dr. J. Henkel CES - Chair for Embedded Systems Karlsruhe Institute of Technology, Germany
- 2. Battery Modeling
Low Power Design Thomas Ebi and Prof. Dr. J. Henkel CES - Chair for - - PowerPoint PPT Presentation
1 Battery Modeling Low Power Design Thomas Ebi and Prof. Dr. J. Henkel CES - Chair for Embedded Systems Karlsruhe Institute of Technology, Germany 2. Battery Modeling http://ces.itec.kit.edu T. Ebi and J. Henkel, KIT, SS13 2 Battery
http://ces.itec.kit.edu Battery Modeling 1
Thomas Ebi and Prof. Dr. J. Henkel CES - Chair for Embedded Systems Karlsruhe Institute of Technology, Germany
http://ces.itec.kit.edu Battery Modeling 2
Levels of abstraction
Tasks
Optimize (i.e. minimize for low power) Design / co-design (synthesize, compile, …) Estimate and simulate
Battery issues software OS interconnect hardware memory Components consuming power
http://ces.itec.kit.edu Battery Modeling 3
Motivation and battery characteristics
Definition of battery capacity Rate dependent capacity temperature dependent capacity Fading of capacity through various charge-/discharge cycles
Need for battery modeling Battery models Applying battery models
http://ces.itec.kit.edu Battery Modeling 4
Summary: 1) a reduction-oxidation process (see last lecture) makes electrons migrate from anode to cathode, 2) Thus, chemical energy is converted into electrical energy, 3) When discharged, the voltage drops Various definitions of capacity [Wh] (since capacity is NOT constant) Full charge capacity: remaining capacity of a fully charged battery at the beginning of a discharge cycle Full design capacity: capacity of a newly manufactured battery Theoretical capacity: max amount of charge that can be extracted from a battery based on the amount of active material (chemical) it contains Standard capacity: amount of charge that can be extracted from battery when discharged under standard load and temp. conditions Actual capacity: amount of charge the battery delivers under applied load and given temperature
http://ces.itec.kit.edu Battery Modeling 5
Rate: defines how fast the battery is discharged Shown is the mechanism that defines rate- dependent capacity A) charged state B) before recovery C) after recovery D) discharged state
(Src: [Rao03])
http://ces.itec.kit.edu Battery Modeling 6
Why does battery capacity depend on the (discharge) rate? (see also figure) ? State A: electrode surface contains max. # of active species; State B: when connected to a load, a current flows through external circuit; active species are consumed at electrode surface and replenished by diffusion from the bulk of the electrolyte; however, diffusion cannot keep pace -> a concentration gradient builds up over the width of the electrolyte
Note: a higher load current results in a higher gradient -> less active species available at electrode surface
http://ces.itec.kit.edu Battery Modeling 7
State B/C/D: if concentration is below a certain threshold (=> voltage cutoff), the chemical reaction cannot be sustained at electrode surface; the charge that was unavailable (but kind of present through gradient) cannot be used => so, capacity of battery is reduced State D: non-used charge is physically not lost but unavailable due to lag between reaction and diffusion rates (load was probably too large (current-wise))
Note: reducing discharge rate reduces the effect The lower the discharge rate the faster the battery can recover and make formerly unavailable charge available again (recovery) Note: if system designers are aware of the effect they can maximize the energy drawn from a battery and prevent early discharged state If discharge rate is very small => maximum amount of energy can be drawn from battery
http://ces.itec.kit.edu Battery Modeling 8
Discharging a battery involves a chemical reaction. As such it depends on the temperature (some chemical reactions increase activity by 2x when temperature rises by 10K) Below room temp (~25 degree centigrade): chemical activity in battery decreases notably and internal resistance (migration through electrolyte etc.) increases
-> full-charge capacity is decreased -> increases slope of discharge curve
Higher temperatures:
-> increase of chemical activity, full charge capacity, voltage -> but leads also to higher rate of self-discharge -> might actually decrease actual capacity
http://ces.itec.kit.edu Battery Modeling 9
Problem: every charge/discharge cycle reduces full charge capacity Reason: side effects occurring in battery during chemical reaction
electrolyte decomposition Active material dissolution Passive film formation -> all these effects are irreversible => reduces capacity in the short/mid term => leads to failure of battery in long term
How to reduce these effects:
electronic system needs to control the discharge level (i.e. switch
Deep discharge will reduce life (i.e. # of charge/discharge cycles of battery). This holds even for Lithium-Ion batteries !
http://ces.itec.kit.edu Battery Modeling 10
Lithium-Ion battery discharge characteristics: A) rate-dependent capacity B) temperature dependency C) fading of capacity with number of charge/discharge cycles
(Src: [Rao03])
2,000 1,800 1,600 1,400 1,200 1,000
http://ces.itec.kit.edu Battery Modeling 11
Why:
If designer of portable knows about the effects the system can be designed such that Amount of energy drawn from battery can be maximized => leads to longer run-time of system before re-charge is necessary Optimize trade-off between energy drawn and life time of the battery Life time of battery can be maximized -> reduces costs for maintaining a system Need to predict battery capacity in order to choose right battery for a given electronic system
How? -> Issues:
Accuracy: what accuracy is necessary? Computational complexity Optimize trade-off between Configuration effort (# of parameters; is chemical knowledge of battery necessary?) Analytical insight: qualitative understanding of battery behavior. Useful in exploring ways to trade off lifetime and performance
http://ces.itec.kit.edu Battery Modeling 12
Shown are approaches at various levels of abstraction capturing more or less diverse battery characteristics
(Src: [Rao03])
http://ces.itec.kit.edu Battery Modeling 13
(Src: [Rao03])
http://ces.itec.kit.edu Battery Modeling 14
Ideal battery: capacityN = trun * I, I - constant
(note: capacity may be given in Wh or Ah)
Peukert Law: capacityN = trun * Iα
Alpha: exponent accounts for discharge rate capacityN: normalized capacity for 1 Ampere (standard capacity) + simple way to model capacity(discharge_rate) - alpha is different for different temperatures -> needs to be
- alpha also depends on battery type etc. (e.g. Li-ion: alpha= 1.05)
1
I capacity t I
N run
Actual capacity:
http://ces.itec.kit.edu Battery Modeling 15
Idea:
Rather than describing the behavior of a battery how it has been
effects of the battery in a constructive way
Models differ at level of abstraction and amount of details that are included Some approaches to battery modeling/emulation
Battery emulation (more details later) Stochastic model (more details later) Discrete-time model using VHDL (more details later) Others: PSPICE model (electrical circuit)
http://ces.itec.kit.edu Battery Modeling 16
Problem: want to design electronic system to adapt to battery characteristics. System exists already in form of hardware and is analyzed by measuring the current/voltage
Obvious ways
1. Use non-rechargeable batteries - under circumstance large costs since many runs need to be performed until all characteristics are explored 2. Use re-chargeable batteries: - problem: after recharge, battery might have different characteristics (fading of capacity) and as such results may not be reproducible Additional problem: temperature dependency might prevent reproducibility
Goal: full reproducibility
http://ces.itec.kit.edu Battery Modeling 17
Solution: build a hardware that emulates a battery [Park05] Fig. a)
a regular battery with internal resistance R_i Observed voltage: V_b = V_oc – I x R_i When battery discharges, V_oc decreases while R_i increases (dep. on batteries state and internal temperature)
Fig. b)
The simulation model can maintain battery’s state; ambient temp. and current can be measured Emulator performs repeatedly: measure I and T Call simulator to compute V_oc and R_i in response to I and T Set V_oc and R_i
Battery simulator + –
Voc Ri
A Battery emulator
Ci V
b
Ri
+ –
V
Ri
Battery
Ci Vb Ri
(a) (b)
V_oc - initial potential
under no-load condition (i.e. no current)
http://ces.itec.kit.edu Battery Modeling 18
Sensor Adjustable regulator Load B# hardware Analog-digital converters M ocrocontroller
T I V V T I V V
Digital-analog converter Software on host com puter Dualfoil or other power m odel Ethernet Com m unication handler Configuration and callibration Host com puter G UI
Basic idea: combine speed and accuracy of a measurement-based approach and flexibility and reproducibility of simulation-based approach Can implement many battery models like “Dualfoil” (Dualfoil”: one of the most accurate simulators for Lithium-Ion batteries; has 58 paramters: geometrical dimension of anode, cathode etc. plus chemistry parameters etc.)
http://ces.itec.kit.edu Battery Modeling 19
Rate: defines how fast the battery is discharged Shown is the mechanism that defines rate- dependent capacity A) charged state B) before recovery C) after recovery D) discharged state
(Src: [Rao03])
http://ces.itec.kit.edu Battery Modeling 20
Idea: to model the recovery effect mathematically (see [Pani01]) Some definitions:
“charge unit” – smallest amount battery may be discharged with T – number of maximum available charge units N – nominal capacity of charge units (nominal: for very small currents). In practice: N << T N, T vary dependent upon battery and discharge current State of charge is tracked via a discrete time transient stochastic process Model: see next slide
http://ces.itec.kit.edu Battery Modeling 21
N-1 N
q 2 q 2 q 1 q 1 p (f)
N-2 N-1
r (f)
N-1
r (f)
N
... Sq
i=N i
Sq
i=1 i
Sq
i=2 i
1
q 2 q 1 r (f)
1
...
p (f)
1
p (f)
(Src: [Pani01])
Functionality (general):
Stochastic process starts from state of full charge (V = V_oc), denoted by N At each time unit, the state of charge decreases from state z to z-n with n being the charge units demanded from the battery On the other side: if no charge units are demanded, battery may recover => state of charge z may increase Stochastic process stops at absorbing state (V = V_cut; V_cut – cut-off voltage) OR the max available capacity T is reached. Allowing idling periods between discharges => battery recovers and # of charge units drained before reaching state 0 is greater than N
http://ces.itec.kit.edu Battery Modeling 22
Stochastic process model:
q_i - probability that in one time unit (slot) a number of i charge units are demanded Starting from N at each slot i charge units are lost: cell moves from state z to z-i Recovery process: Is represented as a decreasing exponential function of the state of the battery (i.e. it is the smaller, the smaller the remaining charge of the battery is) During discharge, different phases can be identified: Each phase f, (f=0, … , f_max) starts right after d_f charge units have been drained from battery and ends when the amount of discharged capacity reaches d_(f+1) charge units Probability of recovering 1 charge unit in a time slot dependent upon state j (j=1, …, N-1) and phase f is g_N, g_C - parameters that depend upon the capability of recovery of the battery; a small g_N represents high cell conductivity (high recov. capability) and a large g_N represents high internal resistance
(Src: [Pani01])
http://ces.itec.kit.edu Battery Modeling 23
G_C - is related to the voltage drop of the battery cell during discharge q_0 - is probability of an idle slot There is a probability to remain in the same state when discharged (due to the recovery effect): Assumption: g_N is constant; g_C is a piecewise constant function of the number of charge units already drawn off the cell; it changes value in correspondence with d_f (f = 1, … , f_max). It is d_0=0 and d_(f- max+1)=T. Proper values are chosen according to the battery
(Src: [Pani01])
http://ces.itec.kit.edu Battery Modeling 24
One single simulation step
The stochastic model (s) compared to exact model using partial differential equations So, what is the advantage? => stochastic model has fewer detail and is therefore much faster to simulate and still sufficiently accurate
0.3 0.2 0.4 0.5 0.6 0.7 0.8 0.9 1 3 5 9 7 11 13 15
+
* * * * *
+
discharge rate
normalized delivered capacity
*
I= 90A/m -s I= 90A/m -e I= 100A/m -s I= 100A/m -e I= 110A/m -s I= 110A/m -e
2 2 2 2 2 2
+
*
(Src: [Pani01])
http://ces.itec.kit.edu Battery Modeling 25
Idea: overcome the gap between electrical level and high-level simulation The model describes first-order effects and second order effects and implements them as a VHDL model First-Order Effects: There are three first-order effects that a model of a battery must take into account.
(SOC): Voltage V_Batt decreases monotonically as the battery is discharged, but the rate of decrease is not constant.
rate: At higher rates, the cell is less efficient at converting its chemically stored energy into available electrical energy.
charge the battery can deliver: The battery does not react instantaneously to load changes, but it shows considerable inertia, caused by the large time constants that characterize electrochemical phenomena.
http://ces.itec.kit.edu Battery Modeling 26
I(V )
Sense
+
– Vc C V (V )
Lost Rate
I(V )
Sense
VRate C + –
t
R t V =
r CAPACITY
+ –
+ – VSense V (V )
Ideal c
VBatt IBatt
Dependency on discharge rate is modeled with a voltage source V_lost in series with the charge storage capacitor. Voltage V_lost reduces the apparent charge of the battery [which controls battery voltage (V_Batt)]. The value of V_lost is a nonlinear function of the discharge rate (which can be modeled by another LUT). Dependency on the discharge frequency, and the time-domain transient behavior of the battery are modeled by averaging the instantaneous discharge rate used to control V_lost through a low-pass filter (R_f, C_f). The low-pass filter models the relative insensitivity of batteries to high-frequency changes in discharge current. Dependency on the SOC (state-of-charge) (V_ideal(V_C)) is realized by storing several points of the curve into a lookup table (LUT) addressed by the value of the state of charge (V_C). The model is accurate up to a minimum cutoff voltage, after which the battery is considered fully discharged.
V_sense is a zero-valued voltage source added in series as the discharge- current (I_Batt) sensor (Src: [Benini01])
http://ces.itec.kit.edu Battery Modeling 27
Also considered: secondary effects: external temperature, battery-internal
VHDL program is based on circuit-level model and consists of two concurrent, communicating
the value of node V_C in the instantaneous state of charge of the battery (accounting for losses due to high discharge rate). The second process (Compute)V_lost) computes the value of V_lost (low-pass filter). The output voltage of the battery V_Batt is a function of V_C. It is implemented as a continuous assignment: V_Batt=F(V_C) where F is realized by a LUT with linear interpolation (PWL). The main challenge: discretization is required to simulate values in an event-driven setting. Therefore, implemented are an autonomous source of events (signal update) that generates events at a fixed
source generates an event. The change in SOC is
the continuous-time model over the update period. Function:
entity battery is port( : in amps; update : in std_logic; : out real); end battery; architecture behavior of battery is begin <= PWL( ) + – * ;
Compute_ : process ( ) begin := ( – * ( )); (*) <= ( – ); ; = ; end process; Compute_ : process ( ) begin := ; (**) := ( ) * ( t)/( * )) + ; := PWL( ); if ’event) then := ; Compute <= ‘1’ after ( / 5.0), ‘0’ after ( / 5.0 * 2.0), ‘1’ after ( / 5.0 * 3.0), ‘0’ after ( / 5.0 * 4.0), ‘1’ after ( / 5.0 * 5.0), ‘0’ after ( / 5.0 * 6.0); end if; end process; end behavior; I V V V V R I V V I update, V cap_act cap_act I NOW – chgt V cap_act/cap_i V I = I chgt NOW V I update, Compute V I /CAPACITY V V
exp –(NOW – chg R C V V V I V V
Batt batt Batt C Cell_Temp Int Batt Cell_Temp C Batt, Lost BattOld C Lost BattOld Batt Lost Batt, BattOld Rate RateOld f f Lost Rate Batt RateOld Rate
t t t t t t t t t
(Src: [Benini01])
http://ces.itec.kit.edu Battery Modeling 28
An analytical model that characterizes a battery using two constants, α and β, derived from the lifetime values for a series of constant load tests. β - models the rate at which the active charge carriers are replenished at the electrode surface (recovery) α - a measure of the battery’s theoretical capacity,
concentration behavior during one-dimensional diffusion in an electrochemical cell, the relation between load i, battery lifetime L, and other battery parameters is: The charge the load consumed
The charge that was “unavailable” at the electrode surface at the time of failure L. The unavailable charge models the effect of the concentration gradient that builds up as the flow of active species through the electrolyte falls behind the rate at which they discharge at the electrode surface.
(Src: [Rakh01])
1 0
2 2
m L L m L
t
http://ces.itec.kit.edu Battery Modeling 29
Battery-aware scheduling (more details later) Battery-aware power supply design Load-profile shaping for multi-battery systems (Benini)
Sequentially discharging each battery until empty Static switching: discharge each battery for fixed duration in round- robin schedule (allows batteries to recover) Dynamic switching of batteries: schedule the healthiest battery for discharge at any time
Battery-aware dynamic power management
DPM: typically only try to minimize power consumption of whole system Idea: include non-ideal battery characteristics into the strategy (e.g. “sleep” adapted to battery recovery cycle etc.)
http://ces.itec.kit.edu Battery Modeling 30
See, [Luo01] Idea: adjust tasks’ schedule such that battery’s capacity as a function of current distribution is taken into consideration Basis is the following equation: It is
V – voltage (assumed constant) I - actual current drawn (piece-wise constant) c(I) – utilization factor i.e. ratio of battery capacity at discharge current I to standard capacity. This relationship may be expressed through Peukert’s law: c(I) = k / Ib (normalized) - is the probability density function of I (a measure of how evenly the value of the current is distributed) (eq 1) (eq 2)
(Src: [Pedram99])
http://ces.itec.kit.edu Battery Modeling 31
Eample 1: map a task graph to PEs (processing elements)
Assumptions: 2 PEs are connected via 1 bus Intra-task communication costs are 0 Power drawn during each task execution is constant Notion: tx (y) means: task ‘x’ has power consumption of ‘y’ units Task graph 2 possible schedules
time
(Src: [Luo01])
http://ces.itec.kit.edu Battery Modeling 32
Example 1: (cont’d)
Two different valid schedules are shown Using equations 1 and 2 (and appropriate parameters) it turns out that the lower schedule is 15% more power efficient => obviously equations 1 and 2 can be used in a cost function of a schedule to minimize the power consumption through considerations of battery effects
Example 2:
Same assumptions as before except for t1, t3, t4, t5, t7 -> 0.2sec worst-case execution time (WCET) T2, t6 -> 0.3sec Edges (communication) e1, e2 -> 0.1sec Task graph as shown on next slide P (average) of each task is 1 unit; … of each edge is 0.2units
http://ces.itec.kit.edu Battery Modeling 33
Example 2: (cont’d)
An ASAP schedule is the initial one The second schedule: a voltage scaling (P = 1/2 x A x C x f x V^2) is performed by extending the execution time of the tasks to their latest finish time
Result:
Power consumption a) 1.37 units Power consumption b) 1.05 units 50% increase in battery life (compared to a) )
(Src: [Luo01])
http://ces.itec.kit.edu Battery Modeling 34
Example 3:
Assumptions: like in ex 2, but: initial schedule is different (not ASAP but more evenly (power-wise) distributed tasks and communication edges and such can further profit according to equations 1, 2
Result:
Power consumption b) 0.96 units 71% increase in battery life
(Src: [Luo01])
http://ces.itec.kit.edu Battery Modeling 35
(rechargeable) batteries have non-ideal effects like: capacity depending on temp, current that is drawn etc. When these effects are known, they can be modeled at different levels of abstraction (transistor, or higher levels) depending on what accuracy is needed and how many time is available for simulation The battery models can eventually be deployed in order to estimate or optimize the system’s power/energy consumption and increase the system’s run-time before a re-charging is necessary
http://ces.itec.kit.edu Battery Modeling 36
[Piguet04] Ch. Piguet (Ed.), “Low Power Electronics Design”, CRC Press, ISBN 0-8493- 1941-2, 2004. [Park05] Chulsung Park, Jinfeng Liu, Pai H. Chou, “B#: A Battery Emulator and Power- Profiling Instrument”, IEEE Design & Test of Computers, Volume: 22 , Issue: 2, pp.150 - 159, Feb. 2005. [Luo01] Luo, J. Jha, N.K., Battery-aware static scheduling for distributed real-time embedded systems, IEEE/ACM Proc. Of Design Automation Conference (DAC’01), pp.444 – 449, June 2001. [Pani01] Panigrahi T,D., Panigrahi D., Chiasserini, C., Dey, S., Rao R., Raghunathan A., Lahiri K., "Battery life estimation of mobile embedded systems", 14th. IEEE VLSI Design International Conf. 2001, pp.57-63, 2001. [Rao03] Rao, R. Vrudhula, S. Rakhmatov, D.N, “Battery modeling for energy aware system design”, IEEE ComputerMagazine, Dec. 2003, Volume: 36 , Issue: 12 , pp.77 – 87. [Benini01] Benini, L. Castelli, G. Macii, A. Macii, E. Poncino, M. Scarsi, R, “Discrete-time battery models for system-level low-power design”, IEEE Tr. on Very Large Scale Integration (VLSI) Systems, Volume: 9, Issue: 5, pp.630-640, 2001. [Rakh01] Rakhmatov, D.N.; Vrudhula, S.B.K.; "An analytical high-level battery model for use in energy management of portable electronic systems", IEEE/ACM International Conference on CAD (ICCAD2001), 4-8 Nov. pp.488-493, 2001. [Pedram99] Pedram, M.; Qing Wu; "Design considerations for battery-powered electronics", IEEE/ACM Proc. of 36th. Design Automation Conference (DAC99), pp.861- 866, 1999.