Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

dsp processor vs microcontroller

Status
Not open for further replies.

sarkararghya

Newbie level 6
Newbie level 6
Joined
May 18, 2006
Messages
14
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,376
dsp vs microcontroller

What is the difference between dsp processor and microcontroller?
 

dsp processor basics

major difference is the operations available and the data that both processors handle
 
dsp versus microcontroller

Digital signal processing (DSP) is the study of signals in a digital representation and the processing methods of these signals. DSP and analog signal processing are subfields of signal processing. DSP has at least three major subfields: audio signal processing, digital image processing and speech processing.

Since the goal of DSP is usually to measure or filter continuous real-world analog signals, the first step is usually to convert the signal from an analog to a digital form, by using an analog to digital converter. Often, the required output signal is another analog output signal, which requires a digital to analog converter.

The algorithms required for DSP are sometimes performed using specialized computers, which make use of specialized microprocessors called digital signal processors (also abbreviated DSP). These process signals in real time and are generally purpose-designed ASICs.
Contents
[hide]

* 1 DSP domains
* 2 Signal sampling
* 3 Time and space domains
* 4 Frequency domain
* 5 Applications
* 6 Techniques
* 7 Related fields
* 8 References
* 9 External links

[edit]

DSP domains

In DSP, engineers usually study digital signals in one of the following domains: time domain (one-dimensional signals), spatial domain (multidimensional signals), frequency domain, autocorrelation domain, and wavelet domains. They choose the domain in which to process a signal by making an educated guess (or by trying different possibilities) as to which domain best represents the essential characteristics of the signal. A sequence of samples from a measuring device produces a time or spatial domain representation, whereas a discrete Fourier transform produces the frequency domain information, that is the frequency spectrum. Autocorrelation is defined as the cross-correlation of the signal with itself over varying intervals of time or space.
[edit]

Signal sampling

Main article: Sampling (signal processing)

With the increasing use of computers the usage and need of digital signal processing has increased. In order to use an analog signal on a computer it must be digitized with an analog to digital converter (ADC). Sampling is usually carried out in two stages, discretization and quantization. In the discretization stage, the space of signals is partitioned into equivalence classes and discretization is carried out by replacing the signal with representative signal of the corresponding equivalence class. In the quantization stage the representative signal values are approximated by values from a finite set.

In order to properly sample an analog signal the Nyquist-Shannon sampling theorem must be satisfied. In short, the sampling frequency must be greater than twice the bandwidth of the signal (provided it is filtered appropriately). A digital to analog converter (DAC) is used to convert the digital signal back to analog. The use of a digital computer is a key ingredient into digital control systems.
[edit]

Time and space domains

The most common processing approach in the time or space domain is enhancement of the input signal through a method called filtering. Filtering generally consists of some transformation of a number of surrounding samples around the current sample of the input or output signal. There are various ways to characterize filters; for example:

* A "linear" filter is a linear transformation of input samples; other filters are "non-linear." Linear filters satisfy the superposition condition, i.e. if an input is a weighted linear combination of different signals, the output is an equally weighted linear combination of the corresponding output signals.

* A "causal" filter uses only previous samples of the input or output signals; while a "non-causal" filter uses future input samples. A non-causal filter can usually be changed into a causal filter by adding a delay to it.

* A "time-invariant" filter has constant properties over time; other filters such as adaptive filters change in time.

* Some filters are "stable", others are "unstable". A stable filter produces an output that converges to a constant value with time, or remains bounded within a finite interval. An unstable filter produces output which diverges.

* A "finite impulse response" (FIR) filter uses only the input signal, while an "infinite impulse response" filter (IIR) uses both the input signal and previous samples of the output signal. FIR filters are always stable, while IIR filters may be unstable.

Most filters can be described in Z-domain (a superset of the frequency domain) by their transfer functions. A filter may also be described as a difference equation, a collection of zeroes and poles or, if it is an FIR filter, an impulse response or step response. The output of an FIR filter to any given input may be calculated by convolving the input signal with the impulse response. Filters can also be represented by block diagrams which can then be used to derive a sample processing algorithm to implement the filter using hardware instructions.
[edit]

Frequency domain

