Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

Article Length: 8000 words, Content Quality: ⭐⭐⭐⭐⭐

01
Clarifying the Differences

First, “Embedded” is a concept without a precise definition; various books have their own interpretations. However, the main idea is the same: compared to general systems like PC, embedded systems are specialized systems with a streamlined structure, retaining only the necessary components in both hardware and software while discarding the unnecessary parts. Thus, embedded systems typically feature portability, low power consumption, and specialized performance.

Next, MCU, DSP, FPGA all belong to the category of embedded systems, used as tools to achieve specific purposes.

MCU, commonly known as “Microcontroller”, has evolved significantly over the years, no longer limited to the Princeton structure of the 51 architecture, and its performance has greatly improved. Since MCUs must execute programs sequentially, they are suitable for control applications and are widely used in industry. ARM originally designed MCUs, and due to advanced technology and appropriate strategies, its market share in the microcontroller sector has been substantial in recent years. ARM microcontrollers come in many varieties, from low-end M0 (small appliances) to high-end A8, A9 (smartphones, tablets), making it unnecessary for ARM microcontrollers to always run an operating system; it largely depends on the application context.

DSP, or Digital Signal Processor, has a different structure from MCUs, accelerating computation speed and emphasizing computational capabilities. It can be viewed as a super-fast MCU. Low-end DSPs, such as the C2000 series, are primarily used in motor control, although TI refers to them as DSC (Digital Signal Controller), a hybrid between MCU and DSP. High-end DSPs like the C5000/C6000 series are typically used in video image processing and communication devices that require extensive computation.

FPGA, or Field-Programmable Gate Array, has no inherent functionality, akin to a blank slate, with its capabilities entirely dependent on the design by programmers (all processes are hardware-based, including VHDL and Verilog HDL programming, generally referred to as writing “logic”). If you are skilled enough, you can turn it into an MCU or a DSP. Since the internal structures of MCUs and DSPs are predefined, they can only perform sequential processing through software programming, while FPGAs can handle 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 much lower power consumption and costs compared to FPGAs for achieving the same functionality.

Moreover, FPGA development is inherently complex, requiring more human and financial resources to achieve the same functionality. Therefore, each of the three has its strengths and applications. However, there is currently a trend of convergence among the three: ARM’s M4 series has integrated a simplified DSP core, TI’s DaVinci series is structured as ARM + DSP, and ALTERA and XILINX’s newly released FPGAs include ARM cores. Thus, the relationships among the three are increasingly resembling the three primary colors in a Venn diagram.

In summary, “You are in me, and I am in you.”

02
Where to Start Learning for Hardware Engineers?

Microcontroller: Usually operates without an operating system, used for simple controls, such as elevators and air conditioners.

DSP: Used for complex calculations, like Discrete Cosine Transform and Fast Fourier Transform, commonly applied in image processing and devices like digital cameras.

ARM: A British chip design company that does not manufacture chips but sells intellectual property.

FPGA: Field-Programmable Gate Array, circuit designs completed with hardware description languages (Verilog or VHDL) can be quickly synthesized and programmed onto the FPGA for testing, which is a mainstream technology for modern IC design verification.

Embedded systems are tailored compared to desktop computers, varying in form, often constrained by size, power consumption, and cost, with high real-time requirements, such as oscilloscopes, smartphones, tablets, fully automatic washing machines, routers, and digital cameras. Although the presence of desktop computers may not be visible, one or more embedded systems are at work within these devices.

Depending on the complexity of the functional requirements and computational processing, different choices are provided. For simple home appliance control embedded systems, a basic 8-bit microcontroller suffices, being cost-effective. For smartphones and game consoles, 32-bit ARM and DSP chips are necessary. FPGAs are a more hardware-oriented implementation method.

Thus, to become a hardware engineer through learning, one should start with microcontrollers and then study ARM and DSP.

03
Introduction to 7 Major Microcontrollers

Microcontrollers are now ubiquitous, with a wide variety that can overwhelm developers, and their development has been rapid, evolving from 4-bit and 8-bit in the 1980s to various high-speed microcontrollers today.

Various manufacturers are competing in speed, memory, and functionality, leading to a plethora of representative microcontroller manufacturers: Atmel, TI, ST, MicroChip, ARM… domestically, the Hongjing STC microcontroller is also noteworthy.

Below is a comparison of the advantages and disadvantages of the 51, MSP430, TMS, STM32, PIC, AVR, and STC microcontrollers…

51 Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

The most widely used 8-bit microcontroller is also the easiest for beginners to learn, originally launched by Intel. Due to its typical structure and centralized management of dedicated registers, along with numerous logic bit operations and a rich instruction set aimed at control, it is considered a classic, laying the foundation for the development of future microcontrollers.

