Changes

Jump to: navigation, search

Power management (Axel)

1,402 bytes added, 16:36, 10 October 2016
Measuring power consumption
{{AppliesToAxel}}
{{AppliesToAxelLite}}
{{AppliesToAxelEsatta}}
{{InfoBoxBottom}}
</pre>
When dynamic processor's voltage/frequency scaling is enabled, Linux kernel performs a lot of transactions between different [[FAQs_(Axel)#Q:_How_can_I_change_the_CPU_clock_frequency.3F|OPPs]]. Two approaches are available to implement such transactions:
* PMIC-based: in this case an external Power Management Integrated Circuit (PMIC) is used to change the processor's voltages
* internal LDOs-based: in this case processor's internal linear regulators are used to change such voltages.
PMIC is connected to the processor via I2C bus. As such, every time a transaction is needed, several I2C packets need to be trasnmitted transmitted over I2C bus, resulting in a relatively slow overall transaction time. This may lead to an increase of maximum interrupt latency. In case LDOs-based approach is adopted instead, transaction transactions are quicker because LDOs configuration registers are directly accessible in the processor's address space. On the other hand, the use of LDOs has a significant drawback as explained in the following section. Please note that OPP transactions may be prevented at all by manually configuring the governor in order to use a fixed OPP. For more details please refer to [[Linux_and_interrupt_latency_(Axel)|this page]].
==Processor heating and lifetime==
Use of internal LDOs increases the power dissipation on processor side significantly. As a consequence, operating junction temperature increases as well. This fact has to be taken into consideration at system integration level, as it affects directly is strictly related to expected processor lifetime. For more details please refer to
<ref name="AN4724">Freescale Semiconductor, Inc., ''AN4724 i.MX 6Dual/6Quad Product Lifetime Usage Estimates''</ref>
and
<ref name="AN4725">Freescale Semiconductor, Inc., ''AN4725 i.MX 6Solo/6DualLite Product Lifetime Usage Estimates''</ref>.
 
==Measuring power consumption==
[[AxelEVB-Lite|AxelEVB]] integrates a chip (Texas Instruments INA226) that allows to measure the power consumption of the Axel SOM. Following are the instructions to perform basic measurements (tested with the Linux kernel released with [[Axel_Embedded_Linux_Kit_(XELK)|XELK 2.3.0]]).
 
SOM power consumption measurements are available to be read from userspace via <code>sysfs</code> entries. Following are the entries for:
* Voltage expressed in mV:
<pre>
root@axel-lite:~# cat /sys/class/hwmon/hwmon0/device/in0_input
5
root@axel-lite:~# cat /sys/class/hwmon/hwmon0/device/in1_input
3286
</pre>
* Current expressed in mA:
<pre>
root@axel-lite:~# cat /sys/class/hwmon/hwmon0/device/curr1_input
425
</pre>
* Power expressed in uW:
<pre>
root@axel-lite:~# cat /sys/class/hwmon/hwmon0/device/power1_input
1500000
</pre>
 
INA225 - referenced as U25 on AxelEVB - is very flexible. For more details about possible please refer to its data sheet (http://www.ti.com/product/INA226).
 
==Useful links==
*[[FAQs (Axel)]]
*[[Thermal management (Axel)]]
*[[Power consumption (AxelLite)]]
==References==
{{reflist}}
4,650
edits

Navigation menu