45
UNIVERSIDAD POLITECNICA SALESIANA SISTEMAS MICROPROCESADOS INFORME DE: SISTEMAS MICROPROCESADOS Tema: Comunicación del micro procesador para labw y matlab Realizado por: Alumnos: GERARDO CORTEZ ANDRES PACHECO MARIBEL VALDIVIESO ( Espacio Reservado ) Fecha de entrega: _____ / _____ / _____ f. __________________________ año mes día Recibido por: Sanción: _____________________________________________________

Proyecto Final Segundo

Embed Size (px)

Citation preview

Page 1: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANASISTEMAS MICROPROCESADOS

INFORME DE:

SISTEMAS MICROPROCESADOS

Tema: Comunicación del micro procesador para labw y matlab

Realizado por:

Alumnos: GERARDO CORTEZ ANDRES PACHECO MARIBEL VALDIVIESO

( Espacio Reservado )

Fecha de entrega: _____ / _____ / _____ f. __________________________ año mes día Recibido por:

Sanción: _____________________________________________________

Periodo: Oct –Mar

Mar – Ago

Page 2: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

INDICE GENERAL:

1. CAPITULO 1 ANALISIS DE LA PROBLEMÁTICA A RESOLVER.

1.1. Introducción 1.2. Antecedentes.1.3. Objetivo principal1.4. Objetivos secundarios.1.5. Solución del problema.

2. CAPITULO 2 MARCO TEÓRICO

2.1. Generador de señales2.1.1. Onda senoidal2.1.2. Onda triangula2.1.3. Onda cuadrada

2.2. Pic 18f25502.3. Puerto USB2.4. Programa Labview2.5. Programa Matlab

3. CAPITULO 3 DISEÑO

3.1. GENERADOR DE SEÑALES3.1.1. Construcción3.1.2. Diagrama

3.2. PROGRAMA EN LABVIEW3.2.1. Construcción3.2.2. Diagrama

3.3. PROGRAMA MATLAB3.3.1. Construcción3.3.2. Diagramas.

4. CAPITULO 4 4.1. CONCLUSIONES RECOMENDACIONES4.2. BIBLIOGRAFIA4.3. ESQUEMATICOS

2 Sistemas Microprocesados

Page 3: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

CAPITULO 1

INTRODUCCION

3 Sistemas Microprocesados

Page 4: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

La construcción del siguiente proyecto comienza con generar señales sinodales, triangulares y cuadradas, eso se realiza mediante un diseño y posteriormente la quema del la baquelita.

Para la comunicación con Labview y pic tomando como referencia el pic 18F2550 y la comunicación, para ello se manejara Labview como lenguaje grafico de proceso por lo que anexamos documentos de manejo de array, cluster y string también El Programa de LabView utiliza algunas llamadas a funciones DLL. que ellos llaman mpusbapi.dll, que ofrece Microchip. Cuando conecte el pic en el bus USB, pide un controlador, que puede encontrar en la carpeta del controlador MCHPUSB, también proporcionada por Microchip.

Para la comunicación con Matlab y pic se necesita saber algunas librerías que se pueden encontrar en help del mismo programa también es importante el saber desarrollar la comunicación, con sus respectivas direcciones.

ANTECEDENTES

MATLAB ("matrix laboratory") es un software de computación y desarrollo de aplicaciones, diseñado para llevar a cabo proyectos que impliquen cálculos matemáticos de nivel elevado y su representación gráfica. MATLAB integra análisis numérico, cálculo matricial, proceso de señal y visualización gráfica en un entorno tal que los problemas y sus soluciones son expresados del mismo modo en que se escribirían, sin necesidad de hacer uso de la programación tradicional. MATLAB es capaz de manejar librerías y de diferentes dispositivos instalados en la PC.

Para realizar el proyecto debemos tener en claro también como funciona el espectro de frecuencia, la potencia espectral y la densidad de potencia espectral.

LA ARQUITECTURA DEL PUERTO USBA pesar de que el puerto USB nos ofrece más ventajas que sus predecesores, su complejidad para implementarlo es enorme, ya que su funcionamiento está basado en protocolos de software.Sólo puede haber un Host en el bus que maneja a todos los componentes conectados como se indica en la figura 1

Fig. 1 Topología del BUS

4 Sistemas Microprocesados

Page 5: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