The reasons the 51 microcontroller has become a classic and is easy to learn are as follows:

Characteristics:

1. From internal hardware to software, there is a complete bit manipulation system known as a bit processor, processing bits rather than words or bytes. It can handle specific bits of certain special function registers within the chip, such as transferring, setting, clearing, and testing, and also perform bitwise logical operations, making it highly functional and user-friendly.

2. A dual-function address range is specially allocated in the internal RAM, making it highly flexible, which undoubtedly provides great convenience for users.

3. Multiplication and division instructions facilitate programming. Many 8-bit microcontrollers lack multiplication functionality, requiring additional subroutine calls for multiplication, which is quite inconvenient.

Disadvantages: (Despite being a classic, it has notable shortcomings)

1. Functions such as AD and EEPROM require expansion, increasing both hardware and software burdens.

2. Although I/O pins are simple to use, they lack output capability at high levels, which is the major drawback of the 51 microcontroller series.

3. The operation speed is too slow, especially with dual data pointers; improvements could greatly enhance programming convenience.

4. The 51 has poor protection capabilities and is easily damaged.

Application Range:

Currently, it is widely adopted in educational settings and low-performance requirement scenarios.

Most used devices: 8051, 80C51

MSP430 Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

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 speed, with a flexible assembly language, many addressing modes, few instructions, and ease of use. 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 are primarily attributed to the following characteristics…

Characteristics:

1. Powerful processing capability, adopting a Reduced Instruction Set Computing (RISC) architecture, with rich addressing modes (7 source operand addressing, 4 destination operand addressing), concise 27 core instructions, and many analog instructions; a large number of registers and on-chip data memory can participate in various calculations; also featuring efficient table lookup processing instructions; achieving high processing speeds, with a 125 ns instruction cycle under an 8MHz crystal drive. These features ensure the ability to compile highly efficient source programs.

2. In terms of processing speed, it can achieve a 125 ns instruction cycle under an 8MHz crystal drive. The 16-bit data width, 125 ns instruction cycle, and multifunctional hardware multiplier (capable of multiply-accumulate) can implement certain algorithms for digital signal processing (e.g., FFT).

3. The ultra-low power consumption of the MSP430 microcontroller is due to its unique approach to reducing chip power supply voltage and flexible, controllable operating clocks. The power supply voltage ranges from 1.8 to 3.6V. Thus, under 1MHz clock conditions, the chip’s current is about 200 to 400uA, and the lowest power consumption in clock shutdown mode is only 0.1uA.

Disadvantages:

1. Personally, I find it not easy to learn, unsuitable for beginners, and there is relatively little documentation available, requiring one to search the official website.

2. The instruction space it occupies is relatively large; being a 16-bit microcontroller, programs are word-based, and some instructions can occupy as much as 6 bytes. Although the surface program is concise, it occupies significantly more space compared to PIC microcontrollers.

Application Range:

More commonly applied in low-power and ultra-low-power industrial scenarios.

Most used devices: MSP430F series, MSP430G2 series, MSP430L09 series

TMS Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

Here, I would also like to mention the TMS series microcontroller, although it is not mainstream. Launched by TI, it is an 8-bit CMOS microcontroller with various 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 high cost-performance real-time system control through the integration of advanced peripheral function modules and various chip memory configurations. It also employs high-performance silicon gate CMOS EPROM and EEPROM technology. With low power consumption CMOS technology, wide operating temperature range, noise suppression, and rich on-chip peripheral functions, the TMS370C series microcontroller has found applications in automotive electronics, industrial motor control, computers, communication, and consumer electronics.

STM32 Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

The STM32 series microcontroller, launched by ST, is well-known in the industry for its high cost-performance ratio, and it is arguably unmatched. Its functionality is incredibly powerful, based on the ARM Cortex-M core designed for high-performance, low-cost, and low-power embedded applications, while also featuring top-notch peripherals: 1μs dual 12-bit ADC, 4 Mbps UART, 18 Mbps SPI, etc. It also demonstrates impressive performance in terms of power consumption and integration; although it is slightly inferior to the MSP430 in terms of power consumption, this does not diminish engineers’ enthusiasm for it. Its powerful features are mainly reflected in:

Characteristics:

1. Core: ARM 32-bit Cortex-M3 CPU, maximum operating frequency of 72MHz, 1.25 DMIPS/MHz, single-cycle multiplication, and hardware division.

2. Memory: On-chip integrated Flash memory ranging from 32-512KB, and SRAM memory ranging from 6-64KB.

3. Clock, reset, and power management: Power supply voltage of 2.0-3.6V and I/O interface driving voltage. POR, PDR, and programmable voltage detectors (PVD). 4-16MHz crystal oscillator. Embedded factory-calibrated 8MHz RC oscillating circuit. Internal 40 kHz RC oscillating circuit. PLL for CPU clock. 32kHz 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

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

