You are on page 1of 27

Apuntes de: Sistemas embebidos (2009)

Tema 2
Benito beda Miarro

ABSTRACT Descripcin de los fundamentos en la arquitectura y funcionalidades de los dispositivos MCU, basndonos en la familia dsPIC.

FAMILIAS DE PROCESADORES EMBEBIDOS


Introduccin
Los SSEE se disean en base a microcontroladores (MCU), procesadores digitales de seal (DSP) y microprocesadores de propsito general. Los diseos basados en microcontrolador son probablemente los mas frecuentes dadas las mltiples aplicaciones que encuentran. Histricamente los fabricantes de semiconductores han desarrollado arquitecturas de microcontroladores de 8 bits, inicialmente bajo la arquitectura Von Newman y posteriormente bajo la arquitectura Harvard, pero a medida que las aplicaciones requeran mayores prestaciones y la tecnologa de fabricacin de chips avanzaba se consigui fabricar, a precios reducidos, microcontroladores mas potentes con arquitecturas de 16 bits y de 32 bits. Junto con los microcontroladores, los Procesadores Digitales de Seal (DSP) tambin han experimentado una gran evolucin. stos incorporan la filosofa de diseo de los microcontroladores pero incluyen aspectos especficos dentro de su arquitectura para mejorar las tareas del procesado de seales, esto es, mxima velocidad para permitir procesamiento en tiempo real, operaciones muy repetitivas, alta tasa de transferencia por los puerto de E/S y gran cantidad de memoria de datos. Los DSP se suelen construir en formato de 16 bits y 32 bits y emplean aritmtica en punto fijo, en punto flotante o ambos. En adelante y en busca de una mayor brevedad, se har alusin especifica a la familia dsPIC de Microchip, aunque muchos de los trminos comentados sern vlidos para cualquier otra familia.

2.1.- Microcontroladores de 8 y 16 bits


La idea bajo la que se disean los microcontroladores es incluir en un chip todo el sistema completo y si no es posible incluir la mayor parte de ste. La estructura fundamental y sus caractersticas bsicas son muy parecidas en todas las familias de

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

microcontroladores. Todos disponen de los bloques esenciales: Procesador, memoria de datos y de instrucciones, lneas de E/S, oscilador de reloj y mdulos controladores de perifricos. Sin embargo, cada fabricante intenta enfatizar los recursos ms idneos para las aplicaciones a las que se destinan preferentemente. En este apartado se hace un recorrido de los principales recursos que se hallan en todos los microcontroladores describiendo las diversas alternativas y opciones que pueden encontrarse segn el modelo seleccionado. En el punto siguiente veremos algunos de estos recursos tomando como base la familia dsPIC de Microchip.

Arquitectura bsica
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta accediendo a ella a travs de un sistema de buses nico (direcciones, datos y control). En la actualidad, la mayora de los microcontroladores responden a la arquitectura Harvard, entre ellos, la familia PIC.

Figura 2.1. La arquitectura Harvard frente a la Von-Neumann.

La arquitectura Harvard dispone de dos memorias independientes una, que contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de

buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias. Figura 2.2

Figura 2.2. La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones, permitiendo accesos simultneos.

En el caso particular de los microcontroladores de Microchip, estos presentan bsicamente las siguientes caractersticas: Conjunto de instrucciones RISC. Cada instruccin se codifica mediante una palabra de un numero de bits determinado (12, 14, 16, segn la gama). Puertos de entrada salida digitales ( I/O ) a los que se puede acceder pin a pin y configurar como entrada o como salida, mediante software. Varios temporizadores de 8, 16 o 32 bits, segn el modelo. Divisores de frecuencia programables (PRESCALER), para uso con los temporizadores u otras utilidades . Temporizador para mantener en reset al conectar (Power-on reset). Temporizador perro guardian (Watchdog timer). Modo ahorro de energa (Power-saving SLEEP). Alta capacidad para entregar o generar corriente en los pines I/O (High source and sink current) Modos de direccionamiento directo, indirecto y relativo. Interfaz para reloj externo (External clock interface). Memoria de datos RAM, en general de tamao reducido. Memoria de programa Flash de tamaos mas elevados, suficiente para albergar el programa. Adems, dentro de la arquitectura, se suelen incluir un conjunto de mdulos tales como:

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

Canales de entradas analgicas. Comparadores analgicos. Conversores AD Memoria adicional de datos del tipo EEPROM. Capacidad de manejar interrupciones provocadas por fuentes externas e internas. Mdulo oscilador interno, que es poco estable pero ahorra tamao en el circuito. Salidas de seal PWM. Entradas para captura de seales digitales. Modulo de transmisin serie asncrono, USART. Interfases para buses de comunicaciones CAN, I2C, SPI, USB. Interfaz directa para LCD Mdulo para control de motores.

Describimos a continuacin algunos de los bloques de mayor inters.

El procesador o CPU
Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo de operacin de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.

CISC: Un gran nmero de procesadores usados en los microcontroladores estn


basados en la filosofa CISC (Computadores de Juego de Instrucciones Complejo).

Disponen de ms de 80 instrucciones mquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actan como macros.

RISC: Tanto la industria de los computadores comerciales como la de los


microcontroladores se han decantado hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y generalmente, se ejecutan en un ciclo de instruccin. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador. La familia PIC emplea este tipo de instrucciones.

SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de


instrucciones, adems de ser reducido, es especfico, o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Especfico).

Memoria
En los microcontroladores la memoria de instrucciones y datos est integrada en el propio chip. Una parte debe ser no voltil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser tipo RAM, voltil, y se destina a guardar las variables y los datos. Hay dos peculiaridades que diferencian a los sistemas basados en microcontroladores de los computadores basados en microprocesador: 1.- No existen sistemas de almacenamiento masivo como disco duro o disquetes. 2.- Como el microcontrolador slo se destina a una nica tarea, en la memoria ROM, slo hay que almacenar un nico programa de trabajo. La RAM en estos dispositivos es de poca capacidad pues slo debe contener las variables y los cambios de informacin que se produzcan en el transcurso del

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

