Вы находитесь на странице: 1из 34

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: _____________________________________________________

Periodo: Oct –Mar

Mar – Ago
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

INDICE GENERAL:

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

1.1. Introducción
1.2. Antecedentes.
1.3. Objetivo principal
1.4. Objetivos secundarios.
1.5. Solución del problema.

2. CAPITULO 2 MARCO TEÓRICO

2.1. Generador de señales


2.1.1. Onda senoidal
2.1.2. Onda triangula
2.1.3. Onda cuadrada
2.2. Pic 18f2550
2.3. Puerto USB
2.4. Programa Labview
2.5. Programa Matlab

3. CAPITULO 3 DISEÑO

3.1. GENERADOR DE SEÑALES


3.1.1. Construcción
3.1.2. Diagrama

3.2. PROGRAMA EN LABVIEW


3.2.1. Construcción
3.2.2. Diagrama

3.3. PROGRAMA MATLAB


3.3.1. Construcción
3.3.2. Diagramas.

4. CAPITULO 4
4.1. CONCLUSIONES RECOMENDACIONES
4.2. BIBLIOGRAFIA
4.3. ESQUEMATICOS

2 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

CAPITULO 1

INTRODUCCION

3 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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 USB


A 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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 depende
de 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

CAPITULO 2

MARCO TEORICO

7 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

CAPITULO 3

23 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

GENERADOR DE SEÑALES
Construcción

Diagrama

PROGRAMA EN LABVIEW

Construcción

24 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

25 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

Diagrama

PROGRAMA MATLAB

Construcción

26 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA 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 EDIT


gui_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.

27 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

% hObject handle to figure


% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to Osciloscopio (see VARARGIN)

% Choose default command line output for Osciloscopio


handles.output = hObject;

% Update handles structure


guidata(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 structure


varargout{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

28 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

[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
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);

29 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

plot(f,Tr);
title('Densidad de potencia espectral');
xlabel('Frecuencia (Hz)');
ylabel('Amplitud');

end
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

30 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

Diagramas

31 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

CAPITULO 4

32 Sistemas Microprocesados
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

CONCLUSIONES Y RECOMENDACIONES

 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
UNIVERSIDAD POLITECNICA SALESIANA
INGENIERIA ELECTRONICA

ESQUEMATICOS

Esquema en ARES

Esquema en Proteus

34 Sistemas Microprocesados