The PIC microcontroller series is a product of Microchip Technology Inc. in the USA, divided into three levels: basic, mid-range, and high-end. It is one of the fastest-growing microcontroller families in the current market, adopting a RISC architecture with 33, 35, and 58 instructions, belonging to a reduced instruction set, and utilizing Harvard dual-bus architecture for fast operation. This allows program memory access and data memory access to be processed in parallel, completing two tasks in one cycle: executing the instruction and fetching the next instruction from program memory. This is one reason for its high efficiency.

Characteristics:

1. Features such as low operating voltage, low power consumption, and strong driving capacity. The I/O ports of the PIC series microcontroller are bidirectional, and its output circuit uses a CMOS complementary push-pull output circuit. The I/O pins have added direction registers to set input or output states, resolving the issue of the 51 series I/O pins being both input and output at high levels.

2. When set to 1, it is in input state, and regardless of whether the pin is at high or low level, it presents a high-impedance state; when set to 0, it is in output state, and regardless of the pin level, it presents a low-impedance state, providing considerable driving capability, with low-level current absorption reaching 25mA and high-level output current reaching 20mA. This is a significant advantage compared to the 51 series.

3. It can directly drive seven-segment displays, and the external circuit is simple. Its A/D is 10 bits, meeting accuracy requirements. It has in-circuit debugging and programming (ISP) capabilities.

Disadvantages:

Its special function registers (SFR) are not concentrated in a fixed address range (80~FFH) like the 51 series but are dispersed across four address ranges. Only five special registers (PCL, STATUS, FSR, PCLATH, INTCON) appear simultaneously in four storage bodies. However, during programming, one must frequently interact with special registers, repeatedly selecting 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 performed through the working register W (equivalent to the accumulator A in the 51 series), whereas the 51 series can transfer data directly between registers, resulting in more severe bottlenecks in PIC microcontrollers than in the 51 series, which programmers should be well aware of.

Most used devices: PIC16F873, PIC16F877

AVR Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

The AVR microcontroller is a relatively novel microcontroller launched by Atmel, characterized by high performance, high speed, and low power consumption. It eliminates machine cycles and uses clock cycles as instruction cycles, implementing pipelined operations. AVR microcontroller instructions are word-based, and most instructions are single-cycle instructions. The shortest instruction execution time is 250 to 125ns, given a clock frequency of 4 to 8MHz. The AVR microcontroller remains popular due to its significant features:

Characteristics:

1. The AVR series lacks an accumulator structure similar to A; it primarily uses registers R16 to R31 to implement A’s functionality. In AVR, there is no data pointer DPTR like in the 51 series; instead, three 16-bit registers (X, Y, Z) complete the data pointer function (equivalent to having three DPTRs) and can perform post-increment or pre-decrement operations. In contrast, all logical operations in the 51 series must occur in A; AVR allows operations between any two registers, eliminating the need to transfer between A, making it superior to the 51 series.

2. The dedicated registers of AVR are concentrated in the 00 to 3F address range, eliminating the need to select storage bodies like PIC, making it more convenient to use.

AVR’s internal RAM address range is 0 to 00DF (AT90S2313) and 0060 to 025F (AT90S8515, AT90S8535), occupying the data space address. These internal RAMs are solely for data storage, typically lacking general register functionality. When programs become complex, the general registers R0 to R31 may seem insufficient; the 51 series has as many as 128 general registers (four times that of AVR), so programmers do not experience this limitation.

3. The I/O pins of AVR are similar to PIC; it also has direction registers to control input or output states. In output mode, the high-level output current is about 10mA, while low-level absorption current is around 20mA. Although this is not as good as PIC, it is still better than the 51 series.

Disadvantages:

1. There are no bit operations; all control and judgment of related register bits are done in byte form.

2. There are significant differences in C language syntax between AVR and 51, which can be quite unfamiliar for those starting with the 51 microcontroller.

3. There are only 32 general registers (R0 to R31), with the first 16 (R0 to R15) unable to directly interact with immediate values, reducing versatility. In contrast, all general registers in the 51 series (addresses 00 to 7FH) can directly interact with immediate values, clearly superior to the former.

Most used devices: ATUC64L3U, ATxmega64A1U, AT90S8515

STC Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

