- Prof. Jörg Henkel, Low Power Design, SS2014 ces.itec.kit.edu
Low Power Design
- Prof. Dr. J. Henkel
CES - Chair for Embedded Systems KIT, Germany
- III. Battery Modeling
Low Power Design Prof. Dr. J. Henkel CES - Chair for Embedded - - PowerPoint PPT Presentation
Low Power Design Prof. Dr. J. Henkel CES - Chair for Embedded Systems KIT, Germany III. Battery Modeling Prof. Jrg Henkel, Low Power Design, SS2014 ces.itec.kit.edu 2 Course overview: topics Components
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
3
Definition of battery capacity Rate dependent capacity temperature dependent capacity Fading of capacity through various charge-/discharge cycles
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
5
Note: a higher load current results in a higher gradient -> less active species available at electrode surface
6
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
7
Shown is the mechanism that defines rate-dependent capacity A) charged state B) before recovery C) after recovery D) discharged state
(Src: [Rao03])
8
decrease actual capacity
9
Lithium-Ion battery discharge characteristics: A) rate-dependent capacity B) temperature dependency C) fading of capacity with number of charge/discharge cycles 1,
(Src: [Rao03])
2,000 1,800 1,600 1,400 1,200 1,000
10
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
=> 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 off when battery is almost empty) Deep discharge will reduce life (i.e. # of charge/discharge cycles of battery). This holds even for Lithium-Ion batteries !
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: what effects are known and do the effects relatively matter
12
(Src: [Rao03])
13
(note: capacity may be given in Wh or Ah)
Alpha: exponent accounts for discharge rate + simple way to model capacity(discharge_rate)
14
Rather than describing the behavior of a battery how it has been
effects of the battery in a constructive way
Battery emulation (more details later) Stochastic model (more details later) Discrete-time model using VHDL (more details later) Others:
PSPICE model (electrical circuit)
15
performed until all characteristics are explored
(fading of capacity) and as such results may not be reproducible
Additional problem: temperature dependency might prevent reproducibility
16
Solution: build a hardware that emulates a battery [Park05]
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_in increases (dep
The simulation model can maintain battery’s state; ambient temp. an current can be measured Emulator performs repeatedly: measure I and T Call simulator to compute V_oc and R_i in respeonse 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)
17
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.)
18
“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
19
N-1 N
q 2 q 2 q 1 q 1 p (f)
N-2 N-1
r (f)
N-1
r (f)
N
... Σq
i=N i
Σq
i=1 i
Σq
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 i to i-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 i 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
20
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])
21
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])
22
One single simulation step of the battery is as follows:
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])
23
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.
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.
24
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])
25
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
τ τ τ τ τ τ τ τ τ
(Src: [Benini01])
26
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,
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])
27
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
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.)
28
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 * I ^ (alpha) (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])
29
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 T ask graph 2 possible schedules
time
(Src: [Luo01])
30
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
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
31
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
Power consumption a) -> 1.37 units Power consumption b) -> 1.05 units
(Src: [Luo01])
32
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
Power consumption a) -> 0.96 units
(Src: [Luo01])
33
34
[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.