Signals are converted from time or space domain to the frequency domain usually through the Fourier transform. The Fourier transform converts the signal information to a magnitude and phase component of each frequency. Often the Fourier transform is converted to the power spectrum, which is the magnitude of each frequency component squared.

The most common purpose for analysis of signals in the frequency domain is analysis of signal properties. The engineer can study the spectrum to get information of which frequencies are present in the input signal and which are missing.

There are some commonly used frequency domain transformations. For example, the cepstrum converts a signal to the frequency domain through Fourier transform, takes the logarithm, then applies another Fourier transform. This emphasizes the frequency components with smaller magnitude while retaining the order of magnitudes of frequency components.
[edit]

Applications

The main applications of DSP are audio signal processing, audio compression, digital image processing, video compression, speech processing, speech recognition and digital communications. Specific examples are speech compression and transmission in digital mobile phones, equalisation of sound in Hifi equipment, weather forecasting, economic forecasting, seismic data processing, analysis and control of industrial processes, computer-generated animations in movies, medical imaging such as CAT scans and MRI, image manipulation, and audio effects for use with electric guitar amplifiers. A further application is very low frequency (VLF) reception with a PC soundcard [1].
[edit]

Techniques

* Bilinear transform
* Discrete Fourier transform
* Discrete-time Fourier transform
* Filter design
* LTI system theory
* Minimum phase
* Transfer function
* Z-transform
* Goertzel algorithm


A microcontroller (or MCU) is a computer-on-a-chip used to control electronic devices. It is a type of microprocessor emphasizing self-sufficiency and cost-effectiveness, in contrast to a general-purpose microprocessor (the kind used in a PC). A typical microcontroller contains all the memory and interfaces needed for a simple application, whereas a general purpose microprocessor requires additional chips to provide these functions. A microcontroller is a single integrated circuit with the following key features:

* central processing unit - ranging from small and simple 8-bit processors to sophisticated 32- or 64-bit processors
* input/output interfaces such as serial ports
* peripherals such as timers and watchdog circuits
* RAM for data storage
* ROM, EEPROM or Flash memory for program storage
* clock generator - often an oscillator for a quartz timing crystal, resonator or RC circuit

This integration drastically reduces the number of chips and the amount of wiring and PCB space that would be needed to produce equivalent systems using separate chips.

Microcontrollers are inside many kinds of electronic equipment (see embedded system). They are the vast majority of all processor chips sold. Over 50% are "simple" controllers, and another 20% are more specialized digital signal processors (DSPs). A typical home in a developed country is likely to have only one or two general-purpose microprocessors but somewhere between one and two dozen microcontrollers. A typical mid range vehicle has as many as 50 or more microcontrollers. They can also be found in almost any electrical device: washing machines, microwave ovens, telephones etc.
A PIC 18F8720 microcontroller in an 80-pin TQFP package.
Enlarge
A PIC 18F8720 microcontroller in an 80-pin TQFP package.
Contents
[hide]

* 1 Description
* 2 Common Microcontrollers
o 2.1 AMCC
o 2.2 Atmel
o 2.3 Cypress MicroSystems
o 2.4 Dallas Semiconductor
o 2.5 Freescale Semiconductor
o 2.6 Fujitsu
o 2.7 Holtek
o 2.8 Infineon
o 2.9 Intel
o 2.10 Microchip Technology
o 2.11 National Semiconductor
o 2.12 NEC
o 2.13 Philips Semiconductors
o 2.14 Renesas Technology
o 2.15 Silabs
o 2.16 Silicon Motion
o 2.17 STMicroelectronics
o 2.18 Texas Instruments
o 2.19 Toshiba
o 2.20 Western Design Center
o 2.21 Ubicom
o 2.22 Xemics
o 2.23 Xilinx
o 2.24 ZiLOG
o 2.25 ...And endless BASIC programmed MCUs
+ 2.25.1 Comfile Technology Inc.
+ 2.25.2 Parallax, Inc.
+ 2.25.3 PICAXE
+ 2.25.4 ZX-24, ZX-40
+ 2.25.5 Coridium ARMexpress
* 3 See also
* 4 External links
o 4.1 Microcontroller Industry Information and News
o 4.2 Tutorials
o 4.3 Robotics
o 4.4 Projects
o 4.5 Forums & Discussion Groups
o 4.6 Others