El hub es un elemento plug and play en la estructura USB (Figura 2) y es un concentrador al cual, se le pueden agregar más dispositivos USB, incluyendo otro hub. La velocidad de transferencia dependede la velocidad del HUB que se esté utilizando. Ver figura 3. Las velocidades típicas son: 480Mb /s en high speed, 12Mb/s full‐speed y 1.5Mb/s en Low‐speed.

Figura 2 HUB USB Figura3 Múltiple velocidad en un BUS

OBJETIVOS

OBJETIVO GENERAL

Construir y diseñar un programa como software de adquisición de datos ajustada a la necesidad personalizada de casa desarrollo, la comunicación debe ser mediante un PIC a los programas Labview y Matlab además leer señales con diferentes frecuencias y mostrarlas en los mismos programas

OBJETIVOS ESPECIFICOS

Observar la constitución la placa donde realizamos diferentes señales con diferentes frecuencias.

Analizar el cómo se va a realizar las conexiones respectivas para que el proyecto se llegue a desarrollar.

Diseñar un circuito que este a acorde de los requerimientos que se solicita.Desarrollar el programa para poder comunicar el Pic y mostrar los resultados en

los programas

SOLUCION DEL PROBLEMA

5 Sistemas Microprocesados

Page 6: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Para poder solucionar el problema demos primero diseñar y construir una placa para generar señales, (senoidal, triangular y cuadrada) para esto se necesita saber manejar bien los principios de diseño, también en esta placa se puede adjuntar el hardware para la adquisición de datos de los programas Labview y Matlab, mediante el PIC 18F2550

Para el software se necesita también manipular Labviw y Matlab, para realizar la adquisición de datos mediante librerías, sentencias propias de los programas.

En cuanto a las formas de onda y furrier las formulas se encuentran en el help de cada programa.

6 Sistemas Microprocesados

Page 7: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

CAPITULO 2

MARCO TEORICO

7 Sistemas Microprocesados

Page 8: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

GENERADORES DE SEÑALES

El generador de señal es un equipo electrónico auxiliar utilizado para producir señales eléctricas que se usan como estimulo en las pruebas de un determinado equipo o subsistema bajo ensayo. Es una de las piezas clave de cualquier laboratorio de diseño o test de sistemas electrónicos del que sólo se puede prescindir cuando trabajemos con circuitos que trabajen únicamente en dc.Podemos clasificar los generadores de señales en tres grandes grupos: generadores de función, sintetizadores de frecuencia y fuentes digitales de señal. El primero de ellos se utiliza cuando nos interesa generar señales de baja o media frecuencia con formas de onda casi ideales, pudiendo variar los parámetros básicos que caracterizan la señal. Usaremos los sintetizadores de frecuencia si nos interesara generar señales con frecuencias, generalmente altas, muy estables y precisas. En el último de los grupos, las señales se obtienen mediante un proceso de muestreo digital. Cuando necesitaremos señales de forma de onda compleja que se asemejen en lo posible a señales reales emplearemos los generadores arbitrarios. Si nuestro objetivo es generar como estímulos de ensayo datos binarios utilizaremos los llamados generadores de datos.Por lo tanto, la forma de onda de salida y los rangos de frecuencia de los generadores de señal son variables dependiendo del tipo de generador y de la aplicación a la que vayan destinados. En cualquier caso se ha de exigir a los generadores de señal los siguientes requisitos básicos:

La frecuencia de salida ajustable y estable. La amplitud de la salida variable. Impedancia de salida conocida.

Además se deben exigir otros requisitos opcionales que varían según el tipo de generador de señal y que enumeraremos en los apartados correspondientes.

Generadores de función.Los generadores de función, también llamados sintetizadores de función o sintetizadores multifunción, tienen un rango de frecuencia que va desde dc hasta algunos mega hertzios y deben de cumplir, además de los requisitos básicos anteriormente citados, la mayor cantidad posible de los siguientes requisitos opcionales:

Forma de onda seleccionable (sinusoidal, triangular, rectangular). Control del ciclo de trabajo de la señal de salida. Control de nivel dc de offset en la salida. Control externo de la frecuencia de salida (modulación FM, barridos, etc.). Control externo de la amplitud de salida (modulación AM, ráfagas, etc.). Salida con impedancia de salida seleccionable (50, alta impedancia, etc.).

8 Sistemas Microprocesados

Page 9: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Salida auxiliar de nivel lógico (TTL, CMOS; etc.).

Diagrama de bloques de un generador de función.

En la figura se muestra es diagrama de bloques general de un generador de función en el que podemos distinguir como dos elementos básicos que son el oscilador controlado por tensión VCO (Voltage Controlled Oscillator) y los sintetizadores de forma de onda y en especial el de forma sinusoidal que pasaremos a describir de modo pormenorizado.

