What is a Digital Signal Processor?
A digital signal processor (DSP) is a microprocessor dedicated to (usually real-time) digital signal processing. The architecture includes CPU/ALU, program memory, data memory, etc. Its common architecture types include enhanced DSP, VLIW structure, superscalar architecture and SIMD structure hybrid structure. Its biggest feature is its internal dedicated hardware multiplier and Harvard bus structure, which can process a large number of digital signals at a fast speed.
How DSP works?
DSP is a device that uses digital signals to process large amounts of information. That is, the information obtained after “digitizing” the analog signal at a specific time. To be more specific, it is to “sample” at a specific time, and then “quantize” the sampled discrete signal to be processed and convert it into the corresponding number, thereby completing the digitization work.
There are two actions that are crucial to digitization: “sampling” and “quantization”, which we will discuss further later. After obtaining the digital information, appropriate operations can be performed to achieve our requirements for audio signal processing.
In order to achieve real-time and fast digital signal processing, DSP adopts an architecture that is different from other microprocessing chips (CPU, etc.). It abandoned the von Norman parallel architecture and adopted the Harvard architecture. We use two schematic diagrams to distinguish the von Norman structure and the Harvard structure.
As can be seen from the above two structural diagrams, the biggest difference between the Harvard structure and the von Norman structure is whether the storage units are subdivided. In Harvard architecture, instructions store program and data are stored in different memory spaces. Instruction fetching and execution instructions can completely overlap, and each memory is independently addressed and accessed independently. It also allows transfers between program space and data space, increasing the flexibility of the device.
On the contrary, there is only one storage unit in von Neumann’s structure, which contains address, instructions, data and other information. The address provided by the instruction counter is used to distinguish whether it is an instruction, data or address. Such reading speed and efficiency are relatively low, resulting in low data throughput.
DSP chip operation indicators
- Assembly line operation:
The pipeline is related to the Harvard structure. DSP chips widely use pipelines to reduce the instruction execution time, thereby enhancing the processor’s processing power. The processor can process two to four instructions in parallel, each instruction at a different stage of the pipeline.
- Dedicated hardware multiplier:
The faster the multiplication speed, the higher the performance of the DSP processor. Thanks to a dedicated application multiplier, multiplication can be completed in one instruction cycle.
- Special DSP instructions:
Special DSP instructions DSP chips use special instructions.
- Fast instruction cycle:
The fast instruction cycle Harvard structure, pipeline operations, dedicated hardware multipliers, special DSP instructions, and the optimized design of the integrated circuit can make the instruction cycle of the DSP chip below 200ns.
Characteristics of DSP system
The digital signal processing system is based on digital signal processing and therefore has all the characteristics of digital processing:
The interface is convenient
DSP systems are compatible with other systems or devices based on modern digital technology. It is much easier for such systems to interface to achieve certain functions than for analog systems to interface with these systems.
Programming is convenient
The programmable DSP chip of the DSP system allows designers to modify and upgrade the software flexibly and conveniently during the development process.
Good stability & durability
The DSP system is based on digital processing, is less affected by ambient temperature and noise, and has high reliability.
The accuracy achievable with a 16-bit number system.
The performance of analog systems is greatly affected by component parameter performance changes, while digital systems are basically not affected. Therefore, digital systems are convenient for testing, debugging and mass production.
Easy to integrate
The digital components in the DSP system are highly standardized and facilitate large-scale integration.
History of DSP chips
The birth of DSP chips is the need of the times. Since the 1960s, with the rapid development of computers and information technology, digital signal processing technology has emerged and developed rapidly. Before the advent of DSP chips, digital signal processing could only be accomplished by microprocessors. However, due to the low processing speed of the microprocessor, it simply cannot meet the high-speed real-time requirements of the increasing amount of information.
In the 1970s, the theoretical and algorithmic basis of DSP chips had matured. But at that time, DSP only stayed in textbooks. Even the developed DSP systems were composed of discrete components, and their application fields were limited to the military and aerospace sectors.
In 1978, AMI released the world’s first single-chip DSP chip S2811, but it did not have the hardware multiplier necessary for modern DSP chips;
In 1979, the commercial programmable device 2920 released by Intel Corporation of the United States was a major milestone in DSP chips, but it still did not have a hardware multiplier;
In 1980, the MPD7720 launched by Japan’s NEC Company was the first commercial DSP chip with a hardware multiplier, and was therefore considered the first monolithic DSP device;
In 1982, the world’s first generation DSP chip TMS32010 and its series of products were born. This DSP device is made using micron process NMOS technology. Although its power consumption and size are slightly larger, its computing speed is dozens of times faster than that of a microprocessor.
The advent of DSP chips is a milestone, which marks a big step forward for DSP application systems from large systems to miniaturization. By the mid-1980s, with the emergence of DSP chips based on CMOS technology, their storage capacity and computing speed had been doubled, becoming the basis of voice processing and image hardware processing technology.
In the late 1980s, the third generation of DSP chips came out, the computing speed was further improved, and its application scope gradually expanded to the fields of communications and computers;
DSP developed fastest in the 1990s, with the fourth and fifth generation DSP chips appearing one after another. Compared with the fourth generation, the fifth generation system has a higher degree of integration, integrating the DSP core and peripheral components on a single chip.
After entering the 21st century, the sixth generation DSP chip was born. The sixth-generation chips comprehensively surpass the fifth-generation chips in terms of performance. At the same time, many personalized branches have been developed based on different business purposes, and they have begun to gradually expand into new areas.
Applications of DSP chips
In today’s digital era, DSP has become a basic device in communications, computers, consumer electronics and other fields.
The amount of information generated by media data transmission is huge. Multimedia network terminals need to quickly analyze and process the acquired information during the entire process. Therefore, DSP is used in speech coding, image compression and voice communication reduction. Nowadays, DSP produces real-time effects for speech decoding calculations, and the design protocol requirements have become the most basic international standard.
In the field of industrial control, industrial robots are widely used, and the performance requirements for robot control systems are getting higher and higher. The robot control system will generate a lot of data and calculation processing while completing an action, and a high-performance DSP can be used here. After DSP is applied to the robot control system, it makes full use of its real-time computing speed characteristics, so that the robot system can quickly handle problems. As the speed of DSP digital signal chips continues to increase, it is easy to form a parallel processing network in the system, greatly improving the control system. The performance has enabled the robot system to be more widely developed.
The rich on-chip resources of DSP can greatly simplify the hardware circuit of instruments and realize SOC design of instruments. The measurement accuracy and speed of instruments are important indicators. Using DSP chips to develop products can greatly improve these two indicators. For example, TI’s TMS320F2810 has an efficient 32-bit CPU core, 12-bit A/D converter, rich on-chip memory and flexible command system, building a broad platform for high-precision instruments. High-precision instruments have now developed into an important application of DSP and are in a period of rapid dissemination, which will promote technological innovation in the industry.
The increasing development of automotive electronic systems, such as the installation of infrared and millimeter wave radars, will require the use of DSPs for analysis. Nowadays, there are more and more cars, and anti-collision systems have become a research hotspot. Moreover, the image data captured by the camera needs to be processed by DSP before it can be displayed in the driving system for driver reference.
DSP’s low power consumption, small size, and real-time response speed are particularly needed in weapons and equipment. For example, airborne air-to-air missiles are equipped with infrared detectors and corresponding DSP signal processors in a limited volume to complete automatic target locking and tracking. The visual sights equipped on advanced fighter jets and the helmet-mounted low-light instruments carried by infantry personnel require DSP technology to complete image filtering and enhancement and intelligent target search and capture. DSP technology is also used in radar digital signal processing such as automatic artillery control, cruise missiles, early warning aircraft, and phased array antennas.
Fixed-point DSP and Floating-point DSP
In generally, fixed-point DSP processors have the characteristics of fast speed, low power consumption, and cheap price; while floating-point DSP processors have accurate calculations, large dynamic range, fast speed, easy programming, high power consumption, and high price.
From a macro perspective, floating-point DSP has a much larger dynamic range than fixed-point DSP. In fixed-point arithmetic, programmers must always pay attention to the occurrence of overflow. In order to prevent overflow, they must either continue to perform shifting scaling or perform truncation. The former consumes a lot of time and space, while the latter brings a loss of accuracy. On the contrary, floating-point operation DSP expands the dynamic range, improves accuracy, saves operation time and storage space, thus greatly reducing scaling, shifting and overflow checks.
From a purely technical perspective, the difference between fixed-point and floating-point mainly lies in two aspects, namely hardware and software. The hardware difference comes from: the floating-point DSP processor has a floating-point/integer multiplier, an integer/floating-point arithmetic logic unit ALU, a register suitable for storing extended-precision floating-point results, etc.
Let’s look at the differences in software development. It mainly includes the characteristics and precautions of floating-point DSP programming; scaling, shifting and overflow detection operations of fixed-point DSP when performing floating-point operations. When comparing two floating point numbers, never use operator “==” to determine equality. Even when comparing two identical numbers, there may still be subtle differences. Even defining exactly 0 is not very safe. Although there is a representation of 0 in C language, never write such code (x==0), but should write (fabs(x) < TINY), where TINY is defined as a very small value, that is, processing The processor’s floating point format rounding error.