Hopefully by now you’ve heard of Freescale’s first family Flexis(TM) microcontrollers. These are families of 8-bit S08 MCU’s paired with families of pin and peripheral compatible 32-bit ColdFire(TM) V1 MCUs. The first Flexis MCUs, the QE family, are also some of the lowest power MCUs Freescale has produced.
Since the Flexis QE family is designed for minimum power consumption, the question arises, “Which one is better for a low power design?” Let’s take a look…
Specs
If we look at just the raw supply current specs for the S08 QE vs the V1 QE, we see that the S08 typically consumes half as much power in run and low power run modes, but is only slightly lower in the stop3 mode and is equal to the V1 in the lowest power stop2 mode.
Figure 1: Supply current comparison of the V1 QE128 and the S08 QE128
CPU Workloads
So based solely on these specs, you would probably favor the lower power S08 QE. However, we need to look at how much work the CPUs must perform while in run mode. The 32-bit V1 CPU has far more horsepower than the 8-bit S08. For one thing, the V1 executes instructions at the CPU frequency and the S08 executes instructions at the bus frequency, which is 1/2 of the CPU frequency. In addition, the V1 has far more CPU registers and, of course, utilizes 32-bit instructions/operands for more efficient data processing.
In a previous post (Clock Management for Low Power Application, July 13th), I discussed the concept of running fast to spend as much time in the lowest power mode possible. With this philosophy, you can easily see how a more powerful CPU will complete any calculations faster and therefore be able to spend more time in the lower power stop modes, thereby lowering the overall MCU average power consumption.
Same Peripherals
So, the V1 QE should be lower power on average than the S08, right? Well, not necessarily. Both the S08 QE and V1 QE use the exact same peripherals. Therefore, the V1 doesn’t get a performance advantage when a peripheral’s operation is the only thing preventing a return to a low power mode. For instance, if an IIC transmission is the only task left before entering stop2 mode, the IIC doesn’t run any faster on V1 just because the CPU is more powerful. Both MCUs will have to wait the same amount of time for the transmission to complete.
Also, these peripherals were designed for 8-bit CPUs. So the S08 is very efficient when it comes to setting up and using the on-chip peripherals. The V1 does have 8-bit instructions to improve its efficiency with these peripherals, but this does limit its performance advantage over the S08. So when much of the CPU’s time is spent accessing peripherals versus pure data manipulation, the V1’s energy use per task is not much different than the S08’s.
Which to Choose?
As you can see, there is not a simple answer to choosing the right CPU core for obtaining the lowest power. In general, if the application requires a fair amount of number crunching, particularly 16-bit and 32-bit data, then the V1 will probably be the best choice. Conversely, if the application requires the CPU to spend more time configuring and waiting on peripherals than number crunching, then the S08 will likely be the best choice.
Of course, if you think you made the wrong choice, the compatibility of the Flexis MCUs makes switching to the other core a piece of cake!
-Scott



