Common processor MCU, MPU, DSP, FPGA and other embedded processor concepts

In the previous article, embedded processor concepts such as MCU, MPU, DSP, FPGA, etc. appeared many times. Many beginners may be confused. The following will briefly introduce these concepts.

MCU

Micro-Controller Unit (MCU), commonly known as single-chip microcomputer. It is called Single Chip Microcomputer (Single Chip Microcomputer) because it is different from other processors. It combines CPU, RAM (random access memory), ROM (read only memory), I/O, interrupt system, timer, etc. Functional peripheral resources are concentrated on one chip. This chip is a complete microcomputer that only needs power supply or a few peripheral circuits to work.

Common MCUs include 80C51 series single-chip microcomputers, Atmel's AVR series single-chip microcomputers, Microchip's PIC series single-chip microcomputers, TI's MSP430 series single-chip microcomputers, ST's STM32 series single-chip microcomputers, and NXP's LPC1700 series single-chip microcomputers.

The early MCU was mainly 8-bit, and later it developed 16-bit, and now the mainstream is already 32-bit. In addition, the main frequency continues to increase, the ROM continues to increase, and the peripherals continue to increase. The application fields and occasions of the single-chip microcomputer are getting larger and larger.

MPU

Microprocessor (Micro-Processor Unit, MPU). A CPU similar to a general-purpose computer is mainly responsible for processing calculations and requires additional circuits such as RAM, Flash, and power supply.

The essential difference between MCU and MPU is because of the different positioning of application scenarios. MPU focuses on executing complex and diverse large-scale programs through relatively powerful computing/processing capabilities, so it often requires external running memory (RAM), storage (Flash), and so on. MCU pays attention to the application scenarios with relatively single function and price-sensitive. It does not need relatively powerful computing/processing capabilities. It is more about device management/control. Therefore, it does not need large-capacity RAM and Flash to run large-scale programs, so RAM, Flash is fully integrated, and everyone is also commonly known as "microcontroller", as shown in Figure 2.3.1.

Insert picture description here
Nowadays, with the development of technology and changes in market and demand, the boundary between MPU and MCU is becoming blurred. The main frequency of the high-end 32-bit MCU is getting higher and higher, and the main frequency of the low-end MPU has been reversed. The MCU also has the scene of external RAM and Flash, and it is gradually difficult to distinguish by the hardware structure. Readers can simply think that embedded microprocessor MPUs usually run non-real-time operating systems such as Linux and Android, and are used in high-end application markets, such as smart phones, routers and other consumer electronics markets, while embedded microcontroller MCUs often run bare metal Or a real-time operating system, applied in the middle and low-end application markets, such as home appliance control, industrial control, etc.

DSP

DSP usually has two meanings.

  • Digital Signal Processing (DSP) is a subject technology, the theory and technology of processing signals using numerical calculations.
  • Digital Signal Processor (DSP) is a microprocessor chip specially used in the field of digital signal processing.

Figure 2.3.2 shows TI's DSP chip TMS320VC5509A.
Insert picture description here
In order to achieve the purpose of fast processing of digital signal processing, DSP chip adopts many special software and hardware structures. The first is to use the Harvard structure to separate programs and data, while providing instructions and data for the processor. Then using multi-stage pipeline technology, more instructions can be executed in the instruction cycle. Coupled with dedicated hardware multipliers and special DSP instructions, the DSP chip is far superior to the MCU or MPU of the same frequency in terms of calculation and processing.

DSP chips have powerful data processing capabilities and are widely used in computationally intensive scenarios such as modulation/demodulation, data encryption/decryption, graphics processing, digital filtering, and audio processing in the field of digital signal processing.

FPGA

Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), a semiconductor device composed of a configurable logic block (CLB) matrix connected by programmable interconnects. In layman's terms, FPGA is a chip that can change the internal hardware structure through programming to achieve the required functions. The previous MCU, DSP, etc. are all fixed hardware resources, and the required functions can only be realized by modifying the software. The FPGA is to modify the hardware through a hardware description language or other methods, turning the FPGA into a CPU or a dedicated chip to implement control or algorithms. Therefore, the functions that MCU and DSP can realize can be realized by FPGA theoretically, but not necessarily vice versa. Figure 2.3.3 shows the FPGA chip XC3S400A of Xilinx Company.
Insert picture description here
FPGA has two main advantages: high speed and flexibility. FPGA uses hardware to process data, adopts concurrency and pipeline technology, and multiple modules can be executed in parallel at the same time. FPGA can configure device functions according to field conditions, and can be reconfigured when technology and requirements change to achieve system optimization and upgrade.

In some communication fields, high-speed communication protocols need to be processed. At the same time, the communication protocol may be modified at any time. It is not suitable for making a special chip. The high-speed and flexibility of FPGA has become the first choice.

Although FPGA is powerful, in actual engineering projects, factors such as hardware cost, development difficulty, and market demand need to be considered. For some simple control occasions, although FPGA and MCU can be competent, MCU is cheaper and simple to research and develop, and it is more cost-effective.

【to sum up】

Today's complex embedded systems are often composite architectures, such as "MPU+FPGA", "MPU+DSP", "MCU+FPGA", "MCU+DSP", or even "MCU+MPU+FPGA+DSP". Control, display, and communication generally choose MCU or MPU, communication and data processing algorithms choose DSP, and large amounts of data processing and specific implementation choose FPGA.

MCU development requires C language foundation, and then learn various resources, interfaces, and then RTOS; MPU usually runs Linux and requires knowledge of Linux foundation, operating system, network programming, etc.; DSP development requires theoretical knowledge of data signal processing algorithms; FPGA development Need to understand high-speed interfaces or audio/visual processing algorithms, etc.

Generally speaking, MCU is relatively simple and suitable as an introductory study. After the MCU study is completed, choose the in-depth study direction based on the actual situation.

Embedded Linux video: https://www.100ask.net/index
MCU video: https://www.100ask.net/page/1707053
Full text download: click to download

Guess you like

Origin blog.csdn.net/thisway_diy/article/details/114916402