Skip to main content
shopping_basket Basket 0
Login

8-bit MCUs. It's Cool to be Old School

rdruian
3
rdruian has not written a bio yet…

Comments

[Comment was deleted]

[Comment was deleted]

[Comment was deleted]

August 15, 2016 21:26

I think that this post it's few years late and a bit tendentious to SiliconLabs. I used 25 years ago 8031 family and later 8051 from SiliconLabs. It works great and fast and reliable. When I decide ten years ago do the upgrade to 32 bit mcu I was full of doubt and questions, but all doubts and questions was dissipated with time while implementing 32 bit MCU. The article argues in 5 points

CodeSize: The code size depends on algorithm to implemente and use of better compilers or use of assembler. A bad program in 8 bits it's by far longest than an optimized program in 32 bits and the opposite it's true of course. More features in the die generally simplifies code and shorten it. For example, if I have a complex timer with lot of dedicated functions I reduce hundreds of assembler lines. A complex USART would be the difference between a 1K program or 3 K program.

Package size: Exist a lot of diminute package available in 8 and 32 MCU. Most of the 32 bit MCU has some devices in WLCSP of 0.1"*0.1" (or even smallest) and similar industrial encapsulated. All manufacturers have some powerfull units (compared to 8bit MCU) in SOIC 8-20.

Performance: In this point exist a lot of options, 32 bit MCU has impressive mhz/watt performances and beats 8 bit in the high end limit.

Deterministic Operation: I disagree completely with the article, all MCU have the possibility to work in RT it the software it's implemented correctly. If a feature block RT programming probably block in 8 and 32 bit flavors.

Tools: I've never had development tools and cheaper (free most of times!) software like in the last 2 years. When I begin with MCU a development board cost more than $1200 and cheap software more than $1000. Today a development board would be free or cost less than 10 dollars and software it's almost free (or you can use more pricey if you need it). This is true for 8 and 16 bit MCU but I think that exist more offer in 32 bit.

The final decision to use one or another it's about familiarity with some manufacturer devices, software tools, specific features and COST. Few weeks ago I design a a cheap MCU to interface some sensors and actuators to a LIN bus and the cheapest option was a 32bit MCU, and for less than 8 bit LIN solution I can implement a CAN bus solution in 32 bit MCU.

Each problem has a proper or optimized solution but in last year never was the best solution use an 8 bit MCU. Of course, a led blinking it's best suited by 8 bit MCU, but I think that most of the last time industrial or commercial tasks are more complex than that.

August 15, 2016 12:38

32bit ARM devices can use 16bit THUMB ISA which generates compact code and still greatly outpaces 8bit MCUs. Nowadays MCUs operates with at least 16bit variables (for let's say rgb led control, pwm levels, adc data) so 8 bit wastes cycles to compute those or transfer them between peripherals and memory. It does not limit them for simple pin toggling but if there's a lot of actual computing 32bit MCUs just does things faster. So... if you just want nice speed control on BLDC it doesn't require more than crystal-less xmega32e5 (up to 32MHz at internal RC+PLL) +power circuitry but when you design 3phase inverter with IFOC then it just might get stuck while 32bit MCU with same frequency will do the job.

0 Votes

August 15, 2016 10:52

Nice article but possibly misleading on the edge. The point about code size is pretty much application dependent. It is true that pure I/O toggling is much easier and more compact on an 8-bit architecture than a 32-bit RISC one. On the other hand, an application making extensive use of 32-bit arithmetic is better served by a bigger machine and leads to a more compact code (comment validated by porting a FAT16 driver from a Cortex to 8051 and AVR). Funnily enough, 8-bit and 32-bit microcontrollers tend to use both 16-bit instructions, so the code density depends primarily on how easy the algorithm implementation is.

Another comment about power consumption: 8-bit microcontrollers are simpler architectures and are often manufactured with less advanced technologies. The power consumption should be checked on a device basis, not just architecture. There are serious contenders on both sides. With low-power application, you should also consider who finishes the job first: uA/MHz is not the only metrics.

0 Votes

Related Content

DesignSpark Electrical Logolinkedin