[edit]

Description

In addition to the key features listed above, most microcontrollers today take further advantage of not needing external pins for memory buses. They can afford to use a Harvard architecture: separate memory buses for instructions and data, allowing accesses to take place concurrently.

Microcontrollers also usually have a variety of input/output interfaces. Serial I/O (UARTs) are very common, and many include analog-to-digital converters, timers, or specialized serial communications interfaces like I²C, Serial Peripheral Interface and Controller Area Network.

Originally, microcontrollers were only programmed in assembly language, or later in C code. Recent microcontrollers integrated with on-chip debug circuitry accessed by In-circuit emulator via JTAG enables a programmer to debug the software of an embedded system with a debugger.

Some microcontrollers have begun to include a built-in high-level programming language interpreter for greater ease of use. The Intel 8052 and Zilog Z8 were available with BASIC very early on, and BASIC is more recently used in the popular BASIC Stamp MCUs.

Microcontrollers trade speed and flexibility against ease of equipment design and low cost. Manufacturers have to balance the need to minimize the chip size against additional functionality.

Finally, it must be mentioned that microcontroller architectures are available from many different vendors in so many varieties that they could rightly belong to a category of their own. Chief among these are the 8051, Z80 and ARM derivatives.
[edit]

Common Microcontrollers
[edit]

AMCC

Until May 2004, these µCs were developed and marketed by IBM, whose 4xx family was sold to Applied Micro Circuits Corporation.

* 403 PowerPC CPU
o PPC 403GCX

* 405 PowerPC CPU
o PPC 405EP
o PPC 405GP/CR
o PPC 405GPr
o PPC NPe405H/L

* 440 PowerPC Book-E CPU
o PPC 440GP
o PPC 440GX
o PPC 440EP/EPx/GRx
o PPC 440SP/SPe

Atmel ATmega169 (64-pin MLF).
Enlarge
Atmel ATmega169 (64-pin MLF).
[edit]

Atmel

* AT89 series (Intel 8051 architecture)
* AT90, ATtiny, ATMega series (AVR architecture) (Atmel Norway design)
* AT91SAM (ARM architecture)
* AVR32 (32-bit AVR architecture)
* MARC4

[edit]

Cypress MicroSystems

* CY8C2xxxx (PSoC)

[edit]

Dallas Semiconductor

* 8051 Family
* MAXQ RISC Family
* Secure Micros Family

[edit]

Freescale Semiconductor

Until 2004, these µCs were developed and marketed by Motorola, whose semiconductor division was spun-off to establish Freescale.

* 8-bit
o 68HC05 (CPU05)
o 68HC08 (CPU08)
o 68HC11 (CPU11)
* 16-bit
o 68HC12 (CPU12)
o 68HC16 (CPU16)
o Freescale DSP56800 (DSPcontroller)
* 32-bit
o Freescale 683XX (CPU32)
o MPC500
o MPC 860 (PowerQUICC)
o MPC 8240/8250 (PowerQUICC II)
o MPC 8540/8555/8560 (PowerQUICC III)

[edit]

Fujitsu

* F²MC Family (8/16 bit)
* FR Family (32 bit)
* FR-V Family (32 bit RISC)

[edit]

Holtek

* HT8

[edit]

Infineon

* 8-bit
o XC800 family
o C500/C800 family
* 16-bit
o XC166 family
* 32-bit family
o TRICORE family

[edit]

Intel

* 8-bit
o MCS-48 (8048 family – also incl. 8035, 8038, 8039, 8040, 8X42, 8X49, 8050; X=0 or 7)
o MCS-51 (8051 family – also incl. 8X31, 8X32, 8X52; X=0, 3, or 7)
o 8xC251
* 16-bit
o 80186/80188
o MCS-96 (8096 family – also incl. 8061)
o MXS296
* 32-bit
o 80386EX (i386EX)
o 80960 (i960)

[edit]

Microchip Technology

