martes, 7 de diciembre de 2021

Modulos embebidos DSP

 Componentes de un sistema embebido Un  estaría formando por un microprocesador y un software que se ejecute sobre éste. Sin embargo este software necesitará sin duda un lugar donde poder guardarse para luego ser ejecutado por el procesador. Esto podría tomar la forma de memoria RAM o ROM. Todo sistema embebido necesitará una cierta cantidad de memoria, la cual puede incluso encontrarse dentro del mismo chip del procesador. También contará con una serie de salidas y entradas necesarias para comunicarse con el mundo exterior. Debido a que las tareas realizadas por sistemas embebidos son de relativa sencillez, los procesadores comúnmente empleados cuentan con registros de 8 o 16 bits. En su memoria sólo reside el programa destinado a gobernar una aplicación concreta. Sus líneas de entrada/salida (I/O) soportan el conexionado de los sensores y actuadores del dispositivo a controlar y todos los recursos complementarios disponibles tienen como finalidad atender a sus requerimientos. Estas son las únicas características que tienen en común los sistemas embebidos, todo lo demás será totalmente diferente para cada sistema embebido en particular debido a la variedad de aplicaciones disponibles.

Estructura Las principales características de un sistema embebido son el bajo costo y consumo de potencia. Dado que muchos sistemas embebidos son concebidos para ser producidos en miles o millones de unidades, el costo por unidad es un aspecto importante a tener en cuenta en la etapa de diseño. Normalmente, los sistemas embebidos emplean procesadores muy básicos, relativamente lentos y memorias pequeñas para minimizar los costos. La velocidad no solo está dada por la velocidad del reloj del procesador, sino que la totalidad de la arquitectura se simplifica para reducir costos. Usualmente un ES (sistema embebido) utiliza periféricos controlados por interfaces seriales sincrónicas, las cuales son muchas veces más lentas que los periféricos de un PC. Un ES debe afrontar fuertes restricciones de recursos, por tanto normalmente deberá hacer uso de sistemas operativos especiales, denominados de tiempo real (RTOS Real time operating system), tal y como se mencionó en el apartado anterior en las características de un ES. Los sistemas embebidos deberán reaccionar a estímulos provenientes del entorno, respondiendo con fuertes restricciones de tiempo en muchos casos, por lo tanto, un sistema se dice que trabaja en tiempo real si la información después de la adquisición y tratamiento es todavía vigente. Es decir, que en el caso de una información que llega de forma periódica, los tiempos de adquisición y tratamiento deben ser inferiores al período de actualización de dicha información. Los programas en estos sistemas se ejecutan minimizando los tiempos muertos y afrontando fuertes limitaciones de hardware, ya que usualmente no tienen discos duros, ni teclados o monitores, una memoria flash reemplaza los discos

CIRCUITOS DE MUESTREO Y RETENCIÓN

 

 INTRODUCCIÓN Los circuitos de muestreo y retención se utilizan para muestrear una señal analógica en un instante dado y mantener el valor de la muestra durante tanto tiempo como sea necesario. Los instantes de muestreo y el tiempo de retención están determinados por una señal lógica de control, y el intervalo de retención depende de la aplicación a la que se destine el circuito. Por ejemplo, en los filtros digitales las muestras deben ser mantenidas durante el tiempo suficiente para que tenga lugar la conversión de analógica a digital. CIRCUITOS DE MUESTREO Y RETENCIÓN La mayoría de los circuitos de muestreo y retención utilizan un condensador para mantener la tensión de muestra. El interruptor controlado electrónicamente es el medio para cargar rápidamente el condensador hasta la tensión de muestra y luego suprimir la entrada de manera que el condensador pueda retener la tensión deseada. Tal circuito está representado en la Figura 1-1a, en la que V A es la fuente analógica y R g su impedancia interna. Las formas de onda ideales están representadas en la Figura 1b. El interruptor está cerrado mientras la forma de onda lógica de control v c está en nivel alto y, en el supuesto de que la constante de tiempo R g C sea muy pequeña, la tensión de salida seguirá muy estrechamente a la tensión de entrada y será igual a ella en el instante en que el circuito lógico de control esté a nivel bajo, abriendo el interruptor. Durante el intervalo de retención, mientras la señal de control está en nivel bajo, el interruptor está abierto y el condensador C mantendrá el último valor de la entrada. Idealmente la salida se mantendrá constante en ese valor durante todo el intervalo de retención.

Arquitectura de los DSP

 • DSP. Un procesador digital de señal es un dispositivo con capacidad de procesamiento en línea, o en tiempo real, de información que presenta, a la vez, características de microcontrolador y microprocesador. Posee una CPU de gran potencia de cálculo preparada 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. Por tanto, su circuitería interna ha sido optimizada para la implementación de funciones tales como el filtrado, la correlación, el análisis espectral, etc., de una señal digital de entrada al sistema

