Technical Features and differences of arm, DSP, and FPGA

Source: Internet
Author: User

 

In the field of embedded development, arm is a very popular microprocessor with extremely high market coverage. DSP and FPGA are used as co-processors for embedded development, assists the microprocessor to better implement product functions. What are the technical features and differences between the three? The following is a summary of this issue.
Arm is a well-known enterprise in the microprocessor industry. It has designed a large number of high-performance, low-cost, and low-energy-consuming Proteus processors, related technologies and software.
The ARM architecture is designed for the low-budget market as the first chip microprocessor, which is basically the industry standard of 32-bit single chip microcomputer. It provides a series of kernel, system expansion, microprocessor and system chip solutions, the four function modules can be used by the manufacturer to configure production according to the requirements of different users. Because all products adopt a general software system, the same software can run in all products. Currently, arm has more than 90 shares in the handheld device market, which can effectively shorten applications. Program The development and testing time also reduces the R & D cost.
Digital singnal processor (DSP) is a unique microprocessor with its own complete command system. It uses digital signals to process a large amount of information. A digital signal processor contains control units, operation units, various registers, and a certain number of storage units in a small chip. It can also connect several memories on its peripheral, it can also communicate with a certain number of external devices. It has all-round software and hardware functions and is itself a microcomputer. The DSP adopts the Harvard design, that is, the data bus and the address bus are separated, so that the program and data are stored in two separate spaces, allowing the overlapping of commands and execution commands. That is to say, when executing the previous instruction, the next instruction can be taken out and decoded simultaneously, which greatly improves the speed of the microprocessor. It also allows transmission between the program space and the data space, because it increases the flexibility of the device. The working principle is to receive analog signals, convert them to 0 or 1 digital signals, and then modify, delete, and strengthen the digital signals, in addition, the digital data is interpreted back to the analog data or the actual environment format in other system chips. It is not only programmable, but also runs at a rate of tens of millions of Complex Instruction programs per second, far exceeding the general-purpose microprocessor. It is an increasingly important computer chip in the digital electronics world. Its powerful data processing capability and high running speed are two of the most commendable features. Because of its powerful computing capability, fast speed, small size, and high flexibility in using software programming, it provides an effective way to engage in a variety of complex applications. According to the requirements of digital signal processing, DSP chip generally has the following main features:
(1) One multiplication and one addition can be completed within one instruction cycle;
(2) programs and data spaces are separated and commands and data can be accessed simultaneously;
(3) Fast RAM in the chip, which can be accessed at the same time through an independent data bus;
(4) hardware support with low overhead or no overhead loop and redirection;
(5) Fast interrupt handling and hardware I/O support;
(6) There are multiple hardware address generators operating in a single cycle;
(7) multiple operations can be executed in parallel;
(8) supports pipeline operations so that operations such as finger fetch, decoding, and execution can be performed in overlapping ways.
Of course, compared with general-purpose microprocessor, other general functions of DSP chip are relatively weak.
FPGA is the abbreviation of field programmable gate array (Field Programmable Gate Array). It is a product of further development on the basis of PAL, gal, PLD and other programmable devices. It is a dedicated Integrated Circuit (ASIC) the most integrated. FPGA adopts a new concept such as logic cell array (LCA), which includes configurable logic modules CLB (Programmable Logic block) and output input module IOB (input output block) and interconnect. You can reconfigure the logic modules and I/O modules in FPGA to implement your logic. It also features static repeatable programming and dynamic restructuring of the system, so that hardware functions can be modified through programming like software. As a semi-customized circuit in the specialized IC (ASIC) field, FPGA not only solves the shortcomings of the custom circuit, but also overcomes the shortcomings of the limited number of original programmable device door circuits. It is no exaggeration to say that FPGA can be used to complete the functions of any digital device, from high-performance CPU to simple 74 circuit. FPGA, such as a piece of white paper or a pile of wood, allows engineers to freely design a digital system using the traditional schematic input method or hardware description language. Through software simulation, we can verify the correctness of the design in advance. After the PCB is complete, you can use the online modification capability of FPGA to modify the design at any time without changing the hardware circuit. Using FPGA to develop digital circuits can greatly shorten the design time, reduce the PCB Area, and improve the system reliability. FPGA is set by the program stored in the On-chip RAM. Therefore, you need to program the on-chip RAM when working. Users can adopt different programming methods based on different configuration modes. When power-on is enabled, the FPGA chip reads the EPROM data into the on-chip programming Ram. After the configuration is complete, the FPGA enters the working state. After power loss, FPGA becomes white, and the internal logic relationship disappears. Therefore, FPGA can be used repeatedly. FPGA programming does not require a dedicated FPGA programmer. You only need to use a universal EPROM or prom programmer. When you need to modify the FPGA function, you only need to change an EPROM. In this way, different programming data of the same FPGA can generate different circuit functions. Therefore, FPGA is very flexible to use. It can be said that FPGA chip is one of the best choices for small batch systems to improve system integration and reliability. FPGA has many varieties, including Xilinx XC series, Ti TPC series, and Altera fiex series.
As the most common processor for Embedded Development, arm is a must-have knowledge of embedded engineers. In the second phase of the <embedded engineer vocational training course> of the embedded College, the arm system architecture will be detailed in combination with embedded Linux application development and embedded Linux system transplantation, in addition, the short-term training business of Huaqing vision also includes training courses for ARM, DSP, and FPGA.
What is the difference? : Arm has strong transaction management functions and can be used to run interfaces and applications. Its advantages are mainly reflected in the control aspect, while DSP is mainly used for computing, for example, encryption and decryption, modulation and demodulation, and other advantages are powerful data processing capabilities and high operating speed. FPGA can be programmed with VHDL or VerilogHDL, which is flexible. Due to programming, debugging, re-programming, and repetitive operations, it can be fully designed for development and verification. When the circuit has a small number of changes, it can better show the advantages of FPGA, its field programming capability can extend the product's life in the market, and this capability can be used for system upgrades or debugging.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.