* 8 and 16-bit microcontrollers with 12 to 24-bit instructions
* ability to include DSP function
* 12-bit instruction PIC
* 14-bit instruction PIC
o PIC16F84
* 16-bit instruction PIC

[edit]

National Semiconductor

* COP8
* CR16

[edit]

NEC

* 17K
* V25
* 75X
* 78K
* V850

[edit]

Philips Semiconductors

* LPC3000
* LPC2000

[edit]

Renesas Technology

(Renesas is a joint venture of Hitachi and Mitsubishi Electric.)

* H8
* SH
* M16C
* M32R

[edit]

Silabs

* C8051F300
o QFN11 case(3x3mm), 25MIPS, 8kb Flash, 256b ram 8io, UART,SMBus, 3 timers, 8 bit 8 ch 500kbs ADC, temp, comp.
* C8051F120
o TQFP100 case, 128k Flash, 8448b RAM, 64io, 2 UARTS, SMBus, SPI, 5 timers, 8ch 12b + 8ch 8b ADC, 2ch 12 bit DAC, temp, 2xcomp, 16x16MAC.
o The ToolStick of Silabs is an USB stick size development tool with a limited compiler including a C8051F300 target and an USB MCU C8051F321. (www.silabs.com)

[edit]

Silicon Motion

* SM2XX Family - Flash Memory Card Controllers
* SM321 - USB 2.0
* SM323 - USB 2.0
* SM323E - USB 2.0
o Silicon Motion's SM321E and SM324 controllers support SLC and MLC NAND flash from Samsung, Hynix, Toshiba and ST Micro as well as flash products from Renesas, Infineon and Micron. The SM321E is available in a 48-pin LQFP package and a 44-pin LGA package. The SM321E supports up to 4 SLC or MLC NAND flash chips with 4 bytes / 528 bytes ECC
* SM324 - USB 2.0
o Supports dual-channel data transfer at read speeds of 233x (35MB/sec) and write speeds of 160x (24MB/sec), making it the fastest USB 2.0 flash disk controller in the market. The SM324 also has serial peripheral interface (SPI) which allows for not only Master and Slave modes, but the flexibility to develop more functionality into USB flash disk (UFD) products such as GPS, fingerprint sensor, Bluetooth and memory-capacity display. The SM324 is available in a 64-pin LQFP package. The SM324 supports 8 SLC or MLC NAND flash chips with 4 bytes / 528 bytes ECC.
* SM330 - USB 2.0
* SM501 - Mobile Graphics
* SM712 - Mobile Graphics
* SM722 - Mobile Graphics
* SM340 - MP3/JPEG
* SM350 - MP3/JPEG
* SM370 - Image processing

[edit]

STMicroelectronics

* ST 62
* ST 7
* ST 10
* μPSD

[edit]

Texas Instruments

* TMS370
* MSP430

[edit]

Toshiba

* TLCS-870 (8-bit CISC)
* TLCS-900 (16 and 32-bit CISC)
* TX19A (32-bit RISC)

[edit]

Western Design Center

* 8-bit
o W65C02-based µCs
* 16-bit
o W65816-based µCs

[edit]

Ubicom

* SX-20 SX-28, SX-48, SX-52
o Ubicom's SX series is an 8 bit microcontroller which has unusually high speed, up to 75Mhz (75 MIPS), and a high degree of flexibility. Some users have referred to these microcontrollers as PICs on steroids. While Ubicom's SX micros are limited in variety, their high speed and additional resources allow programmers to create 'virtual devices' as required. Refer to Parallax's Web site for information, as they are the main distributor of these devices.
* IP2022
o Ubicom's IP2022 is a high performance (120 MIPs) 8 bit microcontroller. Features include: 64k FLASH code memory, 16k PRAM (fast code and packet buffering), 4k data memory, 8-channel A/D, various timers, and on-chip support for Ethernet, USB, UART, SPI and GPSI interfaces.
* IP3022
o IP3022 is Ubicom's latest high performance 32bit processor running at 250Mhz featuring 8 hardware threads. It is specifically targeted at Wireless Routers.

[edit]

Xemics

* XE8000 8-bit microcontroller family

[edit]

Xilinx