Figura 4 Diagrama de bloques de un generador de función.

Figura 5 Diagrama de las funciones necesitadas en el proyecto

SEÑAL SENOIDAL

9 Sistemas Microprocesados

Page 10: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Figura 6

También llamada Sinusoidal. Se trata de una señal analógica, puesto que existen infinitos valores entre dos puntos cualesquiera del dominio. Así pues, podemos ver en la imagen que la onda describe una curva continua. De hecho, esta onda es la gráfica de la función matemática seno, que posee los siguientes atributos característicos:

En un triángulo rectángulo, el seno de un ángulo agudo a, que se designa por sen a, es igual a la longitud del cateto opuesto al ángulo dividida por la longitud de la hipotenusa.

El seno de un ángulo cualquiera se asigna mediante la circunferencia goniométrica. Es la ordenada del punto en que el segundo lado del ángulo la corta:

La función y = sen x describe la variación del seno de ángulos medidos en radianes. Es continua y periódica de periodo 2π (Recuérdese que en radianes, π representa 180°). Se denomina función sinusoidal.

El teorema del seno se aplica a los lados y ángulos de un triángulo cualquiera y relaciona cada dos lados con sus ángulos opuestos:

Este tipo de ondas son vistas en la Corriente Alterna, puesto que en ésta, la dirección del flujo eléctrico cambia constantemente en el tiempo, y cada uno de estos cambios es representado en la gráfica por un ciclo, puesto que se considera que la carga va aumentando hasta llegar a su máximo, luego disminuye hasta cero y da paso al siguiente sentido.

Características

10 Sistemas Microprocesados

Page 11: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Una onda senoidal se caracteriza por:

Amplitud: máximo voltaje que puede haber, teniendo en cuenta que la onda no tenga Corriente continua.A0

Período: tiempo en completar un ciclo, medido en segundos. T Frecuencia: es el número de veces que se repite un ciclo en un segundo, se mide en (Hz)

y es la inversa del periodo (f=1/T) Fase: el ángulo de fase inicial en radianes. (ßRd)

Parámetros característicos de una onda senoidal

Si la fórmula es así:

Recuerda que:

ω es la pulsación: 2πf β es la fase inicial. muchas veces este dato no se tiene en cuenta al considerar el sistema

en estado estacionario.

SEÑAL TRIANGULAR

11 Sistemas Microprocesados

Page 12: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

La onda triangular es un tipo de señal periódica que presenta unas velocidades de subida y bajada (Slew Rate) constantes. Lo más habitual es que sea simétrica, es decir que, los tiempos de subida y bajada son iguales.

Propiedades

La onda triangular tiene un contenido en armónicos muy bajo, lo que concuerda con su parecido a una onda senoidal. Tanto matemática como físicamente se puede obtener integrando en el tiempo una onda cuadrada: los niveles constantes alto y bajo de dicha onda se convierten en las pendientes (constantes) de los flancos de subida y bajada de la onda triangular.

Aplicaciones

Las ondas triangulares tienen aplicaciones destacadas, como son:

Generación de señales sinusoidales. Se generan ondas sinusoidales conformando la señal triangular con redes de resistencias y diodos. Es el método habitual para producir sinusoides en los generadores de funciones de baja frecuencia (hasta unos 10 MHz).

Generación de barridos. En los tubos de rayos catódicos, se aplican tensiones triangulares asimétricas (diente de sierra) a las placas deflectoras, en el caso de osciloscopios, o corrientes de la misma forma a las bobinas deflectoras, en el caso de monitores de televisión, patallas de ordenador, etc.

Osciladores. Como la relación entre el tiempo y la amplitud de una onda triangular es lineal, resulta conveniente para realizar osciladores controlados por tensión, comparando su nivel con la tensión de control.

SEÑAL CUADRADA

12 Sistemas Microprocesados

Page 13: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Se conoce por onda cuadrada a la onda de corriente alterna (CA) que alterna su valor entre dos valores extremos sin pasar por los valores intermedios (al contrario de lo que sucede con la onda senoidal y la onda triangular, etc.)

Se usa principalmente para la generación pulsos eléctricos que son usados como señales (1 y 0) que permiten ser manipuladas fácilmente, un circuito electrónico que genera ondas cuadradas se conoce como generador de pulsos, este tipo de circuitos es la base de la electrónica digital

