First, the term ’embedded’ is a concept without a precise definition, as each book offers its interpretation. However, the main idea is the same: compared to general systems like PCs, embedded systems are specialized systems with a streamlined structure, retaining only the necessary hardware and software while discarding the unnecessary parts. Therefore, embedded systems generally possess characteristics such as portability, low power consumption, and single-function performance.
Next, MCU, DSP, and FPGA all fall under the category of embedded systems, serving as tools used to achieve specific purposes.
MCU, commonly known as ‘microcontroller’, has evolved significantly over the years and is no longer limited to just the Princeton architecture 51; its performance has greatly improved. Since MCUs must execute programs sequentially, they are suitable for control applications and are widely used in industries. ARM originally designed MCUs, and due to its advanced technology and appropriate strategies, its market share in the microcontroller segment has surged in recent years. ARM’s microcontrollers come in various types, ranging from low-end M0 (for small appliances) to high-end A8 and A9 (for smartphones and tablets), making them popular. Thus, ARM microcontrollers do not always require an operating system; the key depends on the application context.
DSP, or Digital Signal Processor, has a different structure compared to MCUs, accelerating computation speed and emphasizing computational capability. One can think of it as a super-fast MCU. Low-end DSPs, such as the C2000 series, are primarily used for motor control, while TI refers to them as DSC (Digital Signal Controller), a hybrid between MCU and DSP. High-end DSPs, like the C5000/C6000 series, are generally used for video image processing and communication devices that require extensive computation.
FPGA, or Field-Programmable Gate Array, has no inherent functionality; it is like a blank slate where its capabilities depend entirely on the design by programmers (all of its processes are hardware-based, including VHDL and Verilog HDL programming, which is also considered hardware, generally referred to as ‘logic’ programming). If you are skilled enough, you can turn it into an MCU or a DSP. Since the internal structures of MCUs and DSPs are pre-designed, they can only handle sequential processing through software programming, whereas FPGAs can perform both parallel and sequential processing, making them comparatively faster.
So why do MCUs, DSPs, and FPGAs coexist? This is because the internal structures of MCUs and DSPs are meticulously designed by IC designers, resulting in significantly lower power consumption and costs compared to FPGAs when accomplishing the same functions. Moreover, the development of FPGAs is inherently complex, requiring more human and financial resources to achieve similar functionality. Therefore, each of the three has its strengths and applications. However, there is an ongoing trend of integration among the three: ARM’s M4 series has added a streamlined DSP core, TI’s DaVinci series is inherently ARM+DSP, and the newly launched FPGAs from ALTERA and XILINX include ARM cores. Thus, the relationship among the three is increasingly resembling three intersecting circles of primary colors.
In summary, ‘You have me, and I have you.’
Where Should Hardware Engineers Start Learning?
Microcontroller: Usually operates without an operating system, used for simple controls like elevators and air conditioners.
DSP: Used for complex computations, such as Discrete Cosine Transform and Fast Fourier Transform, commonly used in image processing in devices like digital cameras.
ARM: A British chip design company that does not produce chips. It only sells intellectual property.
FPGA: Field-Programmable Gate Array, circuit designs completed using hardware description languages (Verilog or VHDL) can be quickly synthesized and programmed onto FPGAs for testing, representing the mainstream technology for modern IC design verification.
Embedded systems are specialized systems compared to desktop computers, with customizable features and varying forms, often constrained by size, power consumption, and cost, with high real-time performance requirements, as seen in devices like oscilloscopes, smartphones, tablets, fully automatic washing machines, routers, and digital cameras. Although desktop computers are not visible, one or more embedded systems are at work in these devices.
Different options are provided based on the functional complexity and computational processing complexity of the target system. For simple household appliance control embedded systems, a simple 8-bit microcontroller suffices, being cost-effective, whereas for smartphones and gaming consoles, 32-bit ARM and DSP chips are necessary. FPGA represents a more hardware-oriented implementation approach.
To become a hardware engineer, one should start with microcontrollers, then learn about ARM and DSP.
A Detailed Introduction to the Seven Mainstream Microcontrollers on the Market
Microcontrollers are now ubiquitous and come in various types, overwhelming developers, and their development has been rapid, evolving from 4-bit and 8-bit systems in the 1980s to various high-speed microcontrollers today.
Manufacturers are competing in terms of speed, memory, and functionality, leading to a surge of representative microcontroller manufacturers such as Atmel, TI, ST, MicroChip, ARM, and the domestic macro crystal STC microcontroller also stands out.
Below is a comparison of the pros and cons of 51, MSP430, TMS, STM32, PIC, AVR, and STC microcontrollers, along with their functional representations…
51 Microcontroller
The most widely used 8-bit microcontroller is also the easiest for beginners to learn, first introduced by Intel. With its typical structure and centralized management of dedicated registers for bus operations, along with numerous logical bit operations and a rich instruction system geared towards control, it is regarded as a classic, laying the foundation for the development of subsequent microcontrollers.
The 51 microcontroller has become a classic and easy-to-learn microcontroller primarily due to the following characteristics:
Characteristics:
1. It has a complete bit manipulation system from internal hardware to software, known as a bit processor, where the processing object is bits rather than words or bytes. It can not only manipulate specific bits of certain special function registers within the chip, such as transfer, set, clear, and test, but also perform logical operations on bits, making it very complete and user-friendly.
2. Additionally, a dual-function address range has been specially allocated within the internal RAM, providing extreme flexibility, which undoubtedly offers great convenience to users.
3. Multiplication and division instructions bring convenience to programming. Many 8-bit microcontrollers lack multiplication functionality, requiring a subroutine for multiplication, which is quite inconvenient.
Disadvantages: (Although it is a classic, its drawbacks are still quite evident)
1. Functions like AD and EEPROM require expansion, increasing hardware and software burdens.
2. Although I/O pins are simple to use, they lack output capability when at high levels, which is the biggest soft spot of the 51 series microcontroller.
3. The operating speed is too slow, especially with dual data pointers; improvements here could greatly enhance programming convenience.
4. The 51 microcontroller has poor protection capabilities and is easily damaged.
Application Range:
Currently, it is widely adopted in educational settings and applications with low performance requirements.
Most Used Devices:8051, 80C51
MSP430 Microcontroller
The MSP430 series microcontroller is a 16-bit ultra-low-power mixed-signal processor launched by Texas Instruments in 1996, known for its low power consumption and fast speed, with flexible assembly language and various addressing modes, making it easy to learn. This is mainly due to its integration of many analog circuits, digital circuits, and microprocessors into a single chip to provide a ‘single-chip’ solution. Its rapid development and expanding application range depend on the following characteristics…
Characteristics:
1. Powerful processing capability, utilizing a Reduced Instruction Set Computing (RISC) architecture, featuring a rich array of addressing modes (7 source operand addressing modes, 4 destination operand addressing modes), 27 simple core instructions, and numerous analog instructions; a large number of registers and on-chip data memory can participate in various calculations; efficient table lookup processing instructions; and a high processing speed, achieving a 125 ns instruction cycle at 8 MHz crystal drive. These features ensure the ability to compile efficient source programs.
2. In terms of processing speed, it can achieve a 125 ns instruction cycle driven by an 8 MHz crystal. Its 16-bit data width, 125 ns instruction cycle, and multifunctional hardware multiplier (capable of performing multiply-add operations) can implement certain digital signal processing algorithms (e.g., FFT).
3. The ultra-low power consumption of the MSP430 microcontroller is attributed to its unique approach to reducing the chip’s power supply voltage and its flexible and controllable operating clock. The power supply voltage ranges from 1.8 to 3.6V. Thus, under a 1 MHz clock condition, the chip’s current is around 200-400uA, and the lowest power consumption in clock shutdown mode is only 0.1uA.
Disadvantages:
1. Personally, I find it hard to get started; it is not suitable for beginners, and resources are relatively scarce, requiring one to go to the official website for information.
2. It occupies a larger instruction space because it is a 16-bit microcontroller, with some instructions occupying as much as 6 bytes. Although the program appears concise, it occupies significantly more space compared to PIC microcontrollers.
Application Range:
It is widely used in low-power and ultra-low-power industrial applications.
Most Used Devices:MSP430F series, MSP430G2 series, MSP430L09 series
TMS Microcontroller
Here, I would also like to mention the TMS series microcontroller, which is not considered mainstream. It is an 8-bit CMOS microcontroller launched by TI, featuring multiple storage modes and peripheral interface modes, suitable for complex real-time control scenarios. Although it is not as excellent as STM32 or as prominent as MSP430, the TMS370C series microcontroller provides a cost-effective real-time system control by integrating advanced peripheral function modules and various memory configurations. It also utilizes high-performance silicon gate CMOS EPROM and EEPROM technology. With low-power CMOS technology, a wide operating temperature range, noise suppression, along with high performance and rich on-chip peripheral functionalities, the TMS370C series microcontroller finds applications in automotive electronics, industrial motor control, computers, communications, and consumer electronics.
STM32 Microcontroller
The STM32 series microcontroller, launched by ST, is known in the industry as a highly cost-effective microcontroller series, if not the most cost-effective one, with powerful functionality. It is based on the ARM Cortex-M core designed for high-performance, low-cost, and low-power embedded applications, featuring first-class peripherals: 1μs dual 12-bit ADC, 4 Mbps UART, 18 Mbps SPI, etc. It also performs well in terms of power consumption and integration, although it is slightly less efficient than the MSP430 in power consumption, this does not diminish its popularity among engineers due to its simple structure and user-friendly tools combined with its powerful functionality, making it well-known in the industry… Its powerful functionality is mainly reflected in:
Characteristics:
1. Core: ARM 32-bit Cortex-M3 CPU, with a maximum operating frequency of 72 MHz, 1.25 DMIPS/MHz, single-cycle multiplication, and hardware division.
2. Memory: On-chip integrated Flash memory ranging from 32-512KB. SRAM memory ranging from 6-64KB.
3. Clock, reset, and power management: Power supply from 2.0-3.6V and driving voltage for I/O interfaces. POR, PDR, and programmable voltage detector (PVD). 4-16 MHz crystal oscillator. Built-in factory-calibrated 8 MHz RC oscillation circuit. Internal 40 kHz RC oscillation circuit. PLL for CPU clock. 32 kHz crystal oscillator calibrated for RTC.
4. Debugging mode: Serial debugging (SWD) and JTAG interface. Up to 112 fast I/O ports, up to 11 timers, and up to 13 communication interfaces.
Most Used Devices: STM32F103 series, STM32 L1 series, STM32W series.
PIC Microcontroller
The PIC microcontroller series is a product of Microchip Technology Inc., divided into three levels: basic, mid-range, and high-end, and is one of the fastest-growing microcontrollers in the current market, employing a RISC architecture with 33, 35, and 58 instructions, belonging to a reduced instruction set, while also using a Harvard dual-bus structure for fast operation, allowing parallel processing of program memory access and data memory access. This pipeline structure enables the completion of two tasks in one cycle: executing an instruction and fetching the next instruction from program memory, which is one reason for its high efficiency. Additionally, the PIC microcontroller has gained popularity due to the following characteristics:
Characteristics:
1. Features low operating voltage, low power consumption, and strong driving capability. The I/O ports of the PIC series microcontroller are bidirectional, and its output circuit is a CMOS complementary push-pull output circuit. The I/O pins have added direction registers to set input or output states, solving the issue of the 51 series I/O pins being both input and output when at high levels.
2. When set to 1, it is in input state, and regardless of whether the pin is high or low, it presents a high-impedance state externally; when set to 0, it is in output state, and regardless of the pin’s voltage level, it presents a low-impedance state, providing considerable driving capability, with low-level sinking current reaching 25 mA and high-level output current reaching 20 mA. This is a significant advantage compared to the 51 series.
3. It can directly drive seven-segment displays with a simple external circuit. Its A/D is 10-bit, meeting precision requirements. It has online debugging and programming (ISP) capabilities.
Disadvantages:
Its dedicated registers (SFR) are not all concentrated in a fixed address range (80-FFH) like the 51 series but are scattered across four address ranges. Only five dedicated registers PCL, STATUS, FSR, PCLATH, INTCON appear simultaneously in four storage bodies, but during programming, one must repeatedly select the corresponding storage body, which means setting or clearing the sixth bit (RP1) and fifth bit (RP0) of the status register STATUS. Data transfer and logical operations must generally be conducted through the working register W (equivalent to the accumulator A in the 51 series), while the 51 series allows direct transfer between registers, making the bottleneck phenomenon of the PIC microcontroller even more pronounced than that of the 51 series, which programmers should be well aware of.
Most Used Devices: PIC16F873, PIC16F877
AVR Microcontroller
The AVR microcontroller, launched by Atmel, is a relatively novel microcontroller characterized by high performance, high speed, and low power consumption. It eliminates machine cycles, using clock cycles as instruction cycles, implementing pipelined operations. AVR microcontroller instructions are word-based, and most instructions are single-cycle instructions. A single cycle can execute the current instruction while simultaneously fetching the next instruction. Typically, the clock frequency is 4-8 MHz, so the shortest instruction execution time is between 250-125 ns. The AVR microcontroller has remained popular recently due to the following characteristics:
Characteristics:
1. The AVR series does not have a structure similar to accumulator A; it mainly uses registers R16-R31 to achieve A’s functionality. In AVR, there is no data pointer DPTR like in the 51 series; instead, three 16-bit registers (X, Y, Z) are used to perform the functionality of data pointers (equivalent to having three sets of DPTR), and they can also perform post-increment or pre-decrement operations; whereas in the 51 series, all logical operations must occur in A, AVR allows operations between any two registers, eliminating the need for back-and-forth in A, making it superior to the 51 series.
2. The dedicated registers of the AVR are concentrated in the address range of 00-3F, eliminating the need to select storage areas like in PIC, making it more convenient to use. The on-chip RAM address range is 0-00DF (AT90S2313) and 0060-025F (AT90S8515, AT90S8535), which occupy the address space for data, and this on-chip RAM is only used for data storage, typically lacking the functionality of general-purpose registers. When programs become complex, the general-purpose registers R0-R31 may not suffice; whereas the 51 series has as many as 128 general-purpose registers (four times that of AVR), programmers will not encounter this issue.
3. The I/O pins of AVR are similar to those of PIC; it also has direction registers to control input or output states, and in output mode, the high-level output current is around 10 mA, while the low-level sinking current is 20 mA. Although this is not as good as PIC, it is still superior to the 51 series…
Disadvantages:
1. There is no bit manipulation; all control and judgment of related register bits are done in byte format.
2. There are significant differences between C language for AVR and C language for the 51 series, making it difficult for those starting with the 51 microcontroller to adapt.
3. There are a total of 32 general-purpose registers (R0-R31), with the first 16 registers (R0-R15) unable to directly interact with immediate numbers, thus reducing generality. In contrast, all general-purpose registers (address 00-7FH) in the 51 series can directly interact with immediate numbers, clearly making it superior.
Most Used Devices: ATUC64L3U, ATxmega64A1U, AT90S8515
STC Microcontroller
When mentioning the STC microcontroller, some may argue that it can be considered mainstream, but it is actually quite good among domestic microcontrollers. The STC microcontroller is a single-clock/machine cycle microcontroller produced by Macro Crystal, essentially combining the 51 and AVR architectures; some say that AVR is a replacement for the 51 microcontroller, but there are significant differences in bit control and C language writing between the two. The STC microcontroller integrates the advantages of both 51 and AVR; although its functionality may not match that of AVR, it encompasses most functions found in AVR, and since the STC microcontroller is based on the 51 architecture, it offers great convenience for engineers familiar with the 51 microcontroller, saving them the time of learning AVR while retaining various AVR functionalities…
STC microcontroller is a new generation of 8051 microcontrollers with high speed, low power consumption, and strong anti-interference features. Its instruction code is fully compatible with traditional 8051, but it is 8-12 times faster, with an integrated MAX810 dedicated reset circuit. It features 4-channel PWM and 8-channel high-speed 10-bit A/D conversion, targeting motor control suppliers in high-interference environments, becoming a new series of microcontrollers following the 51 microcontroller…
Characteristics:
1. Downloading and burning programs via serial port is convenient and user-friendly, with abundant learning resources and videos available, with the most famous being Mr. Du’s video, which many friends interested in microcontrollers have used to get started. It also features wide voltage support: 5.5-3.8V, 2.4-3.8V, and low power consumption design: idle mode, power-down mode (can be awakened by external interrupts).
2. The STC microcontroller is relatively easy to program and debug; it includes a 10-bit A/D converter, internal EEPROM, and operates at 1T/machine cycle speed, which is 8-12 times faster than traditional 51 microcontrollers, while being cost-effective.
3. It has 4-channel capture/compare units, with the STC12C2052AD series providing 2 channels, which can also be used to implement 4 timers or 4 external interrupts, along with 2 hardware 16-bit timers, compatible with ordinary 8051 timers. The 4-channel PCA can also implement 4 timers, with a hardware watchdog, high-speed SPI communication port, full-duplex asynchronous serial port, and compatibility with ordinary 8051 serial ports, along with an advanced instruction set architecture that is compatible with the ordinary 8051 instruction set.
PS: Although the STC microcontroller’s functionality may not be as powerful as that of AVR or STM32, and its price may not be as cheap as that of 51 or STM32, these factors are not crucial; what matters is that it is one of the better domestic microcontrollers, and I hope domestic microcontrollers can thrive…
Most Used Devices: STC12C2052AD
Freescale Microcontroller
Primarily targeting S08 and S12 microcontrollers, Freescale microcontrollers encompass much more. The Freescale series microcontrollers utilize Harvard architecture and pipelined instruction structures, demonstrating low cost and high performance across many fields, saving a significant amount of development time. Additionally, Freescale offers various integrated modules and bus interfaces, enabling flexible roles in different systems! The unique characteristics of Freescale microcontrollers are as follows:
1. Full series: From low-end to high-end, from 8-bit to 32-bit, it covers a full range, with the introduction of the 8-bit/32-bit pin-compatible QE128, allowing direct migration from 8-bit to 32-bit, filling a gap in the microcontroller industry’s 8/32-bit compatibility architecture.
2. Multiple system clock modules: Three modules with seven operating modes. Various clock source input options, with different MCUs having different clock generation mechanisms, which can be RC oscillators, external clocks, or crystals, and most CPUs possess all three modules! They can operate in seven modes: FEI, FEE, FBI, FBILP, FBE, FBELP, STOP.
3. Multiple communication module interfaces: Freescale microcontrollers almost universally integrate various communication interface modules: including serial communication interface module SCI, multi-master I2C bus module, serial peripheral interface module SPI, MSCAN08 controller module, and universal serial bus module (USB/PS2).
4. More optional modules: Including LCD driver modules, temperature sensors, ultra-high frequency transmission modules, synchronous processing modules, and various MCUs with screen display modules OSD, and a few MCUs that include ringing detection modules RING and dual-tone multi-frequency/tone generator DMG modules.
5. High reliability, strong anti-interference, with various pin counts and packaging options.
6. Low power consumption; while Freescale series microcontrollers may not be as low power as MSP430, they feature fully static ‘wait’ and ‘stop’ modes, overall reducing your power consumption! Recently launched ultra-low-power options are comparable to MSP430!
Most Used Devices: MC9S12G series
If one were to rank these microcontrollers, the 51 microcontroller remains the first choice for those wanting to follow the crowd; for those pursuing high cost-performance, STM32 would be the ideal choice; for those desiring ultra-low power consumption, MSP430 will certainly not disappoint; and for those wishing to support domestic brands, STC will surely excite you…
-END-
Source: Electronic Engineering Magazine
Photoelectric Sensing

Intelligent Manufacturing