* Microblaze softcore 32 bit microcontroller
* Picoblaze softcore 8 bit microcontroller

[edit]

ZiLOG

Zilog's (primary) microcontroller families, in chronological order:

* Zilog Z8 - 8-bit Harvard architecture ROM / EPROM / OTP microcontroller with on-chip SRAM.
* Zilog Z180 - Z80 based microcontroller; on-chip peripherals, but external memory; 1MB address space.
* Zilog eZ8 - Better pipelined Z8 with on-chip Flash memory; 2-3 times as clock cycle efficient as original Z8.
* Zilog eZ80 - Fast 8/16/24-bit Z80 with FLASH, SRAM, peripherals, and linear addressing of 16MB; 3-4 times as clock cycle efficient as original Z80.

[edit]

...And endless BASIC programmed MCUs

For almost every bare microcontroller manufacturer, there are a dozen little companies repacking them into a more hobbyist friendly package. Their product is often an MCU preloaded with a BASIC interpreter, soldered onto a Dual Inline Pin board along with a power regulator and other goodies. PICs seem to be very popular here, possibly due to good static protection. More powerful examples (e.g. faster execution, more RAM and code space) seem to be based on Atmel AVR or Hitachi chips and now ARM.
[edit]

Comfile Technology Inc.

Comfile Technology Inc. produces a series of microcontrollers branded as CUBLOC and CuTOUCH, using the Atmel ATmega128 processor. They are very price competitive, being aimed at industrial applications, and include some nice features such as Ladder Logic in addition to BASIC, a huge 80Kbyte program memory, and hardware pulse width modulation. Their focus in on developing industrial controllers which are fast, easy-to-use, and versatile. Comfile Technology's CuTOUCH is a visual Touch-screen controller that can be programmed in BASIC and Ladder Logic. This product is the first of its kind in the world yet.
[edit]

Parallax, Inc.

* BASIC Stamp – The Big Name in BASIC microcontrollers. They are Microchip PICmicros programmed with an interpreter that processes the program stored in an external EEPROM. Several different modules are available of varying processing speeds, RAM, and EEPROM sizes. Most popular is the original BASIC Stamp 2 module. The BASIC Stamp is used by Parallax as a platform for introductory programming and robotic kits.
* SX-Key – Parallax's development tool for the SX line of microcontrollers, supporting every SX chip commercially available. Using free SX-Key software (Assembly language), or the SX/B Compiler (BASIC-style language) from Parallax, the SX-Key programming tool can program SX chips in-system and perform in-circuit source-level debugging.

[edit]

PICAXE

This range of controllers is based upon Microchip PICmicro's programmed with a BASIC interpreter. Using internal EEPROM or Flash to store the user's program they deliver a single-chip solution and are quite inexpensive. A PICAXE programmer is simply a serial plug plus two resistors. Complete development software, comprehensive documentation and application notes are all available free of charge.

The BASIC-like programming language is almost identical to that used by Parallax's Basic Stamp 1 (BS1) but has been enhanced to support on-chip hardware and additional functionality. In common with the BS1 programming language, the PICAXE has support only for a limited number of variables and lacks block-structured programming constructs.

Initially targeted at the UK educational sector, use of the PICAXE has spread to hobbyists, semi-professionals and it can also be found inside commercial products. With its user base in many countries, the PICAXE has steadily gained a good international reputation.
[edit]

ZX-24, ZX-40

The ZX series MCUs are based on the Atmel ATmega32 processor and run a Virtual Machine that features built-in multi-tasking, 32-bit floating point math and over 1K of RAM for user's programs. Multi-tasking facilitates a more structured approach to coding for interface devices that require prompt service, e.g. serial devices, infrared remotes, etc.

The programming language for the ZX series is ZBasic, a modern dialect of Basic modeled after Microsoft's Visual Basic. The biggest improvement over the typical MCU Basic dialect is parameterized subroutines/functions that support local variables. Strong type checking is another improvement that aids in writing correct programs more quickly.

* Official ZBasic and ZX Website

[edit]

Coridium ARMexpress

ARMexpress is the first of a new family of DIP-24 (stamp-sized) controllers that combine a 60 MHz ARM CPU with a builtin BASIC compiler to achieve new levels of performance in this form factor. This combination makes this simple to use but very fast controller a good choice for the prototype builder or system integrator. 40K of code and 40K of data are available to the user, and code speed rivals that of programs written in C. The dialect of BASIC conforms more to Visual BASIC, but has hardware extensions like PBASIC.

* Coridium ARMexpress website
 
  • Like
Reactions: 3wais

    sarkararghya

    Points: 2
    Helpful Answer Positive Rating
    V

    Points: 2
    Helpful Answer Positive Rating

    3wais

    Points: 2
    Helpful Answer Positive Rating
atmega dsp

what about conexant processor
 

microcontroller vs processor

The DSP chip is also an embedded controller whose hardware and instruction sets are tuned to achieve signal processing with minimum cycles.Since Signal processing is time critical , implemetations like convolution , circular buffering will be done with couple of instructions using DSP , where microcontroller will need more cycles to achieve the same which make microcontrollers impractical in DSP Applications.
 
fujitsu microcontroller fft

The DSP processor is a special type of microcontroller which is designed for the simplification of complex DSP algorithms. There is special modifications done in hardware so as to make the implementation easy.

For example FFT implemetation requires multiplication and addition for each node.
if general microcontroller is used for FFT implementation then it will increase the time of calculation. But in DSP the MAC instruction does it in single clock cycle.
 

microcontrollers vs dsp

Microcontrollers are designed for an integrated system, ie.e the controller manages all the interfacing works by itself.
A DSP processor is used for high speed real-time computing optimised only for doing certain works...
 

processor vs dsp

Hello,

One obvious difference is availability of real number arithmetic operations.
DSP process comes with instruction set for this.
Microcontroller does not.

Have fun.
 

dsp 8051

the speed and the resource is the main difference,but now this difference is more and more smaller
 

Re: fujitsu microcontroller fft

Nandulal said:
The DSP processor is a special type of microcontroller which is designed for the simplification of complex DSP algorithms. There is special modifications done in hardware so as to make the implementation easy.

For example FFT implemetation requires multiplication and addition for each node.
if general microcontroller is used for FFT implementation then it will increase the time of calculation. But in DSP the MAC instruction does it in single clock cycle.

Hi,
I am trying to implement an FIR filter on a PIC24 microcontroler. How would I go about doing the multiply and accumulate process here.
I know the new DSP PIC processor has built in hardwar and instruction set for this..but at cost of little efficeieny, I should be able to do same calculation in PIC24 processor.
\Could you suggest a sample algorith or code to implement this for ex. 16 tap FIR filter LPF

Thanks very much,
J
 

Hi,
if you code the algorithm in "C", there is no difference for the PIC24 or the dsPIC. If you code it in ASM, you got a problem to begin with. The PIC24 and the dsPIC are very similar because (afaik) the PIC24 is simply a dsPIC without the DSP instructions.
So, do yourself a favor and write the algorithm in "C". Let the C-Compiler do the translation into the binary.

Bob
 

HELLO EVERYONE!!!
CAN SOMEBODY TELL ME HOW TO PROGRAM THE ATMEGA 32. THE CIRCUIT AND SOFTWARE REQUIRED FOR THAT
 

Do you want to use assembly language or C? You may refer to the instruction manual for assembly programming.
 

hi, i have a problem transferring a wm8510 codec api. the api was written for a dspic33f while i need the api to work on a pic24fj128ga010. how do i know which lines of code to keep and which to change?

thanks
 

Re: fujitsu microcontroller fft

Hello!

For example FFT implemetation requires multiplication and addition for each node.
if general microcontroller is used for FFT implementation then it will increase the time of calculation.
But in DSP the MAC instruction does it in single clock cycle.

In an MSP430, there is a hardware multiplier. It offers a MAC (multiply - accumulate) instruction.
More than one in fact, depending whether the MAC is signed or not.
But that doesn't make MSP430 a DSP. It's indeed quite fast, but it is kept in the ultra low
power world, and therefore cannot compare with more enhanced DSP devices.

By the way, a MAC instruction is a single instruction, not necessarily a single clock cycle instruction.

Dora.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top