El contenido espectral de una onda cuadrada se compone exclusivamente de armónicos impares (f, 3f, 5f, etc), extendiéndose a frecuencias más elevadas cuanto más abruptos sean sus flancos. Esto tiene dos consecuencias:

La capacidad y autoinductancia parásitas filtran la señal, eliminando las componentes de mayor frecuencia, con lo que la onda cuadrada se degrada, tomando un aspecto cada vez más redondeado.

Por otro lado, señales muy abruptas producen radiación de alta frecuencia, dando problemas de compatibilidad electromagnética y acoplos (diafonía) entre pistas. Por ello ciertas familias lógicas como Q-mos (Quit-mos) controlan la pendiente de los flancos de la señal, evitando que sean demasiado abruptos

PIC 18F2550

Configuración de pines

13 Sistemas Microprocesados

Page 14: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Descripción

Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.

El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).

El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de E/S, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.

En 1985 la división de microelectrónica de General Instrument se separa como compañía independiente que es incorporada como filial (el 14 de diciembre de 1987 cambia el nombre a Microchip Technology y en 1989 es adquirida por un grupo de inversores) y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluidos (módulos de comunicación serie, UARTs, núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en ensamblador, y puede ser 12, 14 o 16 bits, dependiendo de la familia específica de PICmicro).

Arquitectura central

La arquitectura del PIC es sumamente minimalista. Esta caracterizada por las siguientes prestaciones:

Área de código y de datos separadas (Arquitectura Harvard). Un reducido numero de instrucciones de largo fijo. La mayoría de las instrucciones se ejecutan en un solo ciclo de ejecución (4 ciclos de

clock), con ciclos de único retraso en las bifurcaciones y saltos. Un solo acumulador (W), cuyo uso (como operador de origen) es implícito (no esta

especificado en la instrucción). Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de

operaciones matemáticas y otras funciones.1 Una pila de hardware para almacenar instrucciones de regreso de funciones. Una relativamente pequeña cantidad de espacio de datos direccionable (típicamente, 256

bytes), extensible a través de manipulación de bancos de memoria. El espacio de datos esta relacionado con el CPU, puertos, y los registros de los

periféricos.

14 Sistemas Microprocesados

Page 15: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

El contador de programa esta también relacionado dentro del espacio de datos, y es posible escribir en él (permitiendo saltos indirectos).

A diferencian de la mayoría de otros CPU, no hay distinción entre los espacios de memoria y los espacios de registros, ya que la RAM cumple ambas funciones, y esta es normalmente referida como "archivo de registros" o simplemente, registros.

PUERTO USB

USB es una especificación de las empresas Compaq, Intel, Microsoft y NEC, que describe un canal serie que soporta una gran variedad de periféricos de media y baja velocidad, con soporte integral para transferencias en tiempo real (isócronas) como voz, audio y vídeo comprimido, y que permite mezclar dispositivos y aplicaciones isócronas y asíncronas. Por lo tanto, entre los dispositivos USB más característicos se pueden citar teclados, ratones, joysticks, tabletas gráficas, monitores, modems, impresoras, escáneres, CD-ROMs, dispositivos de audio (como micrófonos o altavoces digitales), cámaras digitales y otros dispositivos multimedia.La versión 1.1 (La que soporta el PIC18F2550) establece:

Un acceso al bus gestionado directamente por el Controlador USB, para permitir transferencias isócronas y eliminar los tiempos de arbitración.

Una velocidad de 12 Mbps (Full Speed o FS) y un subcanal de 1,5 Mbps (Low Speed o LS) para los dispositivos más lentos, como ratones y joysticks. La coexistencia en un mismo sistema de dispositivos FS y LS se maneja mediante conmutación automática y dinámica de velocidad entre unas transferencias y otras.

Una conectividad excepcional, ya que puede manejar hasta 127 dispositivos simultáneamente que se pueden conectar y desconectar en caliente, sin tener que reiniciar el sistema.

Una configuración automática de dispositivos, que elimina la necesidad de realizar configuraciones manuales por medio de puentes o conmutadores.

La coexistencia de dispositivos isócronos y asíncronos. Los dispositivos isócronos se atienden en función del ancho de banda y latencia requeridos, y los asíncronos se atienden durante el tiempo restante no consumido por los dispositivos isócronos.

Una distribución de alimentación desde el Controlador USB, que permite la conexión tanto de dispositivos alimentados desde el bus como autoalimentados.

Una arquitectura fácilmente escalable para permitir la existencia de varios Controladores USB en un sistema.

La versión 1.1 es soportada por los siguientes sistemas operativos:

15 Sistemas Microprocesados

Page 16: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Programa Labview

Que es Labview

Labview es un entorno de programación gráfica usado por miles de ingenieros e investigadores

para desarrollar sistemas sofisticados de medida, pruebas y control usando íconos gráficos e

intuitivos y cables que parecen un diagrama de flujo. Labview ofrece una integración

incomparable con miles de dispositivos de hardware y brinda cientos de bibliotecas integradas

para análisis avanzado y visualización de datos. La plataforma Labview es escalable a través de

múltiples objetivos y sistemas operativos, desde su introducción en 1986 se ha vuelto un líder en

la industria.

LabVIEW es una herramienta gráfica para pruebas, control y diseño mediante la programación. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje Gráfico.

Este programa fue creado por National Instruments (1976) para funcionar sobre máquinas MAC, salió al mercado por primera vez en 1986. Ahora está disponible para las plataformas Windows, UNIX, MAC y Linux. La versión actual 8.6, publicada en Agosto de 2008, cuenta también con soporte para Windows Vista.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su origen provenía del control de instrumentos, aunque hoy en dia se ha expandido ampliamente no sólo al control de todo tipo de electrónica (Instrumentación electrónica) sino también a su programación embebida. Un lema tradicional de LabVIEW es: "La potencia está en el Software", que con la aparición de los sistemas multinúcleo se ha hecho aún más patente. Entre sus objetivos están el reducir el tiempo de desarrollo de aplicaciones de todo tipo (no sólo en ámbitos de Pruebas, Control y Diseño) y el permitir la entrada a la informática a profesionales de cualquier otro

16 Sistemas Microprocesados

Page 17: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

campo. LabVIEW consigue combinarse con todo tipo de software y hardware, tanto del propio fabricante -tarjetas de adquisición de datos, PAC, Visión, instrumentos y otro Hardware- como de otros fabricantes.

Principales características

Su principal característica es la facilidad de uso, válido para programadores profesionales como para personas con pocos conocimientos en programación pueden hacer (programas) relativamente complejos, imposibles para ellos de hacer con lenguajes tradicionales. También es muy rápido hacer programas con LabVIEW y cualquier programador, por experimentado que sea, puede beneficiarse de él. Los programas en LabView son llamados instrumentos virtuales (VIs) Para los amantes de lo complejo, con LabVIEW pueden crearse programas de miles de VIs (equivalente a millones de páginas de código texto) para aplicaciones complejas, programas de automatizaciones de decenas de miles de puntos de entradas/salidas, proyectos para combinar nuevos VIs con VIs ya creados, etc. Incluso existen buenas prácticas de programación para optimizar el rendimiento y la calidad de la programación. El labView 7.0 introduce un nuevo tipo de subVI llamado VIs Expreso (Express VIS). Estos son VIs interactivos que tienen una configuración de caja de diálogo que permite al usuario personalizar la funcionalidad del VI Expreso. El VIs estándard son VIs modulares y personalizables mediante cableado y funciones que son elementos fundamentales de operación de LabView.

Presenta facilidades para el manejo de:

Interfaces de comunicaciones:

Puerto serie Puerto paralelo GPIB PXI VXI TCP/IP, UDP, DataSocket Irda Bluetooth USB OPC...

17 Sistemas Microprocesados

Page 18: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Capacidad de interactuar con otros lenguajes y aplicaciones:

DLL: librerías de funciones .NET ActiveX Multisim Matlab/Simulink AutoCAD, SolidWorks, etc

Herramientas gráficas y textuales para el procesado digital de señales. Visualización y manejo de gráficas con datos dinámicos. Adquisición y tratamiento de imágenes. Control de movimiento (combinado incluso con todo lo anterior). Tiempo Real estrictamente hablando. Programación de FPGAs para control o validación. Sincronización entre dispositivos.

Programa en LabVIEW

Como se ha dicho es una herramienta gráfica de programación, esto significa que los programas no se escriben, sino que se dibujan, facilitando su comprensión. Al tener ya pre-diseñados una gran cantidad de bloques, se le facilita al usuario la creación del proyecto, con lo cual en vez de estar una gran cantidad de tiempo en programar un dispositivo/bloque, se le permite invertir mucho menos tiempo y dedicarse un poco más en la interfaz gráfica y la interactuación con el usuario final. Cada VI consta de dos partes diferenciadas:

Panel Frontal: El Panel Frontal es la interfaz con el usuario, la utilizamos para interactuar con el usuario cuando el programa se esta ejecutando. Los usuarios podrán observar los datos del programa actualizados en tiempo real(como van fluyendo los datos, un ejemplo sería una calculadora, donde tu le pones las entradas, y te pone el resultado en la salida). En esta interfaz se definen los controles (los usamos como entradas, pueden ser botones,marcadores etc..) e indicadores (los usamos como salidas, pueden ser gráficas ....).

Diagrama de Bloques: es el programa propiamente dicho, donde se define su funcionalidad, aquí se colocan íconos que realizan una determinada función y se interconectan (el código que controla el programa --. Suele haber una tercera parte icono/conector que son los medios utilizados para conectar un VI con otros VIs.--

18 Sistemas Microprocesados

Page 19: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

En el panel frontal, encontraremos todo tipos de controles o indicadores, donde cada uno de estos elementos tiene asignado en el diagrama de bloques una terminal, es decir el usuario podra diseñar un proyecto en el panel frontal con controles y indicadores, donde estos elementos serán las entradas y salidas que interectuaran con la terminal del VI. Podemos observar en el diagrama de bloques, todos los valores de los controles e idicadores, como van fluyendo entre ellos cuando se esta ejecutando un programa VI.

La Figura muestra un Diagrama de Bloques de un programa en el que se genera un array de 100 elementos aleatorios, a continuación se hace la FFT de este array y se muestra en una gráfica:

Figura

PROGRAMA MATLAB

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X.

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).

Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHL.

Cajas de herramientas y paquetes de bloques

19 Sistemas Microprocesados

Page 20: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Las funcionalidades de Matlab se agrupan en más de 35 cajas de herramientas y paquetes de bloques (para Simulink), clasificadas en las siguientes categorías:[]

MATLAB (Cajas de herramientas) Simulink

Matemáticas y Optimización Modelado de punto fijo

Estadística y Análisis de datos Modelado basado en eventos

Diseño de sistemas de control y análisis

Modelado físico

Procesado de señal y comunicaciones Gráficos de simulación

Procesado de imagen Diseño de sistemas de control y análisis

Pruebas y medidas Procesado de señal y comunicaciones

Biología computacional Generación de código

Modelado y análisis financiero Prototipos de control rápido y SW/HW HIL

Desarrollo de aplicaciones Tarjetas integradas

Informes y conexión a bases de datos Verificación, validación y comprobación

Limitaciones y alternativas

Durante mucho tiempo hubo críticas porque MATLAB es un producto propietario de The Mathworks, ya que los usuarios están sujetos a un vendor lock-in. Recientemente se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la sección de herramientas Application Deployment para utilizar funciones MATLAB como archivos de biblioteca que pueden ser usados con ambientes de construcción de aplicación .NET o Java. Pero la desventaja es que el computador donde la aplicación tiene que ser utilizada necesita MCR(MATLAB Component Runtime) para que los archivos MATLAB funcionen correctamente. MCR puede ser distribuido libremente con archivos de biblioteca generados por el compilador MATLAB.

LabVIEW GNU Octave SAS Scilab Mathcad SciPy & Numerical Python Lenguaje R Álgebra computacional:

20 Sistemas Microprocesados

Page 21: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

ESPECTRO DE FRECUENCIAS

Espectro de frecuencias de la luz emitida por átomos de hierro libres en la región visible del espectro electromagnético.

El espectro de frecuencia de un fenómeno ondulatorio (sonoro, luminoso o electromagnético), superposición de ondas de varias frecuencias, es una medida de la distribución de amplitudes de cada frecuencia. También se llama espectro de frecuencia al gráfico de intensidad frente a frecuencia de una onda particular.

El espectro de frecuencias o descomposición espectral de frecuencias puede aplicarse a cualquier concepto asociado con frecuencia o movimientos ondulatorios como son los colores, las notas musicales, las ondas electromagnéticas de radio o TV e incluso la rotación regular de la tierra.

Análisis espectral

Figura 7 Ejemplo de forma de onda de la voz y su espectro de frecuencia

Figura 8 Una onda triangular representada en el dominio temporal (arriba) y en el dominio frecuencia (abajo). La frecuencia fundamental está en torno a 220 Hz

21 Sistemas Microprocesados

Page 22: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Análisis se refiere a la acción de descomponer algo complejo en partes simples o identificar en ese algo complejo las partes más simples que lo forman. Como se ha visto, hay una base física para modelar la luz, el sonido o las ondas de radio en superposición de diferentes frecuencias. Un proceso que cuantifique las diversas intensidades de cada frecuencia se llama análisis espectral.