El procesamiento de señales digitales es una tecnología que podemos clasificar como «dominante» en nuestra sociedad actual. Constituye la base de lo que conocemos como electrónica de consumo, multimedia, telefonía IP, telefonía sin hilo de tipo digital, procesamiento de imágenes (especialmente con fines médicos), y actualmente se empieza a utilizar en automoción y en aplicaciones domésticas (domótica). El procesado de señales digitales en línea o en tiempo real, tal y como lo conocemos hoy día, comenzó realizándose en los años sesenta sobre máquinas VAX y DEC PDP (en 1965 se presenta el PDP-8, que podía colocarse en una mesa de laboratorio, cuando la mayoría de los computadores necesitaban una habitación con aire acondicionado y cuyas últimas versiones incorporan por primera vez estructura de bus). CAD DSP CDA Control del sistema Control digital Entrada analógica Salida analógica En la década de los años setenta aparecieron algunas máquinas de cálculo que usaban chips de lógica discreta en tecnología TTL y que iban acompañados por una unidad aritmética programable de cuatro bits, para realizar las funciones de procesamiento de los datos en tiempo real. Estos primeros sistemas eran lentos y muy voluminosos. El primer multiplicador integrado en un chip lo comercializa en 1973 la compañía TRW, aunque a un excesivo coste. Posteriormente, en 1978, AMI anuncia el primer circuito integrado diseñado específicamente para el procesado de señales en tiempo real, el S2811, con capacidad para procesar datos de 12 bits. Este dispositivo no llegó a alcanzar niveles importantes de venta en su comercialización. En 1979, Intel introduce el Intel 2920, al que denominó «chip procesador analógico de señales», dado que disponía de periféricos de conversión analógico-digital y digital-analógico (después de todo, se trataba de un dispositivo capaz de procesar digitalmente señales analógicas). El Intel 2920 no disponía de multiplicador interno y era extremadamente lento en la realización de cualquier operación aritmética (ciclo máquina de 600 ns) para hacerlo útil en el procesamiento de señales de audio (el ámbito de aplicación que inicialmente estaba reservado a los DSP). El primer DSP, con una unidad multiplicadora y otra acumuladora (MAC) integradas en el chip, lo comercializa a principios de 1980 NEC (el µPD7720). Tenía un ciclo máquina de 122 ns, operando su unidad MAC en dos ciclos máquina. Se trató del primer dispositivo comercial útil en el procesamiento de señales de audio y con aplicación en el espectro audible (hasta unos 20 kHz). Ese mismo año, Ed Cordell diseñó para Texas Instruments el boceto de lo que sería la primera arquitectura de DSP fabricada por la compañía. Dicha arquitectura fue posteriormente optimizada por Surendar Magar, para favorecer la ejecución de los algoritmos de procesamiento de la señal conocidos en la fecha. Así, en abril de 1982 se lanza comercialmente 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 y se complica el diseño del chip, hasta llegar a los potentes sistemas de 60 Procesadores digitales de señal de altas prestaciones de Texas InstrumentsTM hoy en día, optimizados en el hardware para el procesado de la señal. El desarrollo inicial de los DSP por parte de Texas Instruments se puede considerar casi como un trabajo visionario, dado que la rentabilidad de estos dispositivos no aparece hasta la década de los años noventa. Hoy en día, los DSP suponen un negocio anual para Texas Instruments que supera los 5.000 millones de dólares estadounidenses (sin contar los 10.000 millones de dólares que implica la venta de periféricos específicamente diseñados para ellos).

lunes, 6 de diciembre de 2021

Protocolo de comunicación SPI

 

El SPI permite la comunicación dúplex entre un dispositivo AVR y los dispositivos periféricos o entre varios microcontroladores. El periférico del SPI puede configurarse como maestro o secundario, que permite la comunicación entre microcontroladores.

Sensores basados en SPI

En complemento a la gran cantidad de microprocesadores y microcontroladores que incorporan SPI, se presenta una amplia variedad de sensores que ofrecen datos digitales a través de SPI. Por ejemplo, el sensor de temperatura digital TC77-3.3MCTTR de Microchip Technology es un sensor de temperatura digital de acceso serial previsto para aplicaciones de bajo costo y factor de forma pequeño. El TC77 cubre un rango de temperatura de -55 °C a +125 °C. Funciona con un suministro de 2,7 voltios a 5,5 voltios, emite 250 microamperios (µA) durante su funcionamiento y tiene un modo de apagado de baja energía disponible que emite 1 µA.

En una aplicación típica, el sensor de temperatura se conecta al procesador a través de una conexión SPI estándar. Sus datos de temperatura tiene el siguiente formato: una palabra digital de 13 bits

