There is nothing left to be invented in embedded control, Part 1
I am obviously paraphrasing this famous (although disputed) quote from Lord Kelvin, who was addressing the British Association for the Advancement of Science in the year 1900.
One hundred and fourteen years later, it might seem like this quote could be applied to the world of embedded control. According to some, it would appear that all the progress to be made is limited to driving the increased use of a few more bits in the microcontroller (MCU) Arithmetic Logic Unit, possibly 32 of them, by cost reducing it all to a shiny quarter.
But this would be just sad, and, thankfully, it is far from the truth. There is plenty of innovation happening in embedded control, and it is occurring right now, in front of our eyes—in the 8-bit world. While low-end 32-bit MCUs are being squeezed and left with only the most basic peripherals, 8-bit MCUs are being loaded with new and ever more useful peripherals.
Choosing Your Weapons
It is interesting how the two events are actually very tightly connected. It is the focus of the new, low-end 32-bit product generations on trying to replace 8-bit MCUs in their sweet spot—small, low-power and low-cost embedded applications—that is forcing those 8-bit MCUs to re-invent themselves.
The two contenders are clearly very different in their abilities and, therefore, in their approach to the practical problems posed by embedded control design. Like all armed conflicts, victory is heavily dependent on choosing the right weapons.
The primary strength of a 32-bit processor is certainly its processing speed, expressed in MIPS (millions of instructions per second). Memory size is also a factor, as it is necessary to use a very small CMOS process geometry in order to squeeze a 32-bit core into a small package, and with that comes more Flash (code) memory at a higher density.
In contrast, 8-bit MCU cores are so small that relatively large CMOS process geometries can be used effectively to operate at higher voltages, drive higher current loads (up to 100 mA on selected pins) and provide large margins of noise immunity, hence robustness. But, when it comes to processing speed, there is a clear disadvantage that 8-bit MCUs need to neutralize. To do this, they need to change the fundamental rules of the game by creating an arsenal of what we'll call Core Independent Peripherals.
Core Independent Peripherals
The idea is quite simple: If a task requires a lot of CPU cycles or large amounts of code and RAM memory, then design a dedicated (small) piece of on-chip hardware (a peripheral) to solve it in the most efficient possible manner. This new peripheral, once set up properly, will operate independently and, therefore, relieve the MCU core from the heavy lifting of the task at hand. Integrating these Core Independent Peripherals (CIPs) enables designers to use a smaller MCU core that is operating at a lower clock speed and idling (or even entering standby mode), for maximum cost, power and complexity reductions.
Let’s start with a practical example, to clarify this concept.
[Note 1]: “There is nothing new to be discovered in physics. All that is left is more and more refined measurements.” - Lord Kelvin, address to the British Association for the Advancement of Science – 1900 (disputed)