Matemáticamente el análisis espectral está relacionado con una herramienta llamada transformada de Fourier o análisis de Fourier. Ese análisis puede llevarse a cabo para pequeños intervalos de tiempo, o menos frecuentemente para intervalos largos, o incluso puede realizarse

el análisis espectral de una función determinista (tal como ). Además la transformada de Fourier de una función no sólo permite hacer una descomposición espectral de los formantes de una onda o señal oscilatoria, sino que con el espectro generado por el análisis de Fourier incluso se puede reconstruir (sintetizar) la función original mediante la transformada inversa. Para poder hacer eso, la transformada no solamente contiene información sobre la intensidad de determinada frecuencia, sino también sobre su fase. Esta información se puede representar como un vector bidimensional o como un número complejo. En las representaciones gráficas, frecuentemente sólo se representa el módulo al cuadrado de ese número, y el gráfico resultante se conoce como espectro de potencia o densidad espectral de potencia.

Es importante recordar que la transformada de Fourier de una onda aleatoria, mejor dicho estocástica, es también aleatoria. Un ejemplo de este tipo de onda es el ruido ambiental. Por tanto para representar una onda de ese tipo se requiere cierto tipo de promediado para representar adecuadamente la distribución frecuencial. Para señales estocásticas digitalizadas de ese tipo se emplea con frecuencia la transformada de Fourier discreta. Cuando el resultado de ese análisis espectral es una línea plana la señal que generó el espectro se denomina ruido blanco.

22 Sistemas Microprocesados

Page 23: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

CAPITULO 3

23 Sistemas Microprocesados

Page 24: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

GENERADOR DE SEÑALES

Construcción

Diagrama

PROGRAMA EN LABVIEW

Construcción

24 Sistemas Microprocesados

Page 25: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

25 Sistemas Microprocesados

Page 26: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

Diagrama

PROGRAMA MATLAB

Construcción

26 Sistemas Microprocesados

Page 27: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

function varargout = Osciloscopio(varargin)% OSCILOSCOPIO M-file for Osciloscopio.fig% OSCILOSCOPIO, by itself, creates a new OSCILOSCOPIO or raises the existing% singleton*.%% H = OSCILOSCOPIO returns the handle to a new OSCILOSCOPIO or the handle to% the existing singleton*.%% OSCILOSCOPIO('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in OSCILOSCOPIO.M with the given input arguments.%% OSCILOSCOPIO('Property','Value',...) creates a new OSCILOSCOPIO or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before Osciloscopio_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to Osciloscopio_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help Osciloscopio % Last Modified by GUIDE v2.5 18-Jan-2010 20:07:59 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Osciloscopio_OpeningFcn, ... 'gui_OutputFcn', @Osciloscopio_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT % --- Executes just before Osciloscopio is made visible.function Osciloscopio_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB

27 Sistemas Microprocesados

Page 28: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to Osciloscopio (see VARARGIN) % Choose default command line output for Osciloscopiohandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes Osciloscopio wait for user response (see UIRESUME)% uiwait(handles.figure1); % --- Outputs from this function are returned to the command line.function varargout = Osciloscopio_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout{1} = handles.output; % --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles) loadlibrary mpusbapi _mpusbapi.h alias libreria % cargar libreria nombre funcion alias nombrenuestro data_in = eye(1,64,'uint8'); A = eye(1,64,'uint8'); B = eye(1,64,'uint8'); C = eye(1,64,'uint8'); D = eye(1,64,'uint8'); E = eye(1,64,'uint8'); F = eye(1,64,'uint8'); G = eye(1,64,'uint8'); H = eye(1,64,'uint8'); vid_pid_norm = libpointer('int8Ptr',[uint8('vid_04d8&pid_000b') 0]); % extraemos vid y pid in_pipe = libpointer('int8Ptr',[uint8('\MCHP_EP1') 0]); % extraemos el canal de comunicacion [conectado] = calllib('libreria','MPUSBGetDeviceCount',vid_pid_norm); if conectado == 1 set(handles.text1,'string','Dispositivo detectado'); set(handles.stop,'string','DETENER'); detener = get(handles.edit1,'value'); while (detener==0) detener = get(handles.edit1,'value'); for i=0:7 [my_in_pipe] = calllib('libreria', 'MPUSBOpen',uint8 (0), vid_pid_norm, in_pipe, uint8 (1), uint8 (0)); % Se abre el tunel de recepción [aa,bb,data_in,dd] = calllib('libreria', 'MPUSBRead',my_in_pipe, data_in, uint8(64), uint8(64), uint8(10)); % Se recibe el dato que envia el PIC switch i