programa. Por otra parte, como slo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la ROM. Los usuarios de computadores personales estn habituados a manejar Megabytes de memoria, pero, los diseadores con microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes y 48 kbytes y capacidades de RAM del orden de unos pocos bytes a algn Kbyte. Segn el tipo de memoria ROM que dispongan los microcontroladores, la aplicacin y utilizacin de los mismos es diferente. Se describen las cinco versiones de memoria no voltil que se pueden encontrar en los microcontroladores del mercado en general y de la familia PIC en particular:

1.- ROM con mscara


Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado coste del diseo de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.

2.- OTP
El microcontrolador contiene una memoria no voltil de slo lectura programable una sola vez por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde un PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo que contienen.

3.- EPROM
Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en

su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los microcontroladores con memoria OTP que estn hechos con material plstico. Actualmente se encuentran en desuso.

4.- EEPROM
Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado. Dado que el numero de ciclos de borrado y escritura es muy elevado (100.000 ciclos en dsPIC) la principal aplicacin que tiene este tipo de memoria es como memoria de datos que interesa que sean no voltiles pero reescribibles mltiples veces, tal es el caso de parmetros de calibracin de sensores. Por otro lado, este tipo de memoria es relativamente lenta.

5.- FLASH
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. Es la tecnologa que se est imponiendo en la actualidad. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM. La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no voltil. Es ms veloz aunque tolera menos ciclos de escritura/borrado (10.000 ciclos en los dsPIC). Las memorias EEPROM y FLASH son muy tiles al permitir que los

microcontroladores que las incorporan puedan ser reprogramados en circuito, es decir, sin tener que sacar el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores tales como la compresin, la instalacin de nuevas

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

piezas, etc. La reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.

Puertos de Entrada y Salida digitales


La mayor parte de los pines que posee el encapsulado de un chip microcontrolador se dedican a soportar las numerosas lneas de E/S que lo comunican con el mundo exterior. Esta lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control necesarias en cada diseo. Los pines de E/S se suelen asociar en puertos de 8 bits, de 16 bits o de un numero determinado de pines, dependiendo de cada referencia de chip en concreto. La tensin y la corriente de entrada/salida de cada pin depender tambin de cada chip por lo que siempre es necesario consultar el data sheet suministrado por el fabricante.

Figura 2.3.- Pin A0 configurado como salida y como entrada.

Las lneas digitales de cada uno de los puertos pueden configurarse como Entrada o como Salida, quedando un circuito semejante al que aparece en la figura 2.3. Para ello se necesitar configurar algn registro del microcontrolador. En el caso de la familia PIC se pone un 1 un 0 en el bit correspondiente del registro TRISA, TRISB, segn el puerto seleccionado. La mxima corriente que son capaces de entregar a una carga o son capaces de adquirir son parmetros de gran importancia. Cuando el dispositivo sea incapaz de suministrar la suficiente corriente a un determinado dispositivo, ser necesario intercalar un DRIVER de corriente adecuado.

1.4.8.3 Relay Interface When we want to switch inductive loads such as relays we have to use a diode in the circuit to prevent the transistor from being damaged (see Fig. 1.29). An inductive load can generate a

hapter 1

Figura 2.4. Ejemplo de DRIVER de corriente para poder excitar a un rel electromecnico.
PCFG3- AN7 PCFG0 0000 0001 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 A A D D D D D A D D D D D D D AN6 A A D D D D AN5 A A AN4 A A AN3 A Vref AN2 A A AN1 A A AN0 Vr ef A A Vdd RA3 Vr ef Vss Vss
4:58:20 PM

Figure 1.29: Driving an Inductive Load (e.g., a Relay)

Reloj principal

w w w. n e w n e s p r e s s . c o m

Ch01-H8615.inddD35 0010 D

6/29/07 Todos los microcontroladores disponen de Vss circuito oscilador que genera una onda un D A A A A A Vdd

D A A Vss cuadradaA deVref alta frecuencia, A que RA3 configura los impulsos de reloj usados en la D D D D D D A D D D A A Vdd Vdd Vdd Vss Vss Vss

sincronizacin de todas lasAoperaciones del Vss sistema. D D D Vref D A RA3


D D D D D D

Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo se A A A Vref Vref A A RA3 RA2
D A necesitanA D D D D A A A A A A A A Vdd Vss unos pocos componentes exteriores para seleccionar y estabilizar la Vref Vref A A A RA3 Vss Vref A A RA3 RA2

frecuencia de trabajo. Dichos componentes suelen consistir en un resonador del tipo deAcuarzo, cermico, RC interno o externo. El empleo de un tipo u otro de Vref Vref A A RA3 RA2
D D D Vref Vref RA3 resonador depender de A prestacionesRA2 necesitemos del MCU, medidas en las A que D

cristal D D

Millones de D D D

Instrucciones por Segundo (MIPS) u de operaciones por segundo (MOPS). Vref Vref D A RA3 RA2

Vdd

Vss

Figure 1.17: ADCON1 Bit Denitions

Tambin hay que tener en cuenta que en la tecnologa empleada para fabricar los

MCU, que habitualmente es CMOS, el aumentar la frecuencia de reloj supone T, or HS modes, an external oscillator can be connected to the OSC1 input as shown disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un 18. This can be a crystal-based oscillator, or simple logic gates can be used to design incremento del consumo de energa. ator circuit.

The PIC Microcontroller Family

27

Figure 1.18: Using an External Oscillator


Figure 1.19: Crystal Oscillator Circuit

Crystal Operation
Figura 2.5. Dos posibles formas de aplicar el reloj: a) reloj externo. B) mediante un resonador de cristal de

Table 1.6: n in Fig. 1.19, in this mode of operation an external crystal and two capacitors are Capacitor Selection for Crystal Operation Mode Frequency C1, C2 cuarzo. d to the OSC1 and OSC2 inputs of the microcontroller. The capacitors should be LP 32 kHz 68100 pF LP 200 kHz 1533 pF s in Table 1.6. For example, with a crystal frequency of 4 MHz, two 22-pF capacitors XT 100 kHz 100150 pF sed. XT 2 MHz 1533 pF

