Grupo de Tecnología Electrónica

Complementos de sistemas electrónicos digitales
Tema 1

1. INTRODUCCIÓN E HISTORIA

Los sistemas microprocesadores se caracterizan por la capacidad de procesar información mediante la ejecución de programas (conjunto de instrucciones que se encuentran almacenadas en dispositivos de memoria de tipo RAM y ROM) gracias a que van provistos de un módulo denominado CPU, que es el encargado de interpretar secuencialmente las instrucciones y de realizar la tarea programada. Esta capacidad les permite ser sistemas de propósito general que pueden ser utilizados en infinidad de aplicaciones con sólo cambiar el programa que han de ejecutar.

El hito más importante en la historia de la computación fue un artículo publicado por Von Neumann, en 1946, en el que se plantea la primera arquitectura abierta de un sistema microprocesador.

A modo de resumen puede decirse que, en la actualidad, un sistema microprocesador es un sistema digital basado en un microprocesador (dispositivo digital provisto de CPU) que se caracteriza por su capacidad para procesar información y que normalmente constituye un sistema electrónico de pequeño tamaño, elevada fiabilidad, poco tiempo de diseño y bajo coste si se compara con cualquier otro tipo de sistema electrónico.

En la actualidad, los dispositivos provistos de una (o varias) CPU se denominan microcontroladores, microprocesadores y DSPs y todos ellos se caracterizan por ser capaces de ejecutar programas ubicados en una memoria.

Un DSP es un microprocesador que posee una CPU de gran potencia y que está preparado para el tratamiento digital de señales en tiempo real y para la realización del mayor número de operaciones aritméticas en el menor tiempo posible.

En 1982 aparece el primer DSP de la familia TMS320 de Texas Instruments, el TMS32010, diseñado en tecnología TTL. Posteriormente se incorpora la tecnología CMOS al proceso de fabricación.

Los DSP son similares a otros microprocesadores y microcontroladores que se encuentran en el mercado con la salvedad de que su circuitería interna ha sido optimizada para la realización de funciones tales como el filtrado, la correlación, el análisis espectral, etc., de una señal de entrada al sistema.

Inicialmente, los DSP disponían de un mercado reducido (sólo se empleaban en sistemas que requerían una elevada potencia de cálculo, como ocurre en instrumentación electrónica de precisión, osciloscopios digitales, etc.) aunque, con la revolución y expansión relacionada con las telecomunicaciones, esta tendencia ha cambiado claramente.

En el gráfico podemos ver la evolución de las ventas de DSPs en los últimos años (datos reales en color oscuro y previsiones en color más claro).

Evolución de las ventas de DSPs en los últimos años.

Fotografía de varios microcontroladores: 80C32 de Intel, MC68HC11A8 de Motorola y PIC16C71 y PIC16F84 de Microchip.

Fotografía de varios microcontroladores: 80C32 de Intel, MC68HC11A8 de Motorola y PIC16C71 y PIC16F84 de Microchip.

Fotografía de un DSP, TMS230C32, de Texas Instruments y de un microprocesador pentium de Intel.

Fotografía de un DSP, TMS230C32, de Texas Instruments y de un microprocesador pentium de Intel.

En conclusión, podemos decir que un DSP es un microprocesador orientado al procesamiento de señales digitales y a la realización de cálculos a alta velocidad. Estos microprocesadores se caracterizan por tener arquitecturas especiales, orientadas a la realización hardware de los cálculos que otro tipo de microprocesadores implementan vía software, mediante la ejecución secuencial de varias instrucciones.

La principal diferencia de los DSPs y otros procesadores modernos, es que los primeros se diseñan para ser escalables, es decir, se diseñan para poder operar en paralelo con otros dispositivos similares. Para ello, se le añaden periféricos de control y bloqueo del programa (como líneas de entrada-salida que pueden bloquear la ejecución de ciertas instrucciones si se encuentran a un determinado valor) y periféricos de entrada-salida de alta velocidad (como puertos serie síncronos) que permiten la conexión sencilla de varios DSPs para aplicaciones con multiprocesadores.

Las aplicaciones basadas en DSPs son cada día mayores en número. Actualmente cubren prácticamente todos los campos de la industria (telecomunicaciones, control, instrumentación, análisis de imagen y voz, automóvil, medicina). Esto hace que los fabricantes investiguen nuevas arquitecturas, y sobre todo, compiladores más inteligentes y mejores herramientas de desarrollo y depuración.

La principal tendencia en la mejora de las arquitecturas interna de los DSPs se enfocó inicialmente hacia el aumento del paralelismo del sistema. Recientemente han aparecido en el mercado DSPs con múltiples CPUs que pueden trabajar en paralelo (familia de DSPs TMS320C8x de Texas Instrument), grado de paralelismo que es directamente proporcional al número de operaciones que el DSP será capaz de realizar en un ciclo de reloj. En la actualidad, el fabricante Texas Instruments (uno de los más importantes fabricantes de DSPs) ha centrado el desarrollo de sus DSPs (lo que nos daría una idea de la tendencia actual de otros fabricantes) en tres grandes familias de DSPs, TMS320C2000, TMS320C5000 y TMS320C6000, buscando, respectivamente, la aplicación de sus estructuras microprocesadoras al control de procesos industriales que requieren un procesamiento complejo y un tiempo de respuesta bajo (como es el caso de las máquinas eléctricas, aquí se confunde el término DSP y microcontrolador de elevada potencia de cálculo), la optimización del consumo energético asociado a estos dispositivos (con utilidad en telefonía móvil, con idea de aumentar la disponibilidad de un teléfono con la misma batería) y el aumento de la potencia de cálculo del dispositivo (para poder implementar tareas cada vez más complejas en el DSP).

La programación de este tipo de procesadores, que incorporan muchos la posibilidad de procesamiento en paralelo de los datos por parte de varios DSPs, se hace cada vez más y más compleja. El empleo de lenguaje ensamblador complica la implementación de las aplicaciones software. Se hace preciso (más aún que en el caso de otros microprocesadores y microcontroladores) el empleo de lenguajes de programación a más alto nivel, que simplifiquen el desarrollo del software al usuario. Dado que estos sistemas se diseñan para el procesamiento de datos en el menor tiempo posible, este tipo de compiladores debe ser capaz de optimizar el programa en tiempo de ejecución, tarea que complica enormemente el desarrollo de los mismos.

Las principales alternativas que aparecen al uso de DSPs, son:

  • ASICs de función fija ó FPGAs. A diferencia de cualquier microprocesador, su labor no se realiza mediante la ejecución secuencial de instrucciones, sino que se programa en la circuitería que lleva dentro. Cuando aparecieron estos dispositivos en el mercado, sus principales inconvenientes eran la falta de versatilidad (no valían para otra cosa distinta de aquella para la que fueron diseñados) y el coste de desarrollo que tenían asociado (el diseño de una aplicación basada en FPGAs ó ASICs era mucho más caro en tiempo que el desarrollo de un programa en C o ensamblador para un DSP) y su utilidad principal estaba en el empleo como coprocesadores de los DSPs. En la actualidad, y gracias al desarrollo de las herramientas de programación y de las tecnologías de fabricación y técnicas de integración asociada a estos dispositivos, los inconvenientes relacionados con la falta de versatilidad se han solucionado si bien el coste de desarrollo sigue siendo superior al ligado a los DSPs.
  • Ordenador personal o estación de trabajo (Native Signal Processing). Está alcanzando popularidad por el, cada vez, menor coste de los sistemas PC-multimedia. El sistema operativo se ejecuta en paralelo con la aplicación de procesado de la señal. Esto resta velocidad de procesado a la aplicación e impide su empleo en tiempo real, limitando su uso al procesado de la señal fuera de línea. Son más caros que las tarjetas basadas en DSPs y aunque la potencia de los microprocesadores es elevada, no pueden competir con el DSP en tiempo de ejecución de las operaciones aritméticas. El manejo de datos que realizan equivale en rapidez con el de los DSPs pero las operaciones aritméticas suelen realizarse en tiempos más elevados.
  • Microcontroladores. Se diseñan principalmente para el control de procesos en tiempo real. Los microcontroladores se clasifican en función del tamaño del bus de datos. Los microcontroladores de 8 y 16 bits de bus de datos, no alcanzan en ningún caso las velocidades de los DSPs. Los de 32 bits de bus de dato son tan rápidos como los DSPs y pueden emplearse en aplicaciones con pequeñas constantes de tiempo, del orden de los microsegundos, o frecuencias de trabajo elevadas. Las estructuras internas de estos microcontroladores se asemejan a la de los DSPs pero no están preparados para el trabajo en paralelo mediante arquitecturas multiprocesadores, sino que están pensados, más bien, para el funcionamiento en solitario y con el menor número de dispositivos externos (a ser posibles, el producto final dispondrá de un único integrado, el propio microcontrolador). Lo cierto es que las diferencias entre los microcontroladores de elevada potencia de cálculo y los DSPs son casi nulas, de hecho, hoy en día denominar DSP a un dispositivo microcontrolador está de moda debido principalmente a criterios de marketing. En la tabla 1-1 se muestran los tiempos empleados por varios DSPs y microprocesadores en realizar algunas operaciones aritméticas básicas.


    IMPLANTACIÓN DE UNA RED ASÃNCRONA DE ENSEÑANZA DEDICADA A LA IMPARTICIÓN DE LA ASIGNATURA COPLEMENTOS DE SISTEMAS ELECTRÓNICOS DIGITALES DE 3º CURSO DE INGENIERÃA DE TELECOMUNICACIÓN.

    : Oliveros Garrido, Antonio
    : Ingeniería Telecomunicación
    Contenido del proyecto:
    Directorio raíz  >  Proyecto  >  tema1  >  punto1.html