sábado, 4 de diciembre de 2021

Protocolo de Comunicación RS232

 

La interfaz RS232 o TIA/EIA-232 es un protocolo de transferencia de datos diseñado para controlar la comunicación serie. Se utiliza para organizar los datos que fluyen desde un equipo terminal de datos (DTE), como un terminal o transmisor, a un receptor u otro tipo de equipo de comunicaciones de datos (DCE).

La distancia entre los dispositivos afecta directamente la velocidad de comunicación. La comunicación serie se puede establecer en modo dúplex completo o semidúplex. El dúplex completo permite que los datos se envíen y reciban simultáneamente usando diferentes hilos para la transmisión y recepción. En una implementación semidúplex, se utiliza una sola línea para transmitir y recibir los datos, lo que resulta en una operación más limitada. El semidúplex se puede configurar para transmitir o recibir datos, pero no ambos al mismo tiempo.

MUESTREO

 Muestreo Definimos muestreo como la cantidad de veces que medimos el valor de la señal en un periodo de tiempo (usualmente en 1 segundo). Según el teorema de Nyquist-Shannon la cantidad de veces que debemos medir una señal para no perder información debe de ser al menos el doble de la frecuencia máxima que alcanza dicha señal. En otras palabras, si deseamos grabar una conversación telefónica, como el ancho de banda de la red telefónica es de 3khz, para no perder información deberemos tomar del orden de 6.000 muestras/segundo. Señal original

Conversión analógica-digital La conversión analógica-digital (CAD) consiste en la transcripción de señales analógicas en señales digitales, con el propósito de facilitar su procesamiento (codificación, compresión, etc.) y hacer la señal resultante (la digital) más inmune al ruido y otras interferencias a las que son más sensibles las señales analógicas. Procesos de la conversión A/D.  Comparación de las señales analógica y digital Una señal analógica es aquella cuya amplitud (típicamente tensión de una señal que proviene de un transductor y amplificador) puede tomar en principio cualquier valor, esto es, su nivel en cualquier muestra no está limitado a un conjunto finito de niveles predefinidos como es el caso de las señales cuantificadas. Esto no quiere decir que se traten, en la práctica de señales de infinita precisión (un error muy extendido): las señales analógicas reales tienen todas un ruido que se traduce en un intervalo de incertidumbre. Esto quiere decir que obtenida una muestra de una señal analógica en un instante determinado, es imposible determinar cuál es el valor exacto de la muestra dentro de un intervalo de incertidumbre que introduce el ruido. Por ejemplo, se mide 4,3576497 V pero el nivel de esa muestra de la señal de interés puede estar comprendida entre 4,35 V y 4,36 V y no es físicamente posible determinar ésta con total precisión debido a la naturaleza estocástica del ruido. Sólo el más puro azar determina qué valores se miden dentro de ese rango de incertidumbre que impone el ruido. Y no existe (ni puede existir) ningún soporte analógico sin un nivel mínimo de ruido, es decir, de infinita precisión. Por otro lado, si se pudiera registrar con precisión infinita una señal analógica significaría, de acuerdo con la Teoría de la Información, que ese medio serviría para registrar infinita información; algo totalmente contrario a las leyes físicas fundamentales de nuestro universo y su relación con la entropía de Shannon. En cambio, una señal digital es aquella cuyas dimensiones (tiempo y amplitud) no son continuas sino discretas, lo que significa que la señal necesariamente ha de tomar unos determinados valores fijos predeterminados en momentos también discretos. Las señales analógicas no se diferencian, por tanto, de las señales digitales en su precisión (precisión que es finita tanto en las analógicas como en las digitales) o en la fidelidad de sus formas de onda (distorsión). Con frecuencia es más fácil obtener precisión y preservar la forma de onda de la señal analógica original (dentro de los límites de precisión impuestos por el ruido que tiene antes de su conversión) en las señales digitales que en aquéllas que provienen de soportes analógicos, caracterizados típicamente por relaciones señal a ruido bajas en comparación.

http://serbal.pntic.mec.es/srug0007/archivos/radiocomunicaciones/3%20SE%D1ALES%20DIGITALES/Muestreo%20digital.pdf


viernes, 3 de diciembre de 2021

DSP

 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.

Programación

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 de un filtro con script m compatible con LabVIEW MathScript y con Matlab

En el siguiente 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;

Aplicaciones

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 wireless LAN, 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.


Funcionamiento

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:

Ejemplo de un filtrado antialiasing.

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.


https://es.wikipedia.org/wiki/Procesador_de_se%C3%B1ales_digitales

Modulos embebidos DSP

  Componentes de un sistema embebido Un  estaría formando por un microprocesador y un software que se ejecute sobre éste. Sin embargo este...