TS4100 power consumption: Difference between revisions
(Initial Creation) |
(Fix spelling) |
||
Line 6: | Line 6: | ||
The following tables list rough numbers measured on a TS-4100 for reference. These numbers were measured using a TS-8551-4100 which has a test point to measure power draw of the TS-4100 directly. Bear in mind that this will include some of the powered devices on the TS-8551 such as RTC, FRAM, RS-232 transceivers, etc., but is after any power input losses. | The following tables list rough numbers measured on a TS-4100 for reference. These numbers were measured using a TS-8551-4100 which has a test point to measure power draw of the TS-4100 directly. Bear in mind that this will include some of the powered devices on the TS-8551 such as RTC, FRAM, RS-232 transceivers, etc., but is after any power input losses. | ||
Please see [[#Power_Consumption_Caveats|Power Consumption Caveats]] for details on how to get these power numbers. | Please see [[#Power_Consumption_Caveats|Power Consumption Caveats]] for details on how to get these power numbers. Additionally, see [[#Lowest_Running_Power|Lowest Running Power]] for an example of the lowest power modes of the whole device. | ||
Revision as of 14:55, 23 June 2021
TS-4100
The core of any TS-4100 application, either pared with a baseboard or standalone, is the TS-4100 itself. As a SoM, the TS-4100 contains the bulk of the voltage regulation, CPU, RAM, non-volatile storage, Ethernet PHYs, etc. This is where the bulk of the power is consumed in most applications.
The TS-4100's i.MX6UL CPU is very flexible with power. It can change the running frequency as needed to consume less power or to allow for more processing power.
The following tables list rough numbers measured on a TS-4100 for reference. These numbers were measured using a TS-8551-4100 which has a test point to measure power draw of the TS-4100 directly. Bear in mind that this will include some of the powered devices on the TS-8551 such as RTC, FRAM, RS-232 transceivers, etc., but is after any power input losses.
Please see Power Consumption Caveats for details on how to get these power numbers. Additionally, see Lowest Running Power for an example of the lowest power modes of the whole device.
Test | Avg. (W) | Peak (W) |
---|---|---|
CPU idle, Ethernet down | 0.665 W | 0.890 W |
CPU fully loaded [1], Ethernet down | 0.910 W | 1.030 W |
CPU idle, single Ethernet port up and active [2] | 1.315 W | 1.390 W |
CPU fully loaded [1], single Ethernet port up and active [2] | 1.500 W | 1.550 W |
Power Consumption Caveats
In order to achieve the numbers documented above, there are some operational caveats that must be noted.
- Due to the design of the Ethernet MAC/PHY of the i.MX6UL CPU and the software patterns of U-Boot and the Linux kernel, the PHYs are booted to Linux in a high power state. This occurs even though Linux leaves the interfaces unconfigured and down. This is because U-Boot brings up the MAC and PHY devices to configure them, but leaves them on. Lower power can be achieved by bringing the interfaces up and then back down if the interfaces are not in use; the kernel puts the PHYs in a low-power state when the interfaces are brought down. This does not apply if both Ethernet interfaces are used. This can be done with:
ifconfig eth0 up
ifconfig eth1 up
ifconfig eth0 down
ifconfig eth1 down
- The WILC WiFi device achieves the lowest power if either the kernel module (
wilc_spi
) is not loaded, or if thewlan0
interface is brought up but left unconfigured. If WiFi/BLE is not needed for an application, it is best to prevent thewilc_spi
module from being loaded. If only BLE is needed in an application, thewlan0
interface needs to be brought up first and left active regardless. If WiFi is used in an application, then the driver will automatically handle power levels during operation of the interface.
Lowest Running Power
The lowest power consumption is achieved by having the Ethernet interfaces in low power mode, the WiFi device module unloaded or wlan0
up but unconfigured (see Power Consumption Caveats above for notes on both of these), and the CPU speed locked to its lowest rate (see CPU Frequency Scaling). This can all be achieved with the following commands:
ifconfig eth0 up
ifconfig eth1 up
ifconfig eth0 down
ifconfig eth1 down
ifconfig wlan0 up
echo "userspace" > /sys/bus/cpu/devices/cpu0/cpufreq/scaling_governor
echo "198000" > /sys/bus/cpu/devices/cpu0/cpufreq/scaling_setspeed
Test | Min. (W) | Avg. (W) | Peak (W) |
---|---|---|---|
Network interfaces and CPU frequency as above | 0.640 W (with CPU idle) | 0.665 W (with CPU idle) | 0.815 W (with CPU fully loaded) |