When mentioning the STC microcontroller, some might argue that STC can also be considered mainstream, but that might spark some controversy~~ We base this on it being one of the better microcontrollers domestically. The STC microcontroller is a single-clock/machine cycle microcontroller produced by Hongjing, essentially a hybrid of 51 and AVR. Some say AVR is a replacement for the 51 microcontroller, but significant differences exist in bit control and C language syntax. The STC microcontroller combines the advantages of both 51 and AVR; although it may not be as powerful as AVR, it generally has all the features available in AVR. Additionally, the STC microcontroller is based on the 51 core, providing great convenience for engineers familiar with 51 microcontrollers, saving the time to learn AVR while still benefiting from its functionalities…

The STC microcontroller is a new generation of 8051 microcontrollers with high speed, low power consumption, and strong anti-interference capabilities. Its instruction set is fully compatible with the traditional 8051, but it operates 8 to 12 times faster, integrating a dedicated MAX810 reset circuit. It features 4 PWM channels, 8 high-speed 10-bit A/D converters, and is designed for motor control in high-interference environments, becoming a new series of microcontrollers following the 51 microcontroller…

Characteristics:

1. Downloading and programming via the serial port is convenient and user-friendly, with abundant learning resources and videos available. The most famous is the video by Teacher Du, through which many interested in microcontrollers have started their journey. It also features a wide voltage range: 5.5 to 3.8V, 2.4 to 3.8V, with low power consumption designs: idle mode and sleep mode (can be awakened by external interrupts).

2. The STC microcontroller has convenient application programming and debugging; it includes 10-bit A/D, internal EEPROM, and operates at 1T/machine cycle speed, which is 8 to 12 times faster than traditional 51 microcontrollers, and is also relatively inexpensive.

3. It has 4 capture/compare units; the STC12C2052AD series has 2 channels, which can also be used to implement 4 timers or 4 external interrupts, 2 hardware 16-bit timers, and is compatible with ordinary 8051 timers. The 4 PCA channels can also implement 4 timers, featuring a hardware watchdog, high-speed SPI communication port, full-duplex asynchronous serial port, compatible with ordinary 8051 serial ports, and has an advanced instruction set architecture, compatible with the ordinary 8051 instruction set.

PS: Although the STC microcontroller’s functionalities may not be as powerful as those of the AVR or STM32, and its price may not be as low as that of the 51 or STM32, these factors are not crucial; what matters is that it is one of the more outstanding domestic microcontrollers, and I hope domestic microcontrollers can thrive…

Most used devices: STC12C2052AD

Freescale Microcontroller

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

Mainly targeting microcontrollers like S08 and S12, Freescale microcontrollers are far more than just these. The Freescale series microcontrollers adopt Harvard architecture and pipelined instruction structure, demonstrating low cost and high performance in many fields. Their architecture saves a lot of time in product development. Additionally, Freescale provides various integrated modules and bus interfaces, allowing for more flexible roles in different systems! The unique characteristics of Freescale microcontrollers are as follows:

1. Full range: From low-end to high-end, with a complete series from 8-bit to 32-bit, the QE128 microcontroller they launched can be directly migrated from 8-bit to 32-bit, filling a gap in the 8/32-bit compatible architecture in the microcontroller industry.

2. Various system clock modules: Three modules with seven operating modes. Multiple clock source input options; different MCUs have different clock generation mechanisms, which can be RC oscillators, external clocks, or crystals, and most CPUs have the above three modules! They can operate in seven modes: FEI, FEE, FBI, FBILP, FBE, FBELP, STOP.

3. Various communication module interfaces: Freescale microcontrollers almost integrate all kinds of communication interface modules: including serial communication interface modules SCI, multi-master I2C bus modules, serial peripheral interface modules SPI, MSCAN08 controller modules, and USB/PS2 general serial bus modules.

4. More optional modules: Includes LCD driver modules, temperature sensors, ultra-high frequency transmission modules, synchronous processing modules, and some MCUs with 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 as the MSP430, they feature fully static “wait” and “stop” modes, significantly reducing overall power consumption! Recent releases of ultra-low-power models have become comparable to the MSP430!

Most used devices: MC9S12G series

If one were to rank these microcontrollers, the 51 microcontroller would still be the first choice for those who want to follow the crowd; if you pursue ultra-high cost performance, the STM32 would be your ideal choice; if you desire ultra-low power consumption, the MSP430 will not disappoint you; and if you want to support domestic products, the STC will excite you…

Disclaimer: This article is sourced from the internet, and the copyright belongs to the original author. If there are any copyright issues, please contact for removal.

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

1

“5000 Words of Insights! Understanding Embedded Operating System Memory”

2

“[Insights] 20 Common Interview Questions for Embedded Engineers (with Answers)”

3

“A Fun 1-Minute Understanding of the Linux Kernel, It Turns Out to Be a Small House?”

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA

Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA
Click to Share
Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA
Click to Like
Understanding the Relationships Between Microcontrollers, ARM, MCU, DSP, and FPGA
Click to View

Leave a Comment