28 Sistemas Microprocesados

Page 29: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

case 0 A = data_in; case 1 B = data_in; case 2 C = data_in; case 3 D = data_in; case 4 E = data_in; case 5 F = data_in; case 6 G = data_in; case 7 H = data_in; end calllib('libreria', 'MPUSBClose', my_in_pipe); end A = data_in; y = [A B C D E F G H]; x = 0:0.0000336:0.0171696; %0.0000336 KTE MUESTREO axes(handles.axes1); plot(x,y); title('Señal de entrada'); xlabel('Tiempo (ms)'); ylabel('Amplitud digital'); axes(handles.axes3); Fs = 1/0.0000336; NFFT = 2^nextpow2(512); Y = fft(y,NFFT)/512; f = Fs/2*linspace(0,1,NFFT/2+1); Tr = 2*abs(Y(1:NFFT/2+1)); plot(f,Tr); title('Espectro de frecuencia'); xlabel('Frecuencia (Hz)'); ylabel('Amplitud'); axes(handles.axes2); Tr = Tr/512; Tr=Tr.^2; plot(f,Tr); title('Potencia espectral'); xlabel('Frecuencia (Hz)'); ylabel('Amplitud'); axes(handles.axes4); Tr = Tr/(1.5*Fs*512); plot(f,Tr); title('Densidad de potencia espectral'); xlabel('Frecuencia (Hz)'); ylabel('Amplitud'); end

29 Sistemas Microprocesados

Page 30: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

set(handles.edit1,'value',0); set(handles.edit1,'string','0'); set(handles.stop,'string','EMPEZAR'); else set(handles.text1,'string','Dispositivo NO detectado'); set(handles.stop,'string','EMPEZAR'); end unloadlibrary libreria function edit1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end% --- Executes on button press in stop.function stop_Callback(hObject, eventdata, handles) if get(handles.edit1,'string') == '1' set(handles.edit1,'value',0); set(handles.edit1,'string','0'); set(handles.stop,'string','DETENER'); else set(handles.edit1,'value',1); set(handles.edit1,'string','1'); set(handles.stop,'string','EMPEZAR'); end % --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end

% --- Executes on button press in togglebutton1.function togglebutton1_Callback(hObject, eventdata, handles)% hObject handle to togglebutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of togglebutton1

Diagramas

30 Sistemas Microprocesados

Page 31: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

31 Sistemas Microprocesados

Page 32: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

CAPITULO 4

CONCLUSIONES Y RECOMENDACIONES

32 Sistemas Microprocesados

Page 33: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

La Calidad de señal (signal purity) afecta a todos los sistemas que, como estos, trabajan en el dominio de la frecuencia y determina la degradación del espectro de la señal de salida respecto del espectro ideal.

El Ruido de fase se determina la modulación de fase de la señal y se suele dar en magnitud logarítmica dB por Hz, y las Señales espúreas son señales no armónicas que ya parecen en la salida que suelen provenir del defecto de filtrado del los escalones entre los diferentes niveles de salida del convertidor digital analógico. También aparecen cuando se selecciona un cambio de frecuencia de salida. Se suele especificar también en magnitud logarítmica.

En la construcción del proyecto se emplearon elementos eficientes y de bajo costo, además la alta calidad alcanzada en el circuito impreso permite minimizar el impacto del ruido eléctrico.

Para el manejo de la comunicación USB implementada en el proyecto, se utilizó el controlador 18F2550, el cual brinda una solución práctica y económica en el manejo de la comunicación USB

Debido a que el protocolo USB ha tenido una muy buena aceptación en el mercado, existe una gran variedad de periféricos para diferentes aplicaciones con bajo costo.

BIBLIOGRAFIA

http://www.microchip.com La página oficial del fabricante PICs y otros componentes electrónicos semiconductores

“Electronic Instrumentation Handbook”, Clyde F. Coombs (Mc Graw Hill). “Fractional-N PLLs”, EBV wireless (Nº2 Marzo 1998). “Integrated LNA and Mixer Basics”, National Semiconductor (nota de aplicación 884).

33 Sistemas Microprocesados

Page 34: Proyecto Final Segundo

UNIVERSIDAD POLITECNICA SALESIANAINGENIERIA ELECTRONICA

ESQUEMATICOS

Esquema en ARES

Esquema en Proteus

34 Sistemas Microprocesados