DIGITAL Processor Signal
A DIGITAL Signal Processor or DSP in English, is “ processor of numeric signal ”, is a Microprocesseur optimized for the calculations. Its principal application is the Treatment of the numerical signal (filtering, extraction of signals, etc), from where its name.
A DSP is a Processeur whose Architecture is optimized to carry out complex calculations in a blow of clock, but also to reach very easily a great number of input-outputs (Numérique S or Analogique S). The principal function used in the DSP is the function MAC ( Multiply and Accumulate ), i.e. a Multiplication followed by a Addition and a storage of the result (function very much used in calculations of control and filtering).
These functionalities pass in front of functionalities which one finds in a processor general practitioner, as for example all that makes it possible to make function an operating system.
The DSP are used in the majority of the applications of the Digital processing of the signal in real-time. One finds them in the Modem S (modem STN, Modem ADSL), the mobile phones, the apparatuses multi-media (reader MP3), receivers GPS… They are also used in systems Vidéo, the data processing sequences of its, everywhere where one receives a complex Signal which one must modify using filtering.
With regard to the filters, the DSP largely simplify of it the realization for several reasons:
- prédictible result and highly répétable (characteristic of the digital circuits, in opposition to the circuits Analogical S)
- component count external reduced
- dynamic change of filter by simple programming.
Characteristics of the processors of numeric signal
-
Data bus and addresses separate (Architecture Harvard). Often double or multiple Harvard architecture, i.e. several separate data buses in the memory capacity.
- special Instructions for operations SIMD (Individual Instruction, Multiple Dated). Only one instruction makes it possible to carry out several simultaneous operations in the various blocks of the DSP.
- Only of the parallel processes, not of multitask. Constraints are imposed because the DSP have only one management rudimentary of the interruptions when they have one of them.
- the possibility of being used like a peripheral with direct access with the memory in an environment host.
- Can take its digital data of a digital analogical converter ( ADC ), apply a treatment to these data and restore them with the outside world by an analogical digital converter ( DAC ).
analogical entry----->ADC---->DSP---->DAC---> analogical exit ^^^ treatment of digital signal
The DSP can be combined with other components in the same case. For example, one or more DSP can be combined with a traditional microprocessor and converters ADC and DAC. This type of assembly (dedicated integrated circuits) makes it possible to reduce the costs in mass productions. The functions of signal processing can also be realized using FPGA, which can incorporate “hearts DSP” (in general of MAC). Material reconfiguration then makes it possible to increase the parallelism of the operations. The various types of architecture available make it possible to adapt the processing circuits to the specific needs of the application.
The majority of the DSP calculate exclusively with integers. The absence of arithmetic unit of floating number makes the component cheaper while allowing an high speed of data processing. A whole multiplior is indeed much simpler than a multiplior with floating decimal point. The integers make it possible to obtain a precision sufficient for the majority of the applications.
However, certain DSP have units of floating-point calculation like TMS320C67x or ADSP-TS20x. Scientific applications or, generally, applications which require a high relative degree of accuracy of the results or a broad dynamics of the values can impose the choice of a DSP on floating decimal point.
So as to optimize the speed of treatment, the DSP use very broad internal registers. For example, for the DSP56k family from Motorola, we find in the ALUMINUM (arithmetic logic unit) four input registers of 24 bits, two accumulating registers of 48 bits and two extensions of 8 bits of the accumulating registers. These last make it possible to obtain an accuracy of 56 bits on the accumulating registers, which offers a good precision on successive calculations and simplifies the management of the errors for the programmer.
The line of demarcation between the microprocessors of general use and the DSP is not always clear. Thus for example, the extension MX of the processors Pentium includes/understands, according to Intel, “ 57 new powerful instructions indicated to handle and treat effectively the video, audio and graphic data. These instructions are intended for the repetitive sequences and highly parallels which are often present in the applications multi-media. ”
The DSP propose astonishing performances. For example, the DSP AD1460 which is composed of 4 ADSP-21060 in the same case has a maximum computing power of 460 MFLOPS (460 million operations in floating decimal point a second). Another model, the ADSP-21160 operates to 100 MHz, has a bus accelerated of memory of a band-width of 1600 megabytes a second, 2 data buses in 64 bits and 4 accumulators of 80 bits for calculations on entireties. On the whole, the ADSP-21160 carries out a transformation of Fourier 1024 points into only 46 μs.
Digital processing of the signal
The digital processing of the signal is carried out with mathematical operations. In comparison, a word processing or a database will classify memorized data. That implies that computers designed for general office automation or other applications are not optimized for algorithms like filtering or the analysis of Fourier.
The DSP are able to carry out a multiplication - accumulation (multiplication of two values with addition or storage of the result in a register) in only one cycle of clock. Certain models are even able to carry out several of these operations by cycle of clock.
In a machine whose data bus is N bits, the multiplication of two numbers gives a number coded on 2*n bits. So that quickly does not become a source of error in calculations, the DSP have accumulating registers of 2 X N bits with which are associated auxiliary registers. The total precision of the accumulating registers becomes thus 2 X N bits + the number of bits of an auxiliary register.
In an aircraft equipped DSP, the speed of execution of calculations in the DSP is generally the determining part the speed of completion of the work carried out by the machine. They are often very short programs, of a few hundreds of lines to the maximum of which certain parts (loops) must be optimized to the maximum. This is why much of programmers of DSP use the assembler and analyze in detail the implementation plan of the code by the machine.
However, certain DSP have a so complex architecture which it becomes long and difficult for the programmer to manually optimize the execution. He can then write his program out of C and leave with the compiler the care to carry out the optimization of the code. If it wishes it, the programmer will be able to then analyze the code generated by the compiler and to make the last adjustments there allowing to obtain DSP the best possible performance.
The choice between these two languages will thus be done according to the complexity of the program, the speed of treatment wished, of the number of programmers who will work on the project and of the cost of the product. Other factors like the personal experience and the tools which the manufacturer proposes must also be considered.
Manufacturers
There exist various manufacturers of DSP on the market.
-
Analog Devices amongst other things proposes DSP incorporating like peripherals of ADC and DAC.
- Freescale .
- Lucent .
- Microchip proposes two families called DIGITAL Signal To control (dsPIC30F and dsPIC33F), which are Microcontrôleur S with reinforced capacities of calculation and peripherals of analog-to-digital conversion.
- Texas Instruments has an extended range, comprising in particular the C6000 families, C5000 and C2000.
External bonds
- dspGuru : Central DSP To promote the exchange of knowledge between users of the DSP, this of the beginner to the specialist.
- Pocket Guides to Processors for DSP
- The Scientist and Engineer' S Guide to DIGITAL Signal Processing
- Resources for Real Embedded Systems Professionals
- DSP world Education and Research Liste universities which have groups of recherhce on the DSP and other systems embarked.
- DSP Engineering Magazine
- Introduction to DSP Course of introduction of BORON
- Newsgroups on the DSP
| Random links: | Industrialized country | Gustave Ier Vasa | Angelfish | Jean Garon | LISA Dalbello | Petit_fugitif |