What is the difference between ARM, DSP, and FPGA?

ARM (Advanced RISC Machines) is a well-known enterprise in the microprocessor industry, designing a large number of high-performance, low-cost, low-power RISC processors, related technologies and software.

The ARM architecture is the first RISC microprocessor designed for low-budget markets. It is basically the industry standard for 32-bit microcontrollers. It provides a range of cores, system extensions, microprocessors and system-on-chip solutions. Four functional modules are available for production. The manufacturer configures the production according to the requirements of different users. Since all products use a common software system, the same software runs in all products. At present, ARM has more than 90% of the handheld device market, which can effectively shorten the application development and testing time, and reduce the research and development costs.

DSP

DSP (digital singnal processor) is a unique microprocessor with its own complete instruction system, which is a device that processes large amounts of information with digital signals. A digital signal processor includes a control unit, an arithmetic unit, various registers, a certain number of storage units, and the like in a small chip, and can also connect a plurality of memories on the periphery thereof, and can mutually interact with a certain number of external devices. Communication, with the full functionality of software and hardware, is itself a microcomputer. The DSP uses a Harvard design, where the data bus and the address bus are separated, so that the program and data are stored in two separate spaces, allowing the instruction fetch and execution instructions to completely overlap. That is to say, the next instruction can be fetched and decoded at the same time as the previous instruction is executed, which greatly improves the speed of the microprocessor. It also allows for transfer between program space and data space because of the increased flexibility of the device. The working principle is to receive an analog signal, convert it to a digital signal of 0 or 1, and then modify, delete, and enhance the digital signal, and interpret the digital data back to analog data or the actual environment format in other system chips. Not only is it programmable, but it can run tens of millions of complex instructions per second in real time, far surpassing general-purpose microprocessors, and is an increasingly important computer chip in the digital electronics world. Its powerful data processing capabilities and high operating speed are two of the most commendable features. Because of its high computing power, fast speed, small size, and high flexibility in software programming, it provides an effective way to engage in a variety of complex applications. According to the requirements of digital signal processing, DSP chips generally have the following main features:

(1) One multiplication and one addition can be completed in one instruction cycle;
(2) The program and the data space are separated, and the instructions and data can be accessed simultaneously;
(3) There is a fast RAM on the chip, which can usually be accessed simultaneously in two blocks through a separate data bus;
(4) Hardware support with low overhead or no overhead loops and jumps;
(5) Fast interrupt handling and hardware I/O support;
(6) having a plurality of hardware address generators operating in a single cycle;
(7) Multiple operations can be performed in parallel;
(8) Support pipeline operations, so that operations such as fetching, decoding, and execution can be performed in an overlapping manner.

Of course, other general-purpose functions of the DSP chip are relatively weak compared to general-purpose microprocessors.

FPGA

FPGA is the abbreviation of English Field Programmable Gate Array. It is a product of further development based on programmable devices such as PAL, GAL, PLD, etc. It is the most integrated one in application specific integrated circuit (ASIC). Kind. The FPGA adopts a new concept such as Logic Cell Array (LCA), which includes three parts: Configurable Logic Block (CLB), Input Output Block (IOB) and Interconnect (Interconnect). The user can reconfigure the logic blocks and I/O modules inside the FPGA to implement the user's logic. It also features static reprogrammability and dynamic system refactoring, so that hardware functions can be modified programmatically like software. As a semi-custom circuit in the field of application specific integrated circuits (ASIC), FPGA not only solves the shortcomings of custom circuits, but also overcomes the shortcomings of the limited number of original programmable device gates. It is no exaggeration to say that FPGAs can perform the functions of any digital device, from high-performance CPUs to simple 74 circuits, all of which can be implemented using FPGAs. The FPGA is like a piece of white paper or a stack of wood. Engineers can freely design a digital system through traditional schematic input methods or hardware description languages. Through software simulation, we can verify the correctness of the design in advance. After the PCB is completed, the online modification capability of the FPGA can also be utilized to modify the design at any time without changing the hardware circuit. Using FPGAs to develop digital circuits can significantly reduce design time, reduce PCB area, and increase system reliability. The FPGA is set up by the program stored in the on-chip RAM, so the on-chip RAM needs to be programmed during operation. Users can use different programming methods according to different configuration modes. When power is applied, the FPGA chip reads the data in the EPROM into the on-chip programming RAM. After the configuration is completed, the FPGA enters the working state. After the power is turned off, the FPGA is restored to a white chip, and the internal logic relationship disappears. Therefore, the FPGA can be used repeatedly. The FPGA programming does not require a dedicated FPGA programmer, just a general EPROM, PROM programmer. When you need to modify the FPGA function, you only need to change one EPROM. In this way, the same FPGA, different programming data, can produce different circuit functions. Therefore, the use of FPGAs is very flexible. It can be said that the FPGA chip is one of the best choices for improving the system integration and reliability of small batch systems. At present, there are many varieties of FPGAs, such as the XC series of XILINX, the TPC series of TI, and the FIEX series of ALTERA.

As the most commonly used processor for embedded development, ARM is a knowledge that embedded engineers must master. The ARM architecture will be introduced in detail in the second phase of the Embedded Academy <Embedded Engineers Vocational Training Course> with embedded linux application development and embedded linux system migration. In addition, Huaqing Vision’s short-term training business also has Training courses for ARM, DSP, and FPGA.

What is the difference?

ARM has a relatively strong transaction management function, which can be used to run interfaces and applications, etc. Its advantages are mainly reflected in the control, while DSP is mainly used for calculation, such as encryption and decryption, modulation and demodulation, etc. The advantage is powerful. Data processing capabilities and high operating speeds. FPGAs can be programmed with VHDL or verilogHDL for flexibility and design, development, and verification due to the ability to program, debug, reprogram, and repeat operations. When the circuit has a few changes, it can show the advantages of FPGA. Its field programming capability can extend the life of the product in the market, and this capability can be used for system upgrade or debugging.

Other household electric appliance

gree , https://www.greegroups.com