10

XT HS HS

4 MHz 4 MHz 10 MHz

1533 pF 1533 pF 1533 pF

ewnespress.com

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

Recursos especiales
Cada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador. En algunas ampla las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma, minimizar el coste, el hardware y el software. Los principales recursos especficos que suelen incorporan los microcontroladores son:

Temporizadores o Timers.
Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj, ciclos de instruccin o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso, generalmente, en forma de interrupcin. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos. Para calcular el numero de periodos que habr que contar para medir un determinado intervalo temporal, habr que tener en cuenta: La frecuencia de reloj principal. Si empleamos PLL para multiplicar la frecuencia del resonador. Si empleamos algun prescaler para dividir la frecuencia de entrada al contador. El numero de ciclos de reloj que se necesitan para ejecutar una instruccin (4 en la familia PIC).

11

Perro guardin o Watchdog.


Cuando un computador personal se bloquea por un fallo del software u otra causa, se pulsa el botn del reset y ste se reinicializa, pero un microcontrolador funciona sin el control de un supervisor y de forma continuada las 24 horas del da. El Perro guardin consiste en un temporizador que, cuando se desborda y pasa por 0, provoca un reset automticamente en el sistema. Se debe disear el programa de trabajo que controla la tarea de forma que refresque o inicialice al Perro guardin antes de que provoque el reset. Si falla el programa o se bloquea, no se refrescar al Perro guardin y, al completar su temporizacin, provocar un reset del sistema. El perro guardian funciona a partir de un reloj interno, tipo RC, independiente del reloj principal del sistema para conseguir una mayor fiabilidad.

Proteccin ante fallo de alimentacin o Brownout.


Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentacin (VDD) es inferior a un voltaje mnimo (brownout). Mientras el voltaje de alimentacin sea inferior al de brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor.

Estado de reposo o de bajo consumo.


Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a que se produzca algn acontecimiento externo que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en los dispositivos porttiles alimentados con bateras), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos. En dicho estado se detiene el reloj principal y se congelan sus circuitos asociados, quedando en estado de mnimo consumo. Al activarse una interrupcin ocasionada por el acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo.

12

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

Conversores Analogicos/Digitales (ADC)


Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden digitalizar seales analgicas procedentes de sensores u otras fuentes de informacin. Suelen disponer de un multiplexor analgico que permite aplicar a la entrada del A/D, en forma secuencial, circuito integrado. diversas seales analgicas desde determinados pines del

The PIC Microcontroller Family

23

Channel 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Multiplexer

A/D Converter

Converted Digital Signal

Figure 1.15: fuentes de seal aplicadas mediante un multiplexor analgico. Figura 2.6. Un nico conversor y varias Multiplexed A/D Structure

chosen by programming the A/D converter registers andmxima de5muestreo, we nmero de bits Factores claves en el ADC son la frecuencia is typically V. Thus, if el are using a 10-bit converter (1024 quantization levels), the resolution of our converter will be 5/1024 de cuantificacin as como la tensin de referencia empleada. 0.00488 V, or 4.88 mV; i.e., we can measure analog voltages with a resolution of 4.88 mV. For example, if the measured analog input voltage is 4.88 mV we get the 10-bit digital number 0000000001; if the analog input voltage is 2 4.88 ADC mV, the 10-bit y de 12 number Por ejemplo, la familia dsPIC dispone de 9.76 de 10 bits converted bits pero la will be 0000000010; if the analog input voltage is 3 4.88 14.64 mV, the converted frecuencia de muestreo se encuentra en el mbito de los 100 Ksps. number will be 0000000011; and so on. In a similar way, if the reference voltage is 5 V and we are using an 8-bit converter (256 Conversores Digitales /Analgicos (DAC) quantization levels), the resolution of the converter will be 5/256 19.53 mV. For example, if the measured input voltage is 19.53 mV we get the 8-bit number 00000001; if the analog input voltage is 2 19.53 39.06 mV we get the 8-bit number 00000010; and so on. En ocasiones se incluyen mdulos DAC para transforma los datos digitales obtenidos The A/D converter is controlled by registers ADCON0 and ADCON1. The bit pattern of del procesamiento de seales en su correspondiente seal analgica. No obstante, al ADCON0 is shown in Fig. 1.16. ADCON0 is split into four parts; the rst part consists of the necesitar ADCS1 and ADCS0 and del tipo condensadores e inductancias, se highest two bitscomponentes externos they are used to select the conversion clock. The suelen internal RC oscillator or the external clock can be selected as digital dirigida al DAC the emplear conversores D/A externos. La salida the conversion clock as in puede ser following table: paralelo o serie. 00 External clock/2 01 External clock/8 Una aplicacin tpica es para el filtrado de seales de audio y en la generacin de 10 External clock/32 11 Internal RC clock seales de formas de onda arbitraria, sntesis digital directa (DDS), etc. The second part of ADCON0 consists of the three bits CHS2, CHS1, and CHS0. These are the channel select bits, and they select which input pin is routed to the A/D converter. The Comparador analgico. selection is as follows: CHS2:CHS1:CHS0 000 Channel 0 001 Channel 1 010 Channel 2

13

Algunos modelos de microcontroladores disponen internamente de un Amplificador Operacional que acta como comparador entre una seal fija de referencia y otra variable que se aplica por una de las patitas del chip. La salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra. Tambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores.

Generador de pulsos de anchura variable, PWM.


Son mdulos denominados Output/Compare que proporcionan en su salida una seal de pulsos de anchura variable, que se ofrecen al exterior a travs de las patitas del encapsulado. Variando Su principal aplicacin es para controlar la velocidad de giro de motores elctricos de corriente continua.

Puertos de comunicacin.
Tienen como objeto el dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, tales como otros microcontroladores, sensores, actuadores, redes de comunicaciones, etc. mediante el empleo protocolos estndar. Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan: UART, adaptador de comunicacin serie asncrona. SPI, adaptador de comunicacin serie sncrona. Puerto paralelo esclavo para poder conectarse con los buses de otros microprocesadores. USB (Universal Serial Bus), bus serie para los PC. Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.

14

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

CAN (Controller Area Network), para permitir la adaptacin con redes de conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automviles. En EE.UU. se usa el J185O.

2.1.2.- Familia dsPIC


El fabricante Microchip lanz la familia dsPIC con el objetivo de cubrir el nicho de mercado existente entre las aplicaciones que les basta con un microcontrolador y aquellas especificas donde los DSP de altas prestaciones son la solucin idnea. La idea era conseguir, dentro de un mismo chip, las funciones MCU+DSP=DSC aunque con prestaciones mas limitadas, seran tiles a muchas aplicaciones industriales que emplean procesamiento de seales no muy complejo.

dsPIC30F6011/6012/6013

dsPIC30F6011/6012/6013/6014 High Performanc como aparecen en la hoja de datos del fabricante: Digital Signal Controllers
A partir de la gama dsPIC30F60xx vamos a comentar algunas de sus prestaciones tal

High Performance Modified RISC CPU:


Modified Harvard architecture C compiler optimized instruction set architecture Flexible addressing modes 84 base instructions 24-bit wide instructions, 16-bit wide data path Up to 144 Kbytes on-chip Flash program space Up to 48K instruction words Up to 8 Kbytes of on-chip data RAM Up to 4 Kbytes of non-volatile data EEPROM 16 x 16-bit working register array Up to 30 MIPs operation: - DC to 40 MHz external clock input - 4 MHz-10 MHz oscillator input with PLL active (4x, 8x, 16x) Up to 41 interrupt sources: - 8 user selectable priority levels - 5 external interrupt sources - 4 processor traps

I2C module supports Multi-Master and 7-bit/10-bit addressing Two addressable UART modules wi buffers Two CAN bus modules compliant w standard

Analog Features:

12-bit Analog-to-Digital Converter (A - 100 Ksps conversion rate - Up to 16 input channels - Conversion available during Slee Programmable Low Voltage Detecti Programmable Brown-out Detection generation

Special Microcontroller Featu

Enhanced Flash program memory: - 10,000 erase/write cycle (min.) fo industrial temperature range, 100 Data EEPROM memory: DSP Features: - 100,000 erase/write cycle (min.) f Se tratara de una CPU de altas prestaciones con arquitectura Harvard modificada, que industrial temperature range, 1M Dual data fetch Modulo and instruccin. Self-reprogrammable under softwar emplea 24 bits para codificar cadaBit-reversed modes Two 40-bit wide accumulators with optional Power-on Reset (POR), Power-up T Hay que tener en cuenta, que aunque se disponga de 144 Kb de memoria de Start-up Timer (OST) saturation logic and Oscillator 17-bit x 17-bit single cycle hardware fractional/ Flexible Watchdog Timer (WDT) wit programa, solo podemos direccionar 48K instrucciones. integer multiplier power RC oscillator for reliable oper All DSP instructins are single cycle Fail-Safe Clock Monitor operation: - Multiply-Accumulate (MAC) operation - Detects clock failure and switches low power RC oscillator Single cycle 16 shift Programmable code protection In-Circuit Serial Programming (IC Peripheral Features: 15 Selectable Power Management mod High current sink/source I/O pins: 25 mA/25 mA - Sleep, Idle and Alternate Clock m Five 16-bit timers/counters; optionally pair up 16-

24-bit wide instructions, 16-bit wide data path Analog Features: Up to 144 Kbytes on-chip Flash program space Up to 48K instruction words 12-bit Analog-to-Digital Converter Up to 8 Kbytes of on-chip data RAM - 100 Ksps conversion rate Up to 4 Kbytes of non-volatile data EEPROM - Up to 16 input channels 16 x 16-bit working register array - Conversion available during Sle Up de MIPs operation: Consigue hasta 30 millonesto 30 instrucciones por segundo e incorpora 41 fuentes de Low Voltage Detec Programmable - DC to 40 MHz external clock input Programmable Brown-out Detectio interrupcin. - 4 MHz-10 MHz oscillator input with generation PLL active (4x, 8x, 16x) Incorpora hasta 4 Kbytes de memoria de datos tipo EEPROM. Up to 41 interrupt sources: Special Microcontroller Fea - 8 user selectable priority levels Enhanced Flash program memory - 5 external interrupt microcontrolador y como DSP. El fabricante separa las prestaciones como sources - 10,000 erase/write cycle (min.) - 4 processor traps industrial temperature range, 10 Data EEPROM memory: DSP Features: - 100,000 erase/write cycle (min.) industrial temperature range, 1M Dual data fetch Modulo and Bit-reversed modes Self-reprogrammable under softwa Two 40-bit wide accumulators with optional Power-on Reset (POR), Power-up saturation logic and Oscillator Start-up Timer (OST 17-bit x 17-bit single cycle hardware fractional/ Flexible Watchdog Timer (WDT) w integer multiplier power RC oscillator for reliable op I2C module supports Multi-Master/Slave mode mance Modified RISC CPU: All DSP instructins are single cycle Fail-Safe Clock Monitor operation: and 7-bit/10-bit addressing ard architecture - Multiply-Accumulate (MAC) with FIFO - Detects clock failure and switch Two addressable UART modules operation low power RC oscillator timized instruction set architecture Single buffers cycle 16 shift Programmable code protection essing modes Two CAN bus modules compliant with CAN 2.0B Las prestaciones comoPeripheral consigue mediante un multiplicador hardware que Programming (I DSP In-Circuit Serial uctions standard las Features: Selectable Power Management m structions, 16-bit wide data path High current sink/source I/O pins: 25 mA/25 mA realiza en un nico ciclo de instruccin la operacin de multiplicacin y suma. Analog Features: - Sleep, Idle and Alternate Clock ytes on-chip Flash program space Five 16-bit timers/counters; optionally pair up 16Emplea un desplazador del timersBarrel que es modules de completar un desplazamiento tipo into 32-bit Converter (A/D) with: capaz truction words bit 12-bit Analog-to-Digital timer CMOS Technology: s of on-chip data RAM 100 Kspshasta inputbits en un nica instruccin. 16-bit Capture 16 functions a la derecha o a la izquierda de conversion rate s of non-volatile data EEPROM 16-bit Compare/PWM output functions: Low power, high speed Flash tech - Up to 16 input channels tome orking register array Emplea lgica de saturacin Converter Interface (DCI) supports common Data para evitar que cuando una variable se desborde operating voltage range (2.5 Wide - Conversion available during Sleep and Idle audio Codec protocols, including I2S seales. and AC97 s operation: Industrial and Extended temperatu valores no deseados, especialmente til al trabajar con Programmable Low Voltage Detection (PLVD) 3-wire SPI modules (supports 4and Reset Frame modes) Hz external clock input Low power consumption Programmable Brown-out Detection MHz oscillator input with generation (4x, 8x, 16x) rupt sources: Special Microcontroller Features: ctable priority levels Enhanced Flash program memory: nterrupt sources 2004 Microchip Technology Inc. Advance Information - 10,000 erase/write cycle (min.) for r traps industrial temperature range, 100K (typical) Data EEPROM memory: es: - 100,000 erase/write cycle (min.) for industrial temperature range, 1M (typical) h it-reversed modes Self-reprogrammable under software control de accumulators with optional Power-on Reset (POR), Power-up Timer (PWRT) ic and Oscillator Start-up Timer (OST) single cycle hardware fractional/ Flexible Watchdog Timer (WDT) with on-chip low lier power RC oscillator for reliable operation ctins are single cycle Fail-Safe Clock Monitor operation: cumulate (MAC) operation - Detects clock failure and switches to on-chip low power RC oscillator 16 shift Programmable code protection In-Circuit Serial Programming (ICSP) eatures: Selectable Power Management modes: sink/source I/O pins: 25 mA/25 mA - Sleep, Idle and Alternate Clock modes mers/counters; optionally pair up 1632-bit timer modules CMOS Technology: e input functions re/PWM output functions: Low power, high speed Flash technology er Interface (DCI) supports common Wide operating voltage range (2.5V to 5.5V) protocols, including I2S and AC97 Industrial and Extended temperature ranges modules (supports 4 Frame modes) Low power consumption

dsPIC30F6011/6012/6013/6014

sPIC30F6011/6012/6013/6014 High Performance Digital Signal Controllers

16

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

Las especificaciones como microcontrolador no difieren mucho de lo ya comentado. La memoria de programa admite un mnimo de 10.000 ciclos de escritura/borrado, mientras que la EEPROM admite 10 veces mas. Una caracterstica importante es la capacidad para autoprogramarse permitiendo el acceso a parte de la memoria de programa como si fuese de dsPIC30F6011/6012/6013/6014datos. asegurarse que Incorpora adems del Power-on Reset (POR) el OST y el PWRT para

el oscilador est estable en su PIC30F6011/6012/6013/6014 Highfrecuencia de funcionamiento y el resto de mdulos una Performance vez se conecta el dispositivo, se despierta del modo sleep o se recupera debido a una Digital Signal Controllers cada de tensin transitoria.

El PWRT genera unC module supports Multi-Master/Slave mode detectado una bajada de retardo despus de que el BOR haya I2 nce Modified RISC CPU: and 7-bit/10-bit addressing tensin, haya reseteado el micro y tras recuperarse la tensin se mantiene en reset el architecture

Two addressable UART modules with FIFO zed instruction set architecture programadobuffers PWRT. tiempo en el ng modes Two CAN bus modules compliant with CAN 2.0B ns standard ctions, 16-bit wide data path Analog Features: on-chip Flash program space ion words 12-bit Analog-to-Digital Converter (A/D) with: on-chip data RAM - 100 Ksps conversion rate non-volatile data EEPROM - Up to 16 input channels g register array - Conversion available during Sleep and Idle eration: Programmable Low Voltage Detection (PLVD) external clock input Programmable Brown-out Detection and Reset oscillator input with generation 8x, 16x) sources: Special Microcontroller Features: e priority levels Enhanced Flash program memory: upt sources El conversor ADC - empleado es de 12 (min.)yfor permite hasta 100.000 muestras por 10,000 erase/write cycle bit ps industrial segundo, a repartir entre las temperature range, 100K (typical) 16 entradas. Esto quiere decir que si se conectan todas, Data EEPROM memory: la mxima frecuencia100,000 erase/write cycle (min.) for de 6.5 Kmuestras, suficiente para - de muestreo de cada una ser industrial temperature range, 1M (typical) una gran gama de sensores pero por supuesto insuficiente para digitalizar video o versed modes Self-reprogrammable under software control audio. ccumulators with optional Power-on Reset (POR), Power-up Timer (PWRT) and Oscillator Start-up Timer (OST) gle cycle hardware fractional/ Flexible Watchdog Timer (WDT) with on-chip low power RC oscillator for reliable operation Encapsulado s are single cycle Fail-Safe Clock Monitor operation: ulate (MAC) operation - Detects clock failure and switches to on-chip low power RC oscillator shift Programmable code protection In-Circuit Serial Programming (ICSP) ures: Selectable Power Management modes: source I/O pins: 25 mA/25 mA - Sleep, Idle and Alternate Clock modes counters; optionally pair up 16bit timer modules CMOS Technology: ut functions WM output functions: Low power, high speed Flash technology terface (DCI) supports common Wide operating voltage range (2.5V to 5.5V) ocols, including I2S and AC97 Industrial and Extended temperature ranges ules (supports 4 Frame modes) Low power consumption

17

Bytes Instructions Bytes dsPIC30F6011 dsPIC30F6012 dsPIC30F6013 dsPIC30F6014 64 64 80 80 132K 144K 132K 144K 44K 48K 44K 48K 6144 8192 6144 8192

PWM 8 8 8 8

2048 4096 2048 4096

5 5 5 5

8 8 8 8

AC97, I2S AC97, I2S

16 ch 16 ch 16 ch 16 ch

2 2 2 2

2 2 2 2

I2

Bytes

16-bit

Cap

Interface 100 Ksps

1 1 1 1

2 2 2 2

Pin Diagrams
64-Pin TQFP

64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49

RG13 RG12 RG14 C2RX/RG0 C2TX/RG1 C1TX/RF1 C1RX/RF0 VDD VSS OC8/CN16/RD7 OC7/CN15/RD6 OC6/IC6/CN14/RD5 OC5/IC5/CN13/RD4 OC4/RD3 OC3/RD2 EMUD2/OC2/RD1

RG15 T2CK/RC1 T3CK/RC2 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4 AN3/CN5/RB3 AN2/SS1/LVDIN/CN4/RB2 PGC/EMUC/AN1/VREF-/CN3/RB1 PGD/EMUD/AN0/VREF+/CN2/RB0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

dsPIC30F6011

48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33

EMUC1/SOSCO/T1CK/CN0/RC14 EMUD1/SOSCI/T4CK/CN1/RC13 EMUC2/OC1/RD0 IC4/INT4/RD11 IC3/INT3/RD10 IC2/INT2/RD9 IC1/INT1/RD8 VSS OSC2/CLKO/RC15 OSC1/CLKI VDD SCL/RG2 SDA/RG3 EMUC3/SCK1/INT0/RF6 U1RX/SDI1/RF2 EMUD3/U1TX/SDO1/RF3

Figura 2.7. Descripcin del encapsulado y funcin de cada uno de los pines que lleva un detrminado
Note: Pinout subject microcontrolador. to change.

Note:

For descriptions of individual pins, see Section 1.0.

Como vemos, con tal de minimizar el numero de pines, la mayor parte de ellos se encuentran multiplexados, siendo necesario configurarlos para la funcin deseada.
DS70117A-page 2

AN6/OCFA/RB6 AN7/RB7 AVDD AVSS AN8/RB8 AN9/RB9 AN10/RB10 AN11/RB11 VSS VDD AN12/RB12 AN13/RB13 AN14/RB14 AN15/OCFB/CN12/RB15 U2RX/CN17/RF4 U2TX/CN18/RF5

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Los pines se encuentran estructurados en puertos, aunque no siempre se encuentran todos sus pines implementados.

Advance Information

2004 Microchip Technology Inc.

18

Y Data Bus X Data Bus 16 PSV & Table Data Access 24 Control Block 8 16 16 16 Data Latch RAM (4 Kbytes) Address Latch 16

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia X Data Y Data


16 RAM (4 Kbytes) Address Latch 16 16 X RAGU X WAGU

Data Latch

16 AN0/CN2/RB0 AN1/CN3/RB1 AN2/SS1/LVDIN/CN4/RB2 AN3/CN5/RB3 AN4/CN6/RB4 AN5/CN7/RB5 PGC/EMUC/AN6/OCFA/RB6 PGD/EMUD/AN7/RB7 AN8/RB8 AN9/RB9 AN10/RB10 AN11/RB11 AN12/RB12 AN13/RB13 AN14/RB14 AN15/OCFB/CN12/RB15 PORTB

24 PCU PCH PCL Program Counter Loop Stack Control Control Logic Logic

Y AGU

Effective Address 16

ROM Latch 24 IR 16

16

16 16 x 16 W Reg Array 16 16

T2CK/RC1 T3CK/RC2 EMUD1/SOSCI/CN1/RC13 EMUC1/SOSCO/T1CK/CN0/RC14 OSC2/CLKO/RC15 PORTC

Decode

Instruction Decode & Control DSP Engine

Blocks

Power-up Timer Oscillator Start-up Timer POR/BOR Reset

Divide Unit

Timing neration

ALU<16> 16 16 PORTD

MCLR

VDD, VSS AVDD, AVSS

Watchdog Timer Low Voltage Detect

EMUC2/OC1/RD0 EMUD2/OC2/RD1 OC3/RD2 OC4/RD3 OC5/CN13/RD4 OC6/CN14/RD5 OC7/CN15/RD6 OC8/CN16/RD7 IC1/RD8 IC2/RD9 IC3/RD10 IC4/RD11

Figura 2.8. Asociacin de pines en puertos en un determinado microcontrolador.


Input Capture Module Output Compare Module I2C

N1, N2

12-bit ADC

2.2.- Familias de 32 bits (ARM)

Timers

DCI

ARM es SPI1,fabricante lder en el suministro a la industria de soluciones basadas en el el UART1, empleo de microprocesadores RISC de 16-/32-bits. La empresa otorga licencias de fabricacin a los principales fabricantes C2TX/RG1 de semiconductores debido a su tecnologa de
SDA/RG3 alto rendimiento y bajo coste, la eficiencia energtica de los procesadores RISC, gama SCL/RG2 C2RX/RG0 SPI2 UART2 PORTF

C1RX/RF0 C1TX/RF1 U1RX/RF2 U1TX/RF3 U2RX/CN17/RF4

de perifricos, y el sistema de diseos SDO2/CN10/RG8 ARM tambin proporciona el apoyo de chips. necesario para desarrollar un sistema completo. Los cores del microprocesador ARM CSDI/RG12
CSDO/RG13 SS2/CN11/RG9

SCK2/CN8/RG6 SDI2/CN9/RG7

se estn convirtiendo rpidamente en CSCK/RG14 el estndar RISC por volumen en mercados COFS/RG15 tales como los dispositivos PORTGcomunicaciones porttiles, ordenadores porttiles, de PDAs, multimedia digital y resto de soluciones embebidas.

Advance Information

2004 Microchip Technology Inc.

Las diferentes evoluciones en la arquitectura han creado las diferentes familias denominadas como ARM7, ARM9, ARM10. Por ejemplo, veamos un modelo de la familia ARM7:

19

Figura 2.9. Diagrama bsico de la arquitectura de un microprocesador ARM7.

The ARM7TDMI, has a core based on the fourth version of the ARM architecture. This implementation uses a three stage pipeline a standard fetch-decode-execute organization. It features a unified cache, as well as the Thumb extension permitting 32bit and 16-bit operation. It is completely forward compatible, meaning that any code written for this core will be compatible with any new core releases, such as ARM9 or ARM10. This core also includes the on-chip debug extension. Para ms informacin visitar: http://www.arm.com/

2.3.- Procesadores digitales de seal, DSP.


A lo largo de los ltimos aos, la aparicin y posterior desarrollo de los dispositivos especializados en el procesado digital de seales o DSPs ha supuesto la apertura de una nueva va de evolucin hacia niveles superiores en el tratamiento de datos. En este corto espacio de tiempo, debido a su bajo coste y gran rendimiento, los DSPs han reemplazado casi por completo a la tecnologa analgica tradicional en campos como telecomunicaciones, procesado de audio y vdeo y control industrial. Se ha generalizado el diseo de soluciones en este campo por parte de empresas de primer nivel, desarrolladores independientes y universidades.

20

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

Figura 2.10. Diagrma de un SE que incorpora un nuclo DSP y modulos adicionales .

Es necesario un conocimiento de la teora de tratamiento digital de seales, en la que se basan estos procesadores, para poder comprender el por qu de las arquitecturas que emplean estos procesadores as como disponer de criterios ante la posible la eleccin del procesador idneo para un proceso determinado.

2.3.1.- Fundamentos del tratamiento digital de la seal


Mientras en la tecnologa analgica el procesamiento de seales se implementa mediante clculo integral, en la tecnologa digital esta operacin se reduce a sumas acumulativas de productos. Adems, es posible procesar digitalmente y a continuacin reconstruir seales de toda naturaleza, muestrendolas segn el teorema de Nyquist. La mayora de las aplicaciones digitales comparten clculos comunes. Las operaciones bsicas en el procesamiento digital de la seal como filtrado, correlacin, convolucin, se reducen a la siguiente estructura matemtica de multiplicacin acumulacin. A=B*C+D Como ejemplo, veamos la tpica ecuacin de un filtro FIR:

21

2.3.2.- Dispositivos especficos en el tratamiento digital de la seal


Se han analizado los procesadores digitales de seal (DSPs), que son los dispositivos encargados del tratamiento digital de seal. Los DSPs comparten unas caractersticas comunes para optimizar el clculo de la estructura matemtica de multiplicacin acumulacin, permitiendo realizar la operacin de multiplicacin-acumulacin y varios accesos a memoria en un solo ciclo de instruccin, por esto el procesador puede buscar una instruccin mientras a la vez est realizando la bsqueda de operandos y/o almacenando el resultado de una instruccin anterior. Para realizar mltiples accesos a memoria, los DSP incluyen unidades generadoras de direcciones, que operan en paralelo con la ejecucin de instrucciones aritmticas, y memorias multipuerto e incluso bancos de memoria independientes. Al implicar los algoritmos DSP clculos repetitivos, la mayora de los DSP disponen de un conjunto de instrucciones que soportan la ejecucin de bucles. Adems, incorporan puertos de entrada/salida serie o paralelo, manejo de fuentes externas de interrupciones y accesos directos a memoria sin intervencin del procesador. Todas estas caractersticas se recogen en la arquitectura Harvard, que dispone de varios buses independientes para datos e instrucciones; frente a la arquitectura Von Neumann, sobre la que se desarrollan los procesadores de propsito general, que al tener un nico bus de datos y otro de instrucciones, no permite cargar datos en paralelo con la bsqueda de cdigo, provocando un cuello de botella que ralentiza la ejecucin de algoritmos DSP. En funcin de la empresa fabricante de los chips DSP, existen algunas diferencias en la manera de implementar la arquitectura Harvard. Las empresas con mayor presencia en el mercado de los DSPs son Texas Instruments, Analog Devices y Freescale (Antigua Motorota). Estas empresas fabrican una gran variedad de DSPs que incluyen desde procesadores de 16 bits en coma fija a procesadores de 32 bits en coma flotante. Generalmente los DSPs de coma flotante usan palabras de 32 bits y los de coma fija usan palabras de 16 bits. Se han escogido para el estudio el TMS320C30 de Texas

22

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

Instruments de 32 bits en coma flotante y el ADSP 2100 de Analog Devices de 16 en coma fija. Aunque los procesadores de coma fija suelen ser de 16 bits, Motorola dispone de una familia de procesadores de 24 bits en coma fija para incrementar el rango dinmico, por este motivo, tambin se ha escogido para el estudio el DSP56000 de Motorola de 24 bits en coma flotante.

TMS320C30
El TMS320C30 de Texas Instruments es un procesador de 32 en coma flotante. Dispone de un multiplicador en paralelo con la ALU y de dos unidades generadoras de direcciones, es posible realizar varios accesos a memoria en un ciclo de instruccin, debido a que dispone de memoria multipuerto. La memoria est dividida en tres bloques independientes que pueden soportar dos accesos por ciclo de instruccin, incluye una cach de instrucciones de 64x32bits. El TMS320C30 dispone de buses independientes para instrucciones, datos y DMA. Incorpora 2 temporizadores, 2 puertos serie y un controlador de DMA. El set de instrucciones del TMS320C30 dispone de instrucciones especficas para la repeticiones de secciones del cdigo como RPTS instrucciones). (para repetir una instruccin) y RPTB (para repetir un bloque de

ADSP 2100
Los dispositivos de la familia ADSP 2100 de Analog Devices son procesadores de 16 bits de coma fija, aunque estn preparados para implementar operaciones con aritmtica flotante. Poseen 4 buses internos que se multiplexan en dos externamente: bus de direcciones de datos (14 bits), bus de direcciones de programa (14 bits), bus de datos de datos (16 bits) y bus de datos de programa (24 bits), esto permite acceder independientemente a la memoria de datos y memoria de programa. Otra de sus caractersticas bsicas es que poseen dos unidades generadoras de direcciones (DAG), que posibilitan el direccionamiento de dos operandos de forma simultnea as como proporcionar direccionamiento circular y de inversin de bit. La unidad MAC permite realizar la operacin multiplicar-acumular en un solo ciclo de instruccin, para ello dispones de dos ficheros de registros de entrada conectados a travs de los buses correspondientes a zonas de memoria diferentes.

23

DSP56000
El Motorola DSP56000 es un procesador de coma fija de 24 bits. La ALU del DSP56000 implementa en un slo ciclo de instruccin la operacin de multiplicaracumular. La memoria est dividida para aumentar la velocidad al trabajar en paralelo. Hay cuatro buses bidireccionales de datos de 24 bits y 3 de direcciones de 16 bits. La AGU realiza el clculo de las direcciones efectivas usando aritmtica entera, implementa tres tipos de aritmtica: lineal, mdulo y acarreo inverso. El propsito del set de instrucciones es mantener las tres unidades operativas del DSP56000 (ALU, AGU y unidad de control de programa) ocupadas cada ciclo de instruccin. El DSP56000 tiene dos instrucciones especiales para la ejecucin repetitiva de instrucciones y para generar bucles DO y REP.

Para mayor detalle visitar: http://focus.ti.com/dsp/docs/dsphome.tsp?sectionId=46&DCMP=TIHomeTracking&HQ S=Other+OT+home_p_dsp

2.3.3.- Implementacin de aplicaciones sobre DSP


Despus de analizar las arquitecturas de los dispositivos, se ha obtenido una visin general del abanico de aplicaciones que soportan los DSPs. Por ejemplo, en el campo militar se utilizan los DSPs para procesamiento de radar, sonar o gua de misiles. En el campo del tratamiento de voz y audio para la codificacin, sntesis y reconocimiento de voz. En el sector de las telecomunicaciones para la codificacin ADPCM, cancelacin de eco, telefona mvil, televisin digital, etc.. Algunos de los avances de los DSPs en instrumentacin mdica son las imgenes ultrasnicas, radiografas digitales y varias formas de tomografa (CAT, tomografa asistida por ordenador; PET, tomografa por emisin de positrones; MRI, imgenes por resonancia magntica).

2.3.4.- Parmetros en la eleccin de un DSP


Una vez analizadas las arquitecturas de los dispositivos y las aplicaciones en los que stos tienen presencia, se consideran los factores que hacen a un DSP adecuado

24

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

para cada tipo de aplicacin. Los diseadores de sistemas DSP utilizan el procesador ms simple que se ajusta a las necesidades de su aplicacin. El formato aritmtico que soporta el dispositivo es un factor importante de cara a seleccionarlo para un proceso en concreto. La aritmtica en coma flotante es mucho ms flexible que la de coma fija, se dispone de un rango dinmico mucho mayor, con lo que son ms fciles de programar, ya que el programador no ha de preocuparse del rango dinmico ni de la precisin, aunque son ms caros porque el procesamiento en coma flotante exige una circuitera ms compleja. Por ejemplo se utilizan en la instrumentacin cientfica y mdica. Los DSPs de coma fija se usan en muchas aplicaciones debido a que ofrecen grandes prestaciones, para aplicaciones con un rango dinmico pequeo, a muy bajo precio. Por ejemplo, para el tratamiento de seales de voz que tienen un ancho de banda muy reducido. El tamao del dato tiene una mayor repercusin en el coste, ya que influye notablemente en el tamao del chip y el nmero de pins que requiere, as como el tamao de los dispositivos externos conectados al DSP. Por todo esto, los diseadores tratan de emplear anchuras de palabras lo mas pequeas posibles de acuerdo a sus necesidades. Hay que buscar el equilibrio entre el tamao de palabra y la complejidad de desarrollo. Cada tipo de procesador es ideal para un rango especfico de aplicaciones. Los DSPs de 16 bits de coma fija, como por ejemplo la familia de Motorola DSP 56100 son buenos para sistemas de voz, como telfonos, ya que estos DSP trabajan con el rango relativamente estrecho de las frecuencias del sonido. Las aplicaciones estreo de alta fidelidad tienen un rango de frecuencias ms amplio, un DSP de 24 bits de coma fija como los DSP56002 son los adecuados ya que el DSP ha de ser de 24 bits para poder manipular los valores que se obtienen al procesar la seal. El procesamiento de imgenes, grficas en 3D y simulaciones cientficas tiene un rango dinmico mucho ms amplio y necesitan DSPs de 32 bits con aritmtica de coma flotante como por ejemplo el 96002 o el TMS320C30.

25

3. Bibliografa

Microcontroladores PIC. La Solucin en un Chip. J. M. Angulo Usategui, E. Martn Cuenca, I. Angulo Martnez Ed. Paraninfo. ( 1997 ) Microcontroladores PIC. Diseo prctico de aplicaciones. J. M. Angulo Usategui, I. Angulo Martnez Mc Graw Hill [ 1999 ] Microcontroladores. Vicente Torres. Servicio Publicaciones UPV.

Sitios web Microchip. Espaa. Parallax. Enlaces interesantes sobre PIC. Dontronics. Pagina principal The Picmicro Ring. Microcontoladores: Herramientas y Programador. Tools Mundo Electrnico: Enlaces. http://www.geocities.com/CapeCanaveral/ Campus/9468/mundo.htm The Electronic Projects Page: Algunos http://www.blichfeldt.dk proyectos. http://www.parallaxinc.com http://www.dontronics-shop.com/links-piclinks.html http://www.dontronics.com http://members.tripod.com/~mdileo/pmring .html Informacin, http://www.geocities.com/TheTropics/2174 /micro.html http://www.microchip.com

Sagitron: Distribuidor de Microchip en http://www.sagitron.es

GNUPic Free Microcontroller Software http://huizen.dds.nl/~gnupic/index.html

26

07BN.- SISTEMAS EMBEBIDOS (2009) Apuntes del profesor: Benito beda

Universidad de Murcia

PICALL PIC programmers

http://www.picallw.com/

Proyecto Fin de Carrera de Gaspar Vidal http://www.geocities.com/CapeCanaveral/ que utiliza los Pic como soporte hardware. Campus/8775/proyecto/pfc.htm Otro curso sobre microcontroladores http://usuarios.lycos.es/sfriswolker/pic

27

You might also like