| 1 | {{{#!html |
| 2 | <div id="wikipage" class="trac-content"><p> |
| 3 | </p><div class="wiki-toc"> |
| 4 | <ol> |
| 5 | <li> |
| 6 | <a href="#Concept">Concept</a> |
| 7 | </li> |
| 8 | <li> |
| 9 | <a href="#PowerMeasurements"><b style="color:#000;background:#66ffff">Power</b> Measurements</a> |
| 10 | <ol> |
| 11 | <li> |
| 12 | <a href="#ProcessorDependentPowerUsage">Processor Dependent <b style="color:#000;background:#66ffff">Power</b> Usage</a> |
| 13 | </li> |
| 14 | <li> |
| 15 | <a href="#PeripheralPowerTable">Peripheral <b style="color:#000;background:#66ffff">Power</b> Table</a> |
| 16 | </li> |
| 17 | </ol> |
| 18 | </li> |
| 19 | <li> |
| 20 | <a href="#HowtoReducePower">How to Reduce <b style="color:#000;background:#66ffff">Power</b></a> |
| 21 | <ol> |
| 22 | <li> |
| 23 | <a href="#IMX6internalLDOldo-bypassvsldo-enabled">IMX6 internal LDO (ldo-bypass vs ldo-enabled)</a> |
| 24 | </li> |
| 25 | <li> |
| 26 | <a href="#Peripherals">Peripherals</a> |
| 27 | </li> |
| 28 | <li> |
| 29 | <a href="#DVFS">DVFS</a> |
| 30 | </li> |
| 31 | <li> |
| 32 | <a href="#ReducingCores">Reducing Cores</a> |
| 33 | </li> |
| 34 | </ol> |
| 35 | </li> |
| 36 | <li> |
| 37 | <a href="#PowerProtection"><b style="color:#000;background:#66ffff">Power</b> Protection</a> |
| 38 | </li> |
| 39 | </ol> |
| 40 | </div><p> |
| 41 | </p> |
| 42 | <h1 id="Concept">Concept</h1> |
| 43 | <p> |
| 44 | A question we typically receive deals with <b style="color:#000;background:#66ffff">power</b> consumption of our product. Usually, these questions deal with <b style="color:#000;background:#66ffff">power</b> differentiating between <a class="ext-link" href="http://www.gateworks.com/product#ventana"><span class="icon"></span>typical</a> operating <b style="color:#000;background:#66ffff">power</b> that we state on our <a class="ext-link" href="http://www.gateworks.com/product#ventana"><span class="icon"></span>products page</a> and what the user is actually seeing. This page will try to detail what typical <b style="color:#000;background:#66ffff">power</b> usage means and our internal <b style="color:#000;background:#66ffff">power</b> measurements with various modes of operation and different types of hardware. |
| 45 | </p> |
| 46 | <h1 id="PowerMeasurements"><b style="color:#000;background:#66ffff">Power</b> Measurements</h1> |
| 47 | <p> |
| 48 | The following "<b style="color:#000;background:#66ffff">Power</b> Table" shows our results for different processor configurations for our different products. Our "typical" <b style="color:#000;background:#66ffff">power</b> usage comes from our standard product, processor dependent <b style="color:#000;background:#66ffff">power</b> usage, as seen in <a class="wiki" href="/wiki/ventana/power#processordependentpowerusage">this section below</a>. The <b style="color:#000;background:#66ffff">power</b> differences between our BSP's is due to the fact that some drivers do not exist in one, and do in the other. Because of this, the BSP with more driver support has the ability to turn off certain components and save <b style="color:#000;background:#66ffff">power</b> that the other cannot. |
| 49 | </p> |
| 50 | <h2 id="ProcessorDependentPowerUsage">Processor Dependent <b style="color:#000;background:#66ffff">Power</b> Usage</h2> |
| 51 | <p> |
| 52 | Each "delta" is based on our standard product at a linux prompt with the vendor kernel using the <strong>Yocto 1.8</strong> BSP, which is <strong>bolded</strong> in the table below. To calculate a <b style="color:#000;background:#66ffff">power</b> estimate for a particular system configuration start with the lower <b style="color:#000;background:#66ffff">power</b> range found in this chart and then go down to the <strong>Peripheral <b style="color:#000;background:#66ffff">Power</b> Table</strong> and add the <b style="color:#000;background:#66ffff">power</b> numbers for each of the different peripherals to these base number. Note these are general guidelines and results can vary widely depending on the software running and system setup. |
| 53 | </p> |
| 54 | <p> |
| 55 | These are <strong>approximated</strong> values. Ranges show feasible min-max overall draws. |
| 56 | </p> |
| 57 | <table class="wiki"> |
| 58 | <tr><th> Processor Deltas </th><th> GW5100 </th><th> GW5200 </th><th> GW5300 </th><th> GW5400 </th><th> GW5510 </th><th> GW5520 |
| 59 | </th></tr><tr><td> i.MX6SOLO </td><td> -.1W </td><td> -.1W </td><td> -.1W </td><td> -.42W </td><td> <strong>1.32-3.95W</strong> </td><td> -.1W |
| 60 | </td></tr><tr><td> i.MX6DL </td><td> <strong>.79-4W</strong> </td><td> <strong>2.85-4.7W</strong> </td><td> <strong>3.25-6.3W</strong> </td><td> -.32W </td><td> +.1W </td><td> <strong>2.23-4.8W</strong> |
| 61 | </td></tr><tr><td> i.MX6Q </td><td> +.23-3W </td><td> +.1-3.4W </td><td> +.5-3.7W </td><td> <strong>5.34-11.2W</strong> </td><td> +.1-3W </td><td> +.3-3W |
| 62 | </td></tr></table> |
| 63 | <p> |
| 64 | |
| 65 | If you wish to discuss a board with a cpu change from our standard product, please our sales department <a class="ext-link" href="http://www.gateworks.com/contact"><span class="icon"></span>here.</a> |
| 66 | </p> |
| 67 | <h2 id="PeripheralPowerTable">Peripheral <b style="color:#000;background:#66ffff">Power</b> Table</h2> |
| 68 | <p> |
| 69 | The following table denotes <b style="color:#000;background:#66ffff">power</b> consumption based on peripheral use. The <==== symbol shows that the previous value holds in this place. An 'x' means that functionality does not exist on that particular board. |
| 70 | </p> |
| 71 | <p> |
| 72 | These are <strong>approximated</strong> values. |
| 73 | </p> |
| 74 | <table class="wiki"> |
| 75 | <tr><th> Peripheral Table </th><th> GW5100 </th><th> GW5200 </th><th> GW5300 </th><th> GW5400 </th><th> GW5510 </th><th> GW5520 </th><th> Notes |
| 76 | </th></tr><tr><td> <a class="wiki" href="/wiki/OpenWrt">OpenWrt</a> Prompt (14.08) </td><td> +1.1W </td><td> +.31W </td><td> +1.21W </td><td> +.7W </td><td> +.9W </td><td> +1.07W </td><td> Please see note <sub>1</sub>; Delta is based on above Yocto values |
| 77 | </td></tr><tr><td> 100mbps Link </td><td> +.11W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td style="text-align: center"> |
| 78 | </td></tr><tr><td> 1000mbps Link </td><td> +.50W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td style="text-align: center"> |
| 79 | </td></tr><tr><td> 100mbps udp iperf client </td><td> +.81W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td style="text-align: center"> |
| 80 | </td></tr><tr><td> 400mbps udp iperf client </td><td> +1.18W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td style="text-align: center"> |
| 81 | </td></tr><tr><td> OTG+4GB FLASH </td><td> +.38W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> Generic 4GB Flash Drive |
| 82 | </td></tr><tr><td> HDMI Out </td><td> +.18W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> Please see note <sub>2</sub> |
| 83 | </td></tr><tr><td> HDMI In </td><td> x </td><td> x </td><td> x </td><td> +1W </td><td> <===== </td><td> x </td><td> Please see note <sub>3</sub> |
| 84 | </td></tr><tr><td> HDMI <tt>In/Out</tt> </td><td> x </td><td> x </td><td> x </td><td> +1.3W </td><td> <===== </td><td> x </td><td> Please see note <sub>4</sub> |
| 85 | </td></tr><tr><td> LVDS 0% </td><td> x </td><td> +.88W </td><td> <===== </td><td> <===== </td><td> x </td><td> x </td><td> LVDS screen is connected, but blanked |
| 86 | </td></tr><tr><td> LVDS Out (50%) </td><td> x </td><td> +1.85W </td><td> <===== </td><td> <===== </td><td> x </td><td> x </td><td> Please see note <sub>2</sub> |
| 87 | </td></tr><tr><td> CVBS In </td><td> +.34W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> x </td><td> x </td><td> Please see note <sub>3</sub> |
| 88 | </td></tr><tr><td> CVBS <tt>In/Out</tt> </td><td> +.64W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> x </td><td> x </td><td> Please see note <sub>4</sub> |
| 89 | </td></tr><tr><td> CPU Active </td><td> +1.62W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> Please see note <sub>5</sub> |
| 90 | </td></tr><tr><td> GPU Active </td><td> +1.03W </td><td> +1.41W </td><td> +1.5W </td><td> +2.4W </td><td> +.95W </td><td> +1.01W </td><td> Please see note <sub>6</sub> |
| 91 | </td></tr><tr><td> VPU Active </td><td> +.55W </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> <===== </td><td> Please see note <sub>7</sub> |
| 92 | </td></tr><tr><td> Board Fully Stressed </td><td> +3.2W </td><td> +1.86W </td><td> +3.06W </td><td> +5.86W </td><td> +2.63W </td><td> +2.58W </td><td> Please see note <sub>8</sub> |
| 93 | </td></tr></table> |
| 94 | <p> |
| 95 | <sub>1 Note that the GW5400 has the most components and thus has higher <b style="color:#000;background:#66ffff">power</b> cost compared to GW5300 etc since <a class="wiki" href="/wiki/OpenWrt">OpenWrt</a> currently doesn't have driver support for all components on the board</sub><br /> |
| 96 | <sub>2 gst-launch videotestsrc pattern=0 ! mfw_v4lsink device=/dev/video16</sub><br /> |
| 97 | <sub>3 gst-launch tvsrc device=/dev/video0 ! fakesink</sub><br /> |
| 98 | <sub>4 gst-launch tvsrc device=/dev/video0 ! mfw_v4lsink device=/dev/video16</sub><br /> |
| 99 | <sub>5 stress --io 32 --cpu 32 </sub><br /> |
| 100 | <sub>6 export DISPLAY=:0.0; /opt/fsl-gpu-sdk/GLES2/S08_EnvironmentMappingRefraction/S08_EnvironmentMappingRefraction_X11</sub><br /> |
| 101 | <sub>7 gst-launch-1.0 videotestsrc ! imxvpuenc_h264 ! queue ! imxvpudec ! fakesink</sub><br /> |
| 102 | <sub>8 Used multiple instances of notes 5,6,7 to reach max current draw</sub><br /> |
| 103 | </p> |
| 104 | <p> |
| 105 | For example, to estimate the <b style="color:#000;background:#66ffff">power</b> range for a GW5100 with an i.MX6DL Processor with Yocto BSP, using 1000mbps link with CVBS In, the estimated <b style="color:#000;background:#66ffff">power</b> usage would be 0.79W + .5W + .34W = 1.63W at the low end and then add 3.2W to this number if maximally stressed = 4.83W |
| 106 | </p> |
| 107 | <p> |
| 108 | <span class="wikianchor" id="power-reduction"></span> |
| 109 | </p> |
| 110 | <h1 id="HowtoReducePower">How to Reduce <b style="color:#000;background:#66ffff">Power</b></h1> |
| 111 | <p> |
| 112 | Reducing <b style="color:#000;background:#66ffff">power</b> is a very complex topic and widely variable. |
| 113 | </p> |
| 114 | <p> |
| 115 | Freescale has published documents on this topic at the following links: |
| 116 | </p> |
| 117 | <ul><li>i.MX6 Solo <a class="ext-link" href="http://cache.freescale.com/files/32bit/doc/app_note/AN4715.pdf"><span class="icon"></span>http://cache.freescale.com/files/32bit/doc/app_note/AN4715.pdf</a> |
| 118 | </li><li>i.MX6 Dual/Quad <a class="ext-link" href="http://cache.freescale.com/files/32bit/doc/app_note/AN4509.pdf"><span class="icon"></span>http://cache.freescale.com/files/32bit/doc/app_note/AN4509.pdf</a> |
| 119 | </li></ul><h2 id="IMX6internalLDOldo-bypassvsldo-enabled">IMX6 internal LDO (ldo-bypass vs ldo-enabled)</h2> |
| 120 | <p> |
| 121 | The IMX6 processor has several internal low dropout (LDO) regulators. Two of these regulate the VDD_ARM (<b style="color:#000;background:#66ffff">power</b> to the ARM cores) and VDD_SOC (<b style="color:#000;background:#66ffff">power</b> to everything else with the exception of the VPU and GPU). The voltage input to these LDO's comes from the <b style="color:#000;background:#66ffff">Power</b> Management IC (PMIC). |
| 122 | </p> |
| 123 | <p> |
| 124 | Based on these LDO's there are two modes of <b style="color:#000;background:#66ffff">power</b> operation that you can run the IMX6 in on Gateworks <b style="color:#000;background:#ffff66">Ventana</b> boards: |
| 125 | </p> |
| 126 | <ul><li>ldo-enabled: VDD_ARM and VDD_SOC are regulated by the internal LDO's and the PMIC rails are not changed: |
| 127 | <ul><li>results in the least amount of ripple on the VDD_SOC and VDD_ARM rails |
| 128 | </li><li>at a cost of efficiency (switching regulators are more efficient) and thermal <b style="color:#000;background:#66ffff">power</b> (if the LDO's are regulating they are producing heat in/at the processor) |
| 129 | </li><li>increases lifetime of the IMX6 SoC due to voltage setpoints being lower within the processor |
| 130 | </li></ul></li><li>ldo-bypass: VDD_ARM and VDD_SOC are regulated by the PMIC switching regulators and the internal LDO's are bypassed (their FET's are wide-open): |
| 131 | <ul><li>results in more ripple on the VDD_SOC and VDD_ARM rails (switching regulators produce more ripple than LDO's) |
| 132 | </li><li>efficiency is increased and overall board <b style="color:#000;background:#66ffff">power</b> consumption is decreased |
| 133 | </li><li>decreases lifetime of the IMX6 SoC due to voltage setpoints being at least 35mV higher within the processor to account for tolerences in the PMIC |
| 134 | </li><li>some heat dissipation is moved from the IMX6 to the PMIC |
| 135 | </li></ul></li></ul><p> |
| 136 | Gateworks has performed extensive testing on the various <b style="color:#000;background:#ffff66">Ventana</b> boards and in general has found the following: |
| 137 | </p> |
| 138 | <ul><li>the <b style="color:#000;background:#66ffff">power</b> reduction of using ldo-bypass mode is negligible in many use cases. Only when we would purposely maximize <b style="color:#000;background:#66ffff">power</b> utilization by stressing the IMX6 would we see differences between the modes. In the heaviest loading situation we realized anywhere from 500mW to 1000mW of savings in ldo-bypass mode |
| 139 | </li><li>the temperature change of the IMX6 is negligible. Only when we would purposely maximize <b style="color:#000;background:#66ffff">power</b> utilization by stressing the IMX6 would we see differences between the modes. In the heaviest loading situation we realized about 1 degree C of difference in CPU temperature (ldo-bypass being appx 1C cooler than ldo-enabled) |
| 140 | </li></ul><p> |
| 141 | For IMX6 SoC longevity information of ldo-bypass vs ldo-enabled please see the following NXP documents: |
| 142 | </p> |
| 143 | <ul><li><a class="ext-link" href="http://www.nxp.com/files/32bit/doc/app_note/AN4724.pdf"><span class="icon"></span>i.MX 6Dual/6Quad Product Lifetime Usage Estimates</a> |
| 144 | </li><li><a class="ext-link" href="http://www.nxp.com/files/32bit/doc/app_note/AN4725.pdf"><span class="icon"></span>i.MX 6Solo/6DualLite Product Lifetime Usage Estimates</a> |
| 145 | </li></ul><p> |
| 146 | The Gateworks bootloader will determine if a kernel has ldo-bypass capability by examining its device-tree carefully prior to jumping to the Linux kernel and will by default (in our current bootloader and BSP's) boot in ldo-enabled mode. The most recent bootloader does have the ability to alter compatible device-tree's in order to boot in ldo-bypass mode if the 'ldobypass' env variable is set to 1. If users wish to run in ldo-bypass mode it is advised that they perform their own stability testing. Users should only consider ldo-bypass mode if they are stretching the limits in <b style="color:#000;background:#66ffff">power</b> consumption and/or thermal <b style="color:#000;background:#66ffff">power</b>. |
| 147 | </p> |
| 148 | <p> |
| 149 | Important notes: |
| 150 | </p> |
| 151 | <ul><li>if running an IMX6 at 1.2GHz the Freescale datasheet states you must run in ldo-enabled mode (as the processor at that frequency is highly susceptible to switching noise). <strong>Note that current Gateworks <b style="color:#000;background:#ffff66">Ventana</b> boards do not operate at 1.2GHz as those are consumer grade processors</strong> |
| 152 | </li><li>any <b style="color:#000;background:#66ffff">power</b> efficiency or thermal benefits are negligible at lower loads and will increase depending on the overall IMX6 load |
| 153 | </li><li>ldo-bypass mode is not supported yet in mainline-linux - it is only supported in the downstream vendor kernels. In order to support it, you must have a PMIC that can vary its VDD_ARM and VDD_SOC rails (which <b style="color:#000;background:#ffff66">Ventana</b> boards have), a PMIC driver, configure the arm and soc regulators in the kernel device-tree to the pmic regulators instead of the IMX anatop regulators, and configure the IMX internal LDO's to be fully open. |
| 154 | </li><li>We have chosen to default to using ldo-enabled in our BSP's because we feel it provides cleaner <b style="color:#000;background:#66ffff">power</b> and overall reliability margin in the extended temperature range and environments that our customers use our products in. |
| 155 | </li></ul><h2 id="Peripherals">Peripherals</h2> |
| 156 | <p> |
| 157 | The table above shows the <b style="color:#000;background:#66ffff">power</b> draw for many of the peripherals. By not using these, the <b style="color:#000;background:#66ffff">power</b> is thus reduced. Removing these peripherals on custom board is an option. |
| 158 | </p> |
| 159 | <h2 id="DVFS">DVFS</h2> |
| 160 | <p> |
| 161 | DVFS can reduce the frequency of the processor and thus lower the <b style="color:#000;background:#66ffff">power</b>. |
| 162 | </p> |
| 163 | <p> |
| 164 | See more about <a class="wiki" href="/wiki/DVFS">Dynamic Frequency and Voltage Scaling</a> |
| 165 | </p> |
| 166 | <h2 id="ReducingCores">Reducing Cores</h2> |
| 167 | <p> |
| 168 | It is possible to schedule processes to specific cores on the processor. This load balancing can be helpful. |
| 169 | </p> |
| 170 | <p> |
| 171 | However, you cannot actually 'turn off' a core. Even if a process is not running on a core, the core is still powered up. |
| 172 | </p> |
| 173 | <h1 id="PowerProtection"><b style="color:#000;background:#66ffff">Power</b> Protection</h1> |
| 174 | <p> |
| 175 | <strong>Note: below applies to <b style="color:#000;background:#ffff66">Ventana</b> boards except GW55xx and GW51xx</strong> |
| 176 | </p> |
| 177 | <p> |
| 178 | For the <b style="color:#000;background:#66ffff">power</b> input we have an input TVS for protection. |
| 179 | </p> |
| 180 | <p> |
| 181 | Here is the datasheet for the part (SMAJ58A is the part we use): |
| 182 | |
| 183 | <a class="ext-link" href="http://www.littelfuse.com/~/media/electronics/datasheets/tvs_diodes/littelfuse_tvs_diode_smaj_datasheet.pdf.pdf"><span class="icon"></span>Link Here</a> |
| 184 | </p> |
| 185 | <p> |
| 186 | The actual DC/DC is rated to 100V input and the FETs to 80V so we have plenty of headroom and have not had any issues with customers running the boards off auto <b style="color:#000;background:#66ffff">power</b>. We also have a series diode in the <b style="color:#000;background:#66ffff">power</b> path which protects against reverse voltage dumps. |
| 187 | </p> |
| 188 | }}} |