Tecnologia dsp,, i2c,pld,asic

12
Estudiante eliecer falcon Cedula 17783327 100% saia

Transcript of Tecnologia dsp,, i2c,pld,asic

Page 1: Tecnologia dsp,, i2c,pld,asic

Estudiante eliecer falcon Cedula 17783327

100% saia

Page 2: Tecnologia dsp,, i2c,pld,asic

son circuitos integrados, que proporcionan una solución al diseño de forma análoga.

La estructura básica de una PLD permite realizar cualquier tipo de circuito combinacional basándose en una matriz formada por puertas AND, seguida de una matriz de puertas OR. Tres son los tipos más extendidos de PLD’s, la PROM, PLA, y la GAL.

Fuente•Los microprocesadores Intel 286, 386 y 486. 2002.•P. Karen and M. Nick “Introduction to Programmable Logic” Abril 2004.

Page 3: Tecnologia dsp,, i2c,pld,asic

Los PLD´s están desplazando, cada vez más, a la lógica discreta y a otros tipos de circuitos ASIC debido a las múltiples ventajas que ofrecen. Algunas de estas son:•Reducción de espacio.•Reducción del número de conexiones.•Reducción de la potencia de consumo.•Disminución del coste.•Aumento de la fiabilidad.•La mayor parte de ellos ofrecen una gran flexibilidad al permitir reprogramar el circuito lógico a la medida, pudiendo obtener diferentes configuraciones para un mismo dispositivo.•Esta posibilidad que brindan algunos PLD´s de ser reprogramados, permite que se elimine el riesgo de errores a la hora de la grabación. •Gran facilidad de diseño porque las herramientas disponibles para este fin simplifican considerablemente el proceso de diseño, haciendo que la implementación al más bajo nivel sea transparente para el usuario

Algunos aspectos negativos a señalar en estos circuitos vienen dado en que las técnicas de los circuitos impresos cambian considerablemente, la selección del encapsulado no es trivial, las conexiones entre terminales son muy pequeñas y surge la necesidad de utilizar una circuitería adicional para el control de la calida. 

El sistema de desarrollo consiste en un software de diseño y un programador, donde el software, es en esencia, un ensamblador que transforma el diseño de alto nivel que hace el usuario a bajo nivel o nivel de programación del dispositivo

Page 4: Tecnologia dsp,, i2c,pld,asic

El I²C bus, no tan sólo son dos cables, usados para realizar una transmisión bidireccional de datos entre distintos sistemas gobernados por microcontroladores de forma eficaz. Veremos, cómo podemos controlar un importante número de dispositivos con nuestro Arduino, aunque, no es fácil de dominar. Se trata de, un bus bidireccional que utiliza dos líneas, una de datos serie (SDA) y otra de reloj serie (SCL), que requiere resistencias de polarización a positivo (RPA). SCL es la línea de reloj, se utiliza para sincronizar todos los datos SDA de las transferencias durante I²C bus. SDA es la línea de datos.Las líneas SCL y SDA están conectadas a todos los dispositivos en el I²C bus. Ambas líneas SCL y SDA son del tipo drenador abierto asociados a un transistor de efecto de campo (o FET), es decir, un estado similar al de colector abierto. Esto significa que el chip puede manejar su salida a BAJO, pero no puede manejar a ALTO.

Para que la línea pueda ir a ALTO, se deben proporcionar resistencias de polarización a 5V. Necesita de una resistencia de la línea SCL a la línea de 5V y otra de la línea SDA a la línea de 5V.. Sólo necesita un conjunto de resistencias de RPA (pull-up) para todo el I²C bus, no son necesarias para cada dispositivo. La alimentación del sistema, debe tener una masa común, también puede haber una alimentación compartida que, se distribuye entre los distintos dispositivos

Page 5: Tecnologia dsp,, i2c,pld,asic

Cuando se envía la dirección de 7 bits, siempre seguimos enviando 8 bits. El bit extra (bit 8º) se usa para informar al esclavo si el maestro está escribiendo o leyendo de él. Si el bit 8º es 0, el maestro está escribiendo al esclavo. Si el bit 8º es 1, el maestro esta en la lectura del esclavo. Existen disposiciones en la norma de I²C para entornos multi-master, así como de 10 bits frente a la más simple y la más comúnmente usada, es la configuración de un solo maestro, de 7 bits de direccionamiento.Yo se que, la localización de la dirección de 7 bits en la parte superior del byte, es una fuente de confusión para los recién llegados, pero intentaré hacer un esfuerzo para dejar lo más claro posible este punto. No debería haber ningún problema en que, los tres bits A0, A1 y A2 correspondientes a los pines 1, 2 y 3 seleccionan la dirección del dispositivo, del P0 al P7 son los puertos de E/S e INT, es una salida de interrupción que no lo usaremos. De modo que, para poner en servicio un PDF8574, son necesarias dos cosas, la dirección del dispositivo (b0100000) y un byte de datos para el pin de salida que se necesita.

De modo que, si ponemos los pines A0 ~ A2 a masa o GND, la dirección de nuestro dispositivo en el sistema binario será 0100000, o 0x20 en formato hexadecimal. Y con los bytes de datos, haremos lo mismo, configurando así los pines de salida, por ejemplo: si queremos poner todos a Alto (H), enviamos 0 en binario que, en hexadecimal es 0, o bien para poner los cuatro primeros a H y los segundos cuatro a L. Se utiliza 00001111 en binario que, en hexadecimal es 0x0F.

Page 6: Tecnologia dsp,, i2c,pld,asic

los cuatro pasos que sigue el inicio de una transmisión, son los 4 bytes de inicio, vea la figura anterior•En el primer paso, el byte que se envía es START, después de la condición de Bit inicio (START) se envía un byte que, contiene siete bits que componen la dirección del dispositivo que se quiere seleccionar y un octavo bit R/W •El segundo paso, este byte, contiene la dirección del registro que se desea leer/escribir. Puede realizarse un reinicio como se muestra en la figura.•El tercer paso, aquí se escribe la dirección con el bit menos significativo LSB a nivel 1, para indicar que se lee.•El cuarto paso y siguientes continúan la misma función de lectura, no tiene por qué ser sólo uno.•A cada byte transferido al bus, le sigue un noveno pulso de reloj durante el cual, el dispositivo receptor, debe generar un pulso de reconocimientoPara pasar a la función de escritura en el mismo dispositivo, puede realizarse, enviando un bit de STOP o de reinicio, considerado como parada e inicio

. El paso que sigue es, escribir el byte que contiene siete bits que componen la dirección del dispositivo que se quiere seleccionar y un octavo bit a 0 que corresponde a la operación que se quiere realizar con él, ahora escritura. Y los pasos siguientes pueden ser como en el caso anterior.Dicho esto, se debe resaltar que en el I²C-bus se definen tres tipos básicos de mensajes, cada uno de los cuales comienza con un START y se termina con una STOP

En un mensaje combinado, cada uno, sea de lectura o escritura comienza con un START y la dirección de esclavo. Después del primer START, también se pueden hacer llamados repetidos bits de START, esto confirma que repetidos bits START no vienen precedidos por bits de STOP, que es como los esclavos conocen la próxima transferencia que, es parte del mismo mensaje. Todo esclavo puede sólo responder a mensajes particulares, tal como se define por su documentación de producto.Cuando el maestro ha terminado de escribir todos los datos en el esclavo, se envía una secuencia de parada que completa la transacción. Así que para escribir en un dispositivo esclavo:

Page 7: Tecnologia dsp,, i2c,pld,asic

Para lograr este propósito, se parte de una palabra de dirección, un byte, en los que debemos distinguir: el bit START, con dirección del esclavo al que interrogará. Esta dirección está formada por 4 bits de código de control más tres bits (A0..A2) de selección de dispositivo y el bit de escritura /lectura (R/W), por último se envía el bit ACK (reconocer) por que es el maestro el que está transmitiendo

Page 8: Tecnologia dsp,, i2c,pld,asic

es un sistema basado en un procesador o microprocesador que posee un conjunto de instrucciones, un hardware y un software optimizados para aplicaciones que requieran operaciones numéricas a muy alta velocidad. Debido a esto es especialmente útil para el procesado y representación de señales analógicas en tiempo real: en un sistema que trabaje de esta forma (tiempo real) se reciben muestras (samples en inglés), normalmente provenientes de un conversor analógico/digital (ADC).

Las aplicaciones más habituales en las que se emplean DSP son el procesado de audio y vídeo; y cualquier otra aplicación que requiera el procesado en tiempo real. Con estas aplicaciones se puede eliminar el eco en las líneas de comunicaciones, lograr hacer más claras imágenes de órganos internos en los equipos de diagnóstico médico, cifrar conversaciones en teléfonos celulares para mantener privacidad, analizar datos sísmicos para encontrar nuevas reservas de petróleo, hace posible las comunicaciones wirelessLAN, el reconocimiento de voz, los reproductores digitales de audio, los módems inalámbricos, las cámaras digitales, y una larga lista de elementos que pueden ser relacionados con el proceso de señales.

Un DSP está diseñado teniendo en cuenta las tareas más habituales del procesado digital: sumas, multiplicaciones y retrasos (almacenar en memoria).Los DSP abandonan la arquitectura clásica de Von Neumann, en la que datos y programas están en la misma zona de memoria, y apuestan por la denominada Arquitectura Harvard. En una arquitectura Harvard existen bloques de memoria físicamente separados para datos y programas. Cada uno de estos bloques de memoria se direcciona mediante buses separados (tanto de direcciones como de datos), e incluso es posible que la memoria de datos tenga distinta anchura de palabra que la memoria de programa (como ocurre en ciertos microcontroladores).Los elementos básicos que componen un DSP son:•Conversores en las entradas y salidas•Memoria de datos, memoria de programa y DMA.•MACs: multiplicadores y acumuladores.•ALU: Unidad aritmético-lógica.•Registros.•PLL: Bucles enganchados en fase.•PWM: Módulos de control de ancho de pulso.

Page 9: Tecnologia dsp,, i2c,pld,asic

Se ha dicho que puede trabajar con señales analógicas, pero el DSP es un sistema digital, por lo tanto necesitará un conversor analógico/digital a su entrada y digital/analógico en la salida. Como todo sistema basado en procesador programable necesita una memoria donde almacenar los datos con los que trabajará y el programa que ejecuta.Si se tiene en cuenta que un DSP puede trabajar con varios datos en paralelo y un diseño e instrucciones específicas para el procesado digital, se puede dar una idea de su enorme potencia para este tipo de aplicaciones. Estas características constituyen la principal diferencia de un DSP y otros tipos de procesadores.Para adentrar en su funcionamiento se pondrá el ejemplo de un filtro

: el DSP recibirá valores digitales o samples procedentes de la señal de entrada, calcula qué salida se obtendrá para esos valores con el filtro que se le ha programado y saca esa salida. Un posible sistema basado en un DSP puede ser el siguiente:

La señal entrante entra directamente en un filtro antialiasing para evitar frecuencias superiores a la muestreada del conversor analógico-digital. Después se lleva a cabo el procesado digital en el módulo DSP, para después volverse a convertir en analógico y dar paso a la salida.

Page 10: Tecnologia dsp,, i2c,pld,asic

Un DSP se puede programar tanto en ensamblador como en C. Cada familia de DSP tiene su propio lenguaje ensamblador y sus propias herramientas suministradas por el fabricante. Gracias a la colaboración entre fabricantes, existen lenguajes de más alto nivel (y por lo tanto, más sencillos y rápidos de usar) que incorporan la capacidad de programar los DSP, en general pasando por un precompilado automático en C. Son los casos de LabVIEW y Matlab

ejemplo se presenta la programación de un filtro digital en script m. El parámetro "entrada" es un valor que hay que darle al programa. Cabe destacar que los coeficientes del filtro están en los arrays den y num. Nótese que todas las operaciones son sumas (o restas), multiplicaciones y almacenamiento en memoria (variable w).w=[0 0 0 0 0]; y=zeros(1,length(entrada)); for i=1:length(entrada) w(5)=entrada(i)-den(2)*w(4)-den(3)*w(3)-den(4)*w(2)-den(5)*w(1); y(i)= num(1)*w(5)+num(2)*w(4)+num(3)*w(3)+num(4)*w(2); w(1)=w(2); w(2)=w(3); w(3)=w(4); w(4)=w(5); end;

Page 11: Tecnologia dsp,, i2c,pld,asic

Circuito Integrado para Aplicaciones Específicas  es un circuito integrado hecho a la medida para un uso en particular, en vez de ser concebido para propósitos de uso general. Se usan para una función específica. Por ejemplo, un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Por otro lado, los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas, o ASSP por sus siglas en inglés.

Con los avances en la miniaturización y en las herramientas de diseño, la complejidad máxima, y por ende la funcionalidad, un ASIC ha crecido desde 5.000 puertas lógicas a más de 100 millones. Los ASIC modernos a menudo incluyen procesadores de 32-bit, bloques de memoria RAM, ROM, EEPROM y Flash, así como otros tipos de módulos. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip, o SoC, por sus siglas en inglés. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL), tales como Verilog o VHDL, para describir la funcionalidad de estos dispositivos.Las FPGA (Field Programmable Gate Arrays, matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Para los diseños más pequeños o con volúmenes de producción más bajos, las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC, debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular), es muy alto, especialmente en las tecnologías más densas, más de un millón de dólares para una tecnología de 90nm o menor.Las FPGA se asemejan a las matrices de puertas pero son programables por el usuario en lugar de fabricadas a medida para cada aplicación. Aunque su densidad siempre será menor consiguen integrar un gran número de puertas, en el 2008 son asumibles diseños en 65nm con más de 10 millones de puertas, decenas de megabits de RAM e incluso varios procesadores, esto las hace suficientes para la mayoría de aplicaciones. La ley de Moore y el creciente coste de inversión de las tecnologías juega a su favor y hace que su cuota de mercado crezca consistentemente cada año. Ver el artículo dedicado a las FPGAs

Page 12: Tecnologia dsp,, i2c,pld,asic

CharteredIBMLSI LogicMicrochip TechnologySMICTexas InstrumentsTSMCUMCAgere Systems

Algunos fabricantes ofrecen obleas multiproyecto, MPW por sus siglas en inglés, como un método para obtener prototipos de bajo costo. A menudo llamados ""shuttles"", estos MPW, que contienen varios diseños, se fabrican a intervalos regulares, comúnmente con poca responsabilidad por parte del fabricante. El contrato incluye el ensamblaje de un puñado de dispositivos. El servicio incluye el suministro de una base de datos de diseños físicos. El fabricante es a menudo llamado como "fundición de silicio", debido a la poca participación que tienen durante el proceso.