universidad autonoma metropolitana …148.206.53.84/tesiuami/uam0115.pdf1.5 seÑales continuas en...

45
UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA DIVISION: CIENCIAS BASCAS E INGENIERIA PROYECTO TERMINAL II DESARROLLO DE UNSISTEMA PROCESADOR DIGITAL DE SEÑALES ALUMNO MANUEL D I M FLORES MATRICULA 87330589 MEXICO D F., JULIO DE 1993.

Upload: tranbao

Post on 26-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD IZTAPALAPA

DIVISION: CIENCIAS BASCAS E INGENIERIA

PROYECTO TERMINAL I I

DESARROLLO DE UN SISTEMA

PROCESADOR DIGITAL DE SEÑALES

ALUMNO MANUEL D I M FLORES

MATRICULA 87330589

MEXICO D F., JULIO DE 1993.

CONTENIDO

INTRODUCCION

CAPITULO 1

TEORIA DE SEÑALES

1.1 CLASlFlCAClON DE SEÑALES

1.2 SEÑALES DE ENERGIA Y SEÑALES DE POTENCIA.

1.3 SEÑALES PERIODICAS Y NO-PERIODICAS.

1.4 SEÑALES MULTICANAL Y MULTIDIMENSIONALES

1.5 SEÑALES CONTINUAS EN TIEMPO Y SEÑALES DISCRETAS

EN TIEMPO

I .6 SEÑALES ANALOGICAS Y SEÑALES DIGITALES

CAPITULO 2

INTRODUCCION AL ANALISIS DE FOURIER.

2.1 SERIES DE FOURIER.

2.2 LA SERIE DE FOURIER EN SU FORMA EXPONENCIAL

2.3 LA SERIE DE FOURIER EN SU FORMA EXPONENCIAL.

2.4 TRANSFORMADA DISCRETA DE FOURIER.

2.5 TRANSFORMADA DISCRETA DE FOUIRER INVERSA.

2.6 TRANSFORMADA RAPIDA DE FOURIER

2.7 TEOREMA DE MUESTRE0

2.8 RECUPERACION DE UNA SEÑAL A PARTIR DE SUS

MUESTRAS

CAPITULO 3

TECNICAS DE CONVERSION DE SEÑALES

3.1 CONVERTIDOR ANALOGICO-DIGITAL

3.1.1 CONVERTIDOR TIPO CONTADOR

3.1.2 CONVERTIDOR DE APROXIMACIONES SUCESIVAS

3.2 CONVERTIDOR DIGITAL-ANALOGICO.

3.2.1 CONVERTIDOR D/A TIPO ESCALERA

CAPITULO 4

LA MCU MC68HC11 EVBU

4.1 DESCRIPCION GENERAL DE SEÑALES

4.2 MODO DE OPERACION

4.3 COMUNICACION SERIE

4.4 CONVERTIDOR AD

4.5 CONJUNTO DE INSTRUCCIONES Y SISTEMA DE

DIRECCIONAMIENTO

CAPITULO 5

DESCRIPCION DEL SOFTWARE DESARROLLADO

5.1 EL PROGRAMA CONVER

5.2 EL PROGRAMA ALBERGBG

5.3 EL PROGRAMA FFT

5.4 EL PROGRAMA

EPITOME El objetivo de este trabajo es aplicar los conceptos del Procesamiento Digital de Señales

a través de un sistema básico basado en un Microcontrolador y una computadora de propósito

general. El microcontrolador nos permitirá convertir una señal analógica en digital, almacenando

temporalmente las muestras tomadas y transmitirlas a través del puerto sene a una PC; en esta

última se procesa la información y nosotros podremos observar gráficamente las muestras de la

señal en el tiempo y su respectivo espectro en frecuencia.

INTRODUCCION ~

En la actualidad una de las herramientas con que cuentan los ingenieros

que quieran trabajar con el procesamiento de señales es la teoría

matemaica de Fourier, ya que ésta les permite interpretar las características

sobresalientes de las señales y de los sistemas de comunicacidn de manera

rápida y eficiente.

El uso de técnicas digitales para diferentes aplicaciones del procesamiento

de señales se ha visto enormemente incrementado en los últimos años y es

de esperarse que siga aumentando en los años de un futuro inmediato.

Los sistemas que anteriormente consistían solamente de sistemas

analógicos, tienen ahora incorporados circuitos digitales para hacer muchas

de las funciones requeridas.

En años recientes se ha incrementado en gran medida el uso de

cornputadoras digitales y de circuitería de propósito especial, corno los DSP

(Digital Signal Processing) para realizar diversas funciones.

La evolución de los circuitos integrados ha permitido el diseño de

microcomponentes que realizan funciones a menor costo y tamaño que los

sistemas inicialmente analógicos. Una herramienta que proponemos para

iniciar el procesamiento digital de una señal es el microcontrolador.

ELEMENTOS TEORICOS

El sistema mediante el cual se puede procesar una señal analógica por un dispositivo digital se ilustra en la figura anterior. El procesamiento se realiza

de la siguiente manera:

Inicia con un filtrado que permite limitar el ancho de banda de la

señal.

Posteriormente la señal es leída a intervalos de T segundos por

un muestreador. Esas muestras son cuantizadas, la cuantización es

el proceso de representar una variable por un conjunto de valores

discretos.

Después la señal es procesada por un tipo de unidad apropiada

para la aplicación requerida, esta unidad puede ser una

computadora de propósito general o una unidad especialmente

una combinación de circuitos digitales capaz de realizar

operaciones aritméticas como suma, resta, multiplicación, etc. ,

operaciones lógicas y capacidad de almacenamiento.

0 A la salida de este procesador la señal digital es convertida

nuevamente en analógica a través de un convertidor D/A. En este

paso los números binarios son convertidos sucesivamente en

pulsos continuos en tiempo.

Una pregunta fundamental es que si no se pierde información al realizar el

proceso de muestreo y cuantización. Esto es determinado por el ancho de

banda de la señal y la velocidad de muestreo. Teóricamente a través del

Teorema de Muestre0 se puede demostrar que es necesario que la

velocidad de muestreo sea al menos dos veces el valor de la frecuencia

máxima que limita a la señal a través del filtro de entrada (pasa-bajas).

Con respecto a la cuantización tenemos que existe un error de aproximación

llamado Ruido de cuantización. Este ruido puede ser tan pequeño como uno

lo desee haciendo que el número de bits que defina a la muestra sea muy

grande, es claro que existe un número máximo práctico en el número de bits.

Dos herramientas importantes en el procesamiento digital de señales son los

Filtros Digitales y la Transformada Discreta de Fourier.

El diseño de filtros analógicos es realizado a través de estructuras de

inductores, capacitores y resistores, mientras que en los filtros digitales los

elementos que se emplean son sumadores, multiplicadores por constantes y

retardos como se observa en la figura.

La Transformada Discreta de Fourier está basada en la técnica de análisis

espectral que emplea transformaciones y series de Fourier, esto último tiene

una importante área de aplicación en el procesamiento de señales continuas

en tiempo. En 1965 Cooley & Tukey desarrollaron algoritmos para realizar

más rápidamente el cálculo de la aproximación de espectros, abriendo un

camino para nuevas y variadas aplicaciones para análisis espectral.

Existen muchas disciplinas que utilizan el análisis espectral y que de una u

otra forma con el FFT (siglas en inglés de transformada rápida de Fourier de

Fast Fourier Trasnsform) han abierto nuevos potenciales de aplicación. A

través de esto se realiza análisis de señales de comunicación, solución de

problemas de calor y electricidad, análisis estadístico, análisis de ondas

oceanográficas, espectroscopia y vibraciones entre otros. Hay procesadores

especiales disponibles de la FFT que permiten el procesamiento en tiempo-

real en muchas aplicaciones.

Además existen muchas librerías disponibles en programas y algoritmos de

la FFT para microcomputadoras.

TEORIA DE SEÑALES

1.1 CLASlFlCAClON DE SEÑALES

Los métodos que vamos a utilizar en el procesamiento de una señal o en el

análisis de la respuesta de un sistema a una señal dependen fuertemente de

los atributos característicos de la señal especifica. Existen técnicas de

procesamiento para cada conjunto particular de señales .

En consecuencia, al iniciar una investigación relacionada con el

Procesamiento Digital de Señales, es conveniente hacer una clasificación de

las señales y apuntar a qué tipo de señales se va a enfocar nuestra

investigación. Así pues, tenemos que las señales de acuerdo a sus

características se pueden clasificar como:

l . -Señales de Energía y Señales de Potencia.

2. - Señales Periódicas y señales No-Periódicas.

3. - Señales Multicanal y Señales Multidimensionales.

4. - Señales Continuas en Tiempo y Señales Discretas en Tiempo.

5. - Señales Aleatorias y Señales Deterministicas.

En los siguientes apartados nos dedicamos a explicar cada una de estas

clasificaciones.

1 .I .I SEÑALES DE ENERGIA Y SEÑALES DE POTENCIA.

Una señal de energía es una señal en forma de pulso que normalmente

existe durante un intervalo finito de tiempo, o en el caso de que se presente

por un lapso infinito tiene a menos, la mayor parte de su energía

concentrada en un intervalo finito de tiempo.

Para los sistemas eléctricos, una señal es un voltaje o una corriente. La

potencia instantánea disipada por un voltaje e(t) en una resistencia R es :

p = l e ( t ) l 2 / R 1.1.1

y por una corriente i (t) es :

p = I i (t) 12 * R 1.1.2

En cada caso, la potencia instantánea es proporcional a la magnitud de la

señal al cuadrado. Para una resistencia de 1 .O ohm, estas ecuaciones toman

la misma forma, por lo que es usual, en el análisis de señales, referirse a la

potencia instantánea asociada con una señal dada f(t) como:

p = l f ( t ) l 2 watts I .I .3

Aunque la ecuación 1 .I .3 parezca dimensionalmente incorrecta, la

convención implica la multiplicación o división por una resistencia adecuada.

De acuerdo con esta convención, la energía disipada por la señal durante un

intervalo de tiempo (tl ,U) es :

t2

E = I f(t) I dt Joules 1.1.1.4

t l

Se define como una señal de energía aquella para la cual la ecuación 1.1 .'I .4

es finita, aún cuando el intervalo de tiempo sea finito, esto .es, cuando :

O 0

If(t) 12dt Joules 1.1.1.5

t l

Si el intervalo de la derecha de la ecuación se mantiene finito pero no cero, la

señal f(t) tiene potencia media finita y se llama señal de potencia.

1 .I .2 SEÑALES PERIODICAS Y NO-PERIODICAS.

Una señal periódica es la que se repite exactamente a sí misma después de

un lapso fijo. Por lo tanto la señal f(t) es periódica si existe un número T tal

que :

f (t + T ) = f (t) para cualquier t 1 .I .2.1

Donde T es un número positivo al que se,le denomina periodo de la señal y

que define la duración de un ciclo completo de f(t). Una señal periódica es

una señal de potencia si su energía por ciclo es finita, y en tal caso, la

potencia media sólo necesita calcularse en un ciclo completo.

Cualquier señal para la que no pueda encontrase un valor de T para que

pueda cumplirse con la ecuación 1 .I .2.1 , se dice que es no-periódica o

aperiódica.

1 .I .3 SEÑALES MULTICANAL Y MULTIDIMENSIONALES

Una señal está descrita por una función de una o más variables

independientes. Los valores de la función puede ser una cantidad escalar de

valor real, una cantidad de valor complejo o quizás un vector. Por ejemplo la

señal :

SI (t) = A sen 37t 1.1.4.1

es una señal de valor real. Sin embargo, la señal :

s2(t) = A exp (j37t) = A cos (37t) + jA sen (3qt) 1 .I .4.2

tiene un valor complejo.

En algunas aplicaciones las señales son generadas por múltiples fuentes o

múltiples sensores. Tales señales, se pueden representar en forma vectorial.

Por ejemplo, considerando un dispositivo como el M68HC1 IEVBU que

cuenta con un convertidor AnalógicolDigital de cuatro canales podemos

considerar que el contenido de todos los canales en un memento dado puede

ser representado mediante un vector como sigue:

Donde el vector de señales puede ser definido como una señal Multicanal.

1 .I .3 Señales aleatorias y Deterministicas.

Una señal aleatoria es aquella en la que existe un cierto grado de

incertidumbre antes de que se presente, es decir, los valores futuros de la

señal pueden no ser predecibles aún después de la observación de valores

anteriores.

Para el caso de las señales deterministicas son predecibles en base a la

observación de valores anteriores. Por lo que podemos representarlas

mediante modelos matemáticos.

1 .I .4 Señales multicanal y multidimensionales

Una señal está descrita por una función de una o más variables

independientes. Los valores de la función puede ser una cantidad escalar de

valor real, una cantidad de valor complejo o quizás un vector. Por ejemplo la

señal :

SI (t) = A sen 31t 1.1.4.1

es una señal de valor real. Sin embargo, la señal :

s2(t) = A exp (j3fit) = A cos (31t) f jA sen (37t) 1.1.4.2

tiene un valor complejo.

En algunas aplicaciones las señales son generadas por múltiples fuentes o

múltiples sensores. Tales señales, se pueden representar en forma vectorial.

Por ejemplo, considerando un dispositivo como el M68HC1 IEVBU que

cuenta con un convertidor Analógico/Digital de cuatro canales podemos

considerar que el contenido de todos los canales en un memento dado puede

ser representado mediante un vector como sigue:

Donde el vector de señales puede ser definido como una señal multicanal.

1.1.5 SEÑALES CONTINUAS EN TIEMPO Y SEÑALES DISCRETAS EN

TIEMPO

Las señales se pueden clasificar en cuatro diferentes categorías

dependiendo de las características de la variable independiente (tiempo) y

los valores que pueda tomar la variable dependiente.

Las señales continuas en el tiempo o señales analógicas están definidas en

cada valor de tiempo y toman valores en el intervalo continuo (a,b) donde a

puede ser -Oo y b puede ser +O0 . Matemáticamente, estas señales se pueden

describir por funciones de una variable continua. Las formas de onda de una

señal de voz y las señales sinuosidades son ejemplos de señales

analógicas.

Las señales discretas en el tiempo están definidas solamente para valores

muy específicos en el eje de la variable independiente (tiempo). Estos

instantes de tiempo pueden o no ser equidistantes aunque en la práctica se

acostumbra tenerlos igualmente espaciados por conveniencias matemáticas

y de cálculo. La señal X(tn) = exp (-1 tn I ) , n = * I , &2,* 3..., nos da un ejemplo

de señal discreta en el tiempo. Si utilizamos el índice n de los instqntes

discretos en el tiempo como la variable independiente, el valor de la setíel se

convierte en una función de una variable entera. Entonces, una señal discreta

en el tiempo se pwde representar matemáticamente por una secuencia de

números reales o complejos.

1.2 INTRODUCCION AL ANALISIS DE FOURIER.

El análisis en frecuencia de una señal comprende la visualización de la

misma a través de sus componentes en frecuencia, estos componentes son

señales senoidales de diferentes magnitudes. La recombinacion de los

componentes senoidales para la reconstrucción de la señal original es

básicamente un problema de síntesis de Fourier. El espectro de una señal

nos proporciona una "identificación" de ella que ninguna otra señal tendrá.

La principal motivación para el desarrollo de herramientas de análisis en

frecuencia lo es la obtención de representaciones matemáticas y gráficas de

las componentes de frecuencia que se encuentran en una señal dada. El término espectro es usado cuando nos referimos al conjunto de componentes

en frecuencia de una señal.

1.2.1 SERIES DE FOURIER.

Una función periódica v(t) con un periodo fundamental To puede ser

representada como una suma infinita de ondas sinuosidades. Esta sumatoria

llamada serie de Fourier puede ser escrita en vanas formas. Una de estas

formas es la siguiente:

v(t) = Ao + C Am cos 27ntrro + C Bn sen 27ntlTo 1.2.1 .I

La constante Ao es el valor promedio de v(t) y esta dada por:

Ao = 1/To C v(t) dt 1.2.1.2

mientras que los coeficientes An y Bn están dados por:

An = 2/ro C v(t) * cos 2qnt / To dt 1.2.1.3

Bn = 2/To C v(t) * sen 27nt / To dt I .2.1.4

La Sene de Fourier de una función periódica es vista corno una surnatoria de

armónicos de una frecuencia fundamental fo = ITTO.

1.2.2 LA SERIE DE FOURIER EN SU FORMA EXPONENCIAL

La forma exponencial de la Sene de Fourier encuentra extensa aplicación en

la teoría de comunicación. Esta forma está dada por :

v(t) = C Vn * exp (i 2 7 n n o ) 1.2.2.1

donde Vn está dada por:

Vn = 1Ko C v(t) exp ( -j27 n n o ) dt 1.2.2.2

Los coeficientes Vn tienen la propiedad de que Vn y V-n son complejos

conjugados, esto es Vn = V*-n . Los Vn's son las amplitudes espectrales de

las componentes espectrales Vnexp (i2Tnfot).

1.2.3 LA SERIE DE FOURIER EN SU FORMA EXPONENCIAL.

La forma exponencial de la Serie de Fourier tiene una extensa aplicación en

la teoría de comunicaciones. Esta forma esta dada por:

v(t) = C Vnexp(jantrro) 1.2.3.1

donde Vn esta dado por:

Vn = 1/To C v(t) exp ( -j27nVTo) dt

los coeficientes Vn tienen la propiedad de que Vn y V-n son complejos

conjugados, es decir, Vn = W n .

Los Vn' son las amplitudes espectrales de los componentes espectrales

Vnexp(janfot).

1.2.4 TRANSFORMADA DISCRETA DE FOURIER.

La Transformada Discreta de Fourier DFT de sus siglas en ingles (Discret

Fourier Transform) es ampliamente usada en el procesamiento de señales

para el análisis de las señales discretas en tiempo. La evaluación mediante

algoritmos de la DFT, aunque es posible mediante procesadores digitales,

requiere multiplicaciones complejas del orden del cuadrado del número de

muestras procesadas. Por ejemplo una DFT de 1000 muestras podría

requerir un millón de multiplicaciones complejas para obtener mil números

complejos de salida.

La Transformada Discreta de Fourier de una señal discreta en tiempo x(n)

esta definida como:

X(k) = 1/N C x(n) WNnk k = 0,l ,2...,N-l 1.2.4.1

donde WNnk = exp (-jZqnk/N)

constituye la base de las funciones complejas básicas o factores principales

de la DFT. Los factores principales son periódicos y definen puntos en el

circulo unitario del plano complejo. Los factores principales se encuentran

igualmente espaciados a lo largo del circulo y con incrementos de frecuencia

de F/n, donde F es la relación de la señal de entrada. Por lo tanto, el número

de nuestras que definen el espectro de X (k), están dadas en el eje de

frecuencias por:

fk = k F/N , k = 0,I ,Z..,N-l 1.2.4.2

La resolución de frecuencia de la DFT es igual al incremento de frecuencia

F/N. La respuesta en frecuencia de la salida de cualquier DFT se determina

1.2.5 TRANSFORMADA DISCRETA DE FOUIRER INVERSA.

Dados los valores en frecuencia X(k), la Transformada Discreta de Fourier

Inversa (IDFT) nos da una secuencia en tiempo como sigue:

x(n) = C X(k) WN-nk 1.2.5.1

El desarrollo de esta relación es fácilmente obtenido sustituyendo la ecuación

1.2.4.1 en la 1.2.5.1 y evaluando la expresión :

La forma de la ecuación para la IDFT es idéntica a la DFT con la excepción

del factor nonnalizante I /N y el signo de la exponente de los factores

principales. Esta es una importante observación que nos proporciona un

método para obtener la IDFT sin cambios en el algoritmo de la DFT. LA

ecuación 1.2.4.1 es llamada la transformada discreta de Fourier o

Transformada de Análisis y la ecuación 1.2.5.1 es referida como la

Transformada Discreta de Fourier Inversa o transformada de Síntesis. Es de

interés notar que la DFT es igual a la transformada Z de una frecuencia, x(n),

evaluada en entradas igualmente espaciadas del círculo unitario en el plano

Z.

1.2.6 TRANSFORMADA RAPIDA DE FOURIER

La transformada Rápida de Fourier (FFT de sus siglas en ingles Fast

Fouriere Transform) es un algoritmo muy eficiente para obtener la

transformada discreta de Fourier de una secuencia. Esta aprovecha el hecho

de que muchas operaciones son repetidas al realizar una DFT, como

consecuencia de su naturaleza periódica, en base a la ecuación 1.2.4.1 sea

Wnk = exp (-j 2lTnk/N) 1.2.6.1

podemos reescribir la ecuación de la siguiente forma :

X(k) = C x(n) Wnk 1.2.6.2

asumiendo que W(N+qN)(k+rN)=Wnk

para toda q. Posteriormente dividimos la DFT en dos partes:

X(k) = C x(2n) W2nkN + C x(2n+l) W(2n+l)kN 1.2.6.3

donde el subíndice n en el factor principal representa la longitud de la

secuencia. Si representamos los elementos pares de la secuencia x(n) por el

xev y los elementos impares como xod, podemos reescribir la ecuación de la

siguiente forma:

X(k) = C Xev (n) WnkN12 + Wnk C Xod (n) WnkN/2 1.2.6.4

Ahora tenemos ds expresiones de la DFT, así que escribiremos:

X(k) = Xev (k) + WkN/2 Xod(k) 1.2.6.5

Debemos de notar que solamente las DFTs de N sobre 2 puntos necesitan

ser calculados para obtener el valor de X(k). Debido a que el indice k debe

estar en N-I , la propiedad periódica de las DFTs pares e impares puede ser

usada. En otras palabras :

Xev (k) = Xev (k-N/2) para N/2 e= k <= N-I 1.2.6.6

El proceso de dividir el resultado de la DFT en pares e impares puede ser

repetido hasta que uno cuenta con solo dos puntos de DFT a evaluar.

A (k) = a(0) + a(1) exp (-2jqW2) para toda K

= a(0) + a(1) para k par

= a(0) - a(?) para k impar 1.2.6.7

Así, para dos puntos de la DFT no se requiere multiplicación, solamente

sumas y restas. La evaluación de la DFT completa aún requiere

multiplicación de las DFTs individuales por factores apropiados de W cuyo

rango es de WN/2-1 .En la siguiente figura se muestra el diagrama de flujo

de una FFT de 16 puntos.

Las aplicaciones del análisis espectral generalmente requieren DFTs en

tiempo real. La obtención de la DFT para N muestras de entrada requiere N2

multiplicaciones complejas y N2-N sumas complejas para N puntos de

salida. Esto asume que todos los coeficientes de los factores principales

requieren multiplicaciones complejas, incluso aquellos que tienen partes

reales e imaginarias iguales a 1 o a O. En adición a sumas y restas debemos

de proveer capacidad de almacenamiento para los datos. También los

factores principales deben de ser ya sea procesados o almacenados para su

uso en la computación.

La FFT es un rápido algoritmo para la implementación eficiente de la DFT

donde el número de muestras en tiempo de la señal de salida N son

transformados en N puntos de frecuencia. Los requerimientos de la FFT son

expresados de la siguiente manera :

O multiplicaciones por segundo (FFT) = F/2 log2 N

O sumas por segundo (FFT) = F log2 N

1.2.7 TEOREMA DE MUESTRE0

El teorema de muestreo establece los siguiente: Si una señal está limitada en

banda hasta un valor de B Hz, (es decir, una señal cuya transformada de

Fourier es igual a cero para toda Iwl > 27B ) queda determinada

unívocamente por sus valores a intervalos uniformes con separación menor

que 1/2B segundos.

Si tenemos una señal analógica y sabemos el valor máximo de sus

componentes espectrales en frecuencia, es decir, que la tenemos limitada en

banda podemos reproducirla tomando muestras a una velocidad mayor que

el doble de su máxima componente espectral, con esto obtenemos una señal

que es discreta en tiempo pero que no es una señal digital por que la variable

dependiente puede estar tomando cualquier valor.

Para demostrar el Teorema de muestreo, se considera una señal g(t) limitada

en banda a B. La multiplicación de g(t) por un tren de impulsos unitario

produce la señal muestreada gs(t):

gs (t) = g(t) * C d(t-nTs) 1.2.7.1

Utilizando la sene de Fourier para el tren de impulsos, se tiene :

gs(t) = Ins g(t) C exp (jnwst)

= I n s C g(t) exp (jnwst) 1.2.7.2

Se toman las transformadas de Fourier de ambos miembros y se obtiene lo siguiente :

Gs (w) = I n s C G (w-nws ) donde ws = 27ns 1.2.7.3

La transformada de Fourier de la señal muestreada gs (t) consta de G (w)

repitiéndose a sí misma indefinidamente a cada fnws , para n = O, 1, 2, 3, ... . No habrá traslapes entre ciclos sucesivos de G(w) siempre que w0 > 2(27B)

o sea

2 v s sea mayor o igual a 47B

esto es Ts <= 1/2B

en consecuencia, mientras el intewalo de muestreo <= 1/2B

o la razón de muestreo sea mayor que 2B muestras por segundo , Gs (w) constará de repeticiones que no se traslapan de G (w) y, en consecuencia

g(t) se podrá recuperar de gs (t) simplemente al hacerla pasar a través de un

filtro de pasabajas con una función de transferencia cuya característica de

magnitud JH(w)J aparece con línea punteada en la figura ... Esto demuestra el

teorema de muestreo. El máximo intervalo, de muestreo permisible, Ts = I/

2B, se conoce como intervalo de Nyquist, y el correspondiente índice o razón

de muestreo (2B muestras por segundo ) se conoce como el índice de

muestreo de Nyquist.

Estrictamente hablando, una señal de banda limitada no existe en la realidad.

Se puede demostrar, que si una señal es de tiempo limitado (esto es, existe

solo durante un intervalo finito de tiempo ) , no puede ser de banda limitada, y

si una señal es de banda limitada (esto es, que la cantidad de componentes

armónicos está en un intervalo limitado de frecuencias) no podrá ser de

tiempo limitado. Todas las señales tísicas son necesariamente de tiempo

limitado ya que comienzan en algún instante finito y deben terminar en algún

otro instante finito. En consecuencia, todas las señales prácticas son de

banda no limitada. Sin embargo, si una señal es transformable en el sentido

de Fourier su energía en finita y del Teorema de Parseval se deduce que

IG(w)l debe decaer a frecuencias más altas. La mayor parte de la energía de

una señal reside en una banda finita, y el espectro a frecuencias más altas

contribuye poco. El error que se introduce al cortar el extremo que está más

allá de una cierta frecuencia B puede hacerse despreciable si se hace B

suficientemente grande.

Por consiguiente, para todos los propósitos prácticos una señal se pude

considerar como escencialmente de banda limitada a algún valor B, cuya

elección depende de la exactitud que se desea. Un ejemplo práctico de esto

es una señal de voz, teóricamente una señal de voz siendo una señal de

tiempo finito tiene un ancho de banda infinito. Pero las componentes de

frecuencia más allfa de 3 KHz contribuyen con una fracción despreciable de

la energía total. Cuando se transmiten señales de voz mediante PCM (Pulse

Code Modulation), se hace pasar primero a través de un filtro Pasa-Bajas de

ancho de banda de 3.5 KHz, y a la señal resultante se la muestrea a una

razón de 8000 muestras por segundo. Para un ancho de banda de 3500 Hz ,

la mínima razón de muestreo (el índice de Nyquist) es 7000. Los indices de

muestreo más altos permiten la recuperación de la señal a partir de sus

muestras utilizando filtros relativamente simples. La recuperación de señales

muestreadas al índice de Nyquist requieren filtros de corte exacto (ideales).

I .2.8 RECUPERACIóN DE UNA SEÑAL A PARTIR DE SUS MUESTRAS

Ya hemos mencionado que se puede realizar la recuperación de una señal si

disponemos de la función muestreada.

Se hace pasar la función muestreada por un filtro pasabajas con una

frecuencia de corte m. Se trata, evidentemente de una operación en el

dominio de la frecuencia. Debido a la dualidad entre el dominio de la frecuencia y el dominio del tiempo, existe una operación equivalente en el

dominio del tiempo con la que se recupera f(t) a partir de sus muestras. En

este apartado describimos esta operación.

Consideremos una señal f(t) muestreada con la rapidez mínima requerida,

2fm muestras por segundo. En este caso:

T = 1 /2fm 1.2.8.1

w0 = 21/T = 4 1 fm = 2wm 1.2.8.2

y según la ecuación :

Fs ( w ) = 1/T F (w-nW) 1.2.8.3

Como antes, podemos obtener el espectro F(w) si filtramos Fs(w) con un

filtro pasa bajo con frecuencia de corte wm . Es claro que esa operación

equivale a multiplicar Fs(w) por una función pulso rectangular G2wn(w) . Por

lo tanto de la ecuación anterior obtenemos:

Fs(w) G2wm(w) = 1/T F(w)

De donde podemos despejar F(w) obteniendo:

F(w) = T Fs(w) G2wm(w)

Por consiguiente, la transmisión de la señal muestreada fs(t) a través de un

filtro pasa bajo, reproduce la señal f(t) El filtro tiene una frecuencia de corte

wm y una ganancia T=1/2fm . Se puede expresar Iá función de transferencia,

H(w) del filtro que vamos a emplear como :

H(w) = T G2wm(w)

= 1/2 f G2wm(w)

Utilizaremos el teorema de convolución en el tiempo a la ecuación :

F(t) = Tfs(t) = m / Sa (wmt)

para tener la siguiente expresión:

f(t) = fn t * Sa (m t)

La función muestreada está dada por :

fs (t) = fn (t-nt) * Sa (wn t)

= fn Sa [wn (t-nT)]

= fn Sa (wnt-n)

Es obvio que se puede construir f(t) en el dominio del tiempo a partir de sus

muestras de acuerdo con las últimas ecuaciones . Gráficamente, cada

muestra se multiplica por una función de muestre0 y se suman todas las

formas de onda resultantes para obtener f(t).

En la práctica la mayoría de las señales se aproximan a señales limitadas en

banda. Conviene aclarar aquí que, en un sentido estricto, no existen esas

señales en banda limitada. Puede demostrarse que si una señal existe en un

intervalo finito del tiempo, posee componentes de todas las frecuencias; sin

embargo, en la práctica, las funciones de densidad espectral disminuyen a

frecuencias superiores. La mayor parte de la energía reside en las

componentes que ocupan un cierto intervalo de frecuencia de manera que

para propósitos prácticos, se puede considerar la señal como limitada en

banda. El error que procede de no tomar en cuenta las componentes de alta

frecuencia es despreciable.

El teorema de muestreo es un concepto importante, pues nos permite

reemplazar una señal continua limitada en banda por una secuencia discreta

de sus muestras sin perder información alguna. Por tanto el contenido de

información de la señal equivale a elementos discretos de información. Ya

que el principio de muestreo especifica el valor mínimo de valores discretos

necesarios para reproducir una señal continua, el problema de transmitir

dicha señal se reduce al de transmisión de un número finito de valores. Esa

información discreta se puede transmitir mediante un grupo de pulsos cuyas

amplitudes varían de acuerdo con los valores de las muestras (proceso que

se conoce como Modulación por Amplitud de Pulsos). Así mismo se tienen

otros tipos de modulaciones basadas en la posición de pulsos y en la

duración de pulsos en las que los parámetros de la posición o la duración de

pulsos están en proporción con los valores de las muestras. En la

modulación por pulsos codificados el valor de las muestras se representa

mediante códigos formados por un grupo de pulsos.

1.3 TECNICAS DE CONVERSION DE SEÑALES

En los apartados anteriores hemos tratado de la clasificación de las señales,

podemos decir que somos capaces ya de entender claramente lo que se

conoce como una Señal Digital y una señal Analógica. Las primeras son

señales discretas en tiempo y discretas también en su variable dependiente,

mientras las señales analógicas son señales continuas en tiempo y continuas

en la variable dependiente.

Existen dispositivos hechos para el tratamiento de la información que nos

proporcionan algunas señales analógicas, y podemos observar que así

mismo existen dispositivos corno la computadoras que nos permiten

manipular señales digitales. Si queremos usar una computadora para

manejar la información obtenida de una señal analógica es necesario

convertir esta señal en una señal digital, así mismo si una señal digital se

requiere para ser tratada como analógica debemos primeramente convertirla

en este último tipo de señal.

En los siguientes apartados estudiaremos las técnicas empleadas en la

conversión de una señal analógica a una señal digital como también en la

conversión contraria .

1.3.1 CONVERTIDOR ANALOGICO-DIGITAL

El Convertidor Analógico-Digital es el dispositivo empleado, como su nombre

lo indica, para transformar una señal analógica en un conjunto de valores

discretos, es decir, una señal digital. Las aplicaciones que podemos

mencionar son múltiples, ejemplo de esto lo tenemos en los dispositivos que

se utilizan para estar sensando temperatura, presión o posiciones específicas

y si estos parámetros van a ser utilizados para realizar un número elevado de

cálculos, entonces estamos ante la necesidad de realizar una conversión

analógico-digital para que los datos sean procesados por algún ordenador.

En el presente trabajo hablaremos de dos métodos para realizar la

conversiones analógico-digital, estos son:

1 .- Convertidor Tipo Contador

2.- Convertidor de Aproximaciones Sucesivas.

1.3.1.1 CONVERTIDOR TIPO CONTADOR

Este sistema de conversión funciona como sigue:

Primero se presenta un pulso de borrado que inicializa al contador para éste

comience desde cero. El contador registra en forma binaria el número de

pulsos de la linea de reloj. El reloj es una fuente de pulsos los cuales se

encuentran a intervalos de tiempo iguales. El número de pulsos se

incrementan linealmente con el tiempo, la palabra binaria representando este

contador es usada como la entrada del convertidor analógico-digital cuya

salida es una forma de onda como la que se muestra en la figura. Si

consideramos una señal de entrada Vs más grande en magnitud a Vd el

comparador ( que es un amplificador diferencial de alta ganancia) presenta

una salida con nivel 'alto', ocasionando que la compuerta 'and' se habilita

para que los pulsos de reloj vayan al contador. Cuando el voltaje Vd es más

grande que Va la salida del comparador cambia a un nivel bajo y se

deshabilita la compuerta 'and'. El contador se detendrá cuando se presenten

las condiciones Vi=Vd y el contador leerá la palabra digital representando el

voltaje de entrada analógico.

Si el voltaje analógico varía con el tiempo no se pueden convertir los datos

analógicos en una forma continua; pero podría hacerse si la señal de entrada

fueran muestras con intervalos.

Si representamos un valor máximo de voltaje analógico por "n" pulsos y el

periodo del reloj está dado por 't' segundos, el intervalo mínimo entre

muestras (considerando el tiempo de conversión) es nt segundos.

Otra versión del contador ADC, llamado servo convertidor, es obtenido

usando un contador ascendente-descendente, se ilustra en la siguiente

figura, en la cual se observa una pequeña modificación con respecto al de la

figura anterior. Este circuito no requiere de un pulso de borrado y tampoco

usa una compuerta and .Utiliza un contador ascendente/descendente, la

salida del comparador alimenta al control del contador. El funcionamiento del

circuito es el siguiente, la salida del DAC se encuentra en un nivel de voltaje

menor con respecto al voltaje de entrada Vi , entonces la salida en un nivel

alto del comparador provoca que el contador cuente en forma descendente.

La salida del convertidor se incrementa con cada pulso de reloj hasta que

excede al voltaje analógico Vi. El control de línea ascendente/descendente

cambia de estado para ahora contar en forma descendente (pero esto se

realiza en forma LSB ). Finalmente provocando que el control cambie

nuevamente de estado (ascendente) y la cuenta se incrementa solo por un bit

(LBS). El proceso es conservado de este modo y en la salida digital se

presentará un valor de +- 1 bit (LBS) alrededor del valor correcto. El tiempo

de conversión es menor cuando se presentan cambios menores entre las

muestras de señales analógicas.

1.3.1.2 CONVERTIDOR DE APROXIMACIONES SUCESIVAS

En este tipo de convertidor se utiliza un contador programable en lugar del

contador binario.

El contador programado coloca al bit más significativo (MBS) en un estado

alto, con todos los demás bits en estado bajo. El comparador toma la salida

del convertidor analógico-digital y la compara con el voltaje analógico de

entrada, el 1 analógico del MBS es removido al siguiente bit más

significativo, y es realizada una nueva comparación, el voltaje analógico es

mayor que Vd, el 1 permanece hasta que se llega al final del proceso, es

decir que se presenta una equivalencia binaria de la señal analógica. Para un

sistema de N bits, el tiempo de conversión N periodos de reloj, denotándose

una oposición con el convertidor del que hablamos en el apartado anterior

de contador por que en el peor de los casos su tiempo de conversión es de

2N periodos de reloj.

1.3.2 CONVERTIDOR DIGITAL-ANALOGICO.

Muchos de los sistemas utilizados en el mundo de la electrónica digital

requieren de una seiíal de entrada; la cual se convierte a un voltaje o

comente analógico (un nivel de comente o de tensión) según sea el caso

donde vaya a ser utilizado. Estos sistemas son llamados convertidores

digital-analógico o DAC's (por sus iniciales en inglés Digital Anologic

Converters). La palabra digital es representada en una variedad de códigos,

los más comunes son puramente binarios o código - decimal - binario (BCD

de Binary Code Decimal).

La salida Vo para un convertidor D/A de N-bits se obtiene mediante la

siguiente ecuación :

Vo = aN-12-1 + aN-22-2 + aN-32-3 + ... + a02-N 1.3.2.1

donde Vo es un factor de proporcionalidad determinado por los parámetros

del sistema, y donde los coeficientes an =1 o (=O) si el n-ésimo bit es 1 o O . El bit más significativo (MBS) corresponde a aN-I , y su peso es 2 N-I V.

mientras que el bit menos significativo (LBS) corresponde a a0 y su peso es

V R2N.

Considere por ejemplo una palabra de (N=5) y si consideramos la ecuación

I .3.2.1 tenemos lo siguiente :

V = ( 16a4 +8a3 + 4a2 + 2al ) 1.3.2.2

Si asumimos V = 32 v. Entonces si a0 y todas las demás son cero, nosotros

tendremos que VO = I . Si a0 = a l = I y todas las demás son cero entonces

VO = 2 + 1 = 3, etc. Claramente se observa que VO es un nivel de tensión

proporcional a la entrada digital.

Los bloques SO , S1 , S2 , ... , SN-1 , en la figura son interruptores

electrónicos con controladores digitales. Por ejemplo, cuando se presenta un

1 en la línea MSB, el interruptor SN-I se conecta al resistor R a la tensión de

referencia -VR , así mismo cuando un O se encuentra presente en la MBS, el

interruptor conecta al resistor con la línea de tierra. Todos los interruptores

son de la forma un polo dos tiros (llamado también un polo y dos posiciones )

y se activan por el nivel alto o bajo de cada bit, conectando a los resistores

con -VR O Tierra. El amplificador operacional funciona como un convertidor

de corriente a voltaje. Podemos observar que si el MSB es 1 y los demás bits

Son cero la corriente que circula por el resistor R es -VR /R y la salida es :

VO (MBS) = VR R’/R

De manera similar, la salida para el LBS, para una configuración de 5 bits

(N=5) :

VO (LBS) = VR R/16R

Finalmente si todos los bits son 1 se tiene:

VO (TOTAL) = (1 + 112 + 1/4 + 1/8 + 1/16 )* VR R’/R

VO(TOTAL)=(16+8+4+2+1)*VRR/16R

Este argumento confirma que el voltaje analógico VO es proporcional a la

entrada digital.

La precisión y estabilidad del convertidor D/A de la figura 1 .I 8 depende

principalmente de la absoluta precisión de los resistores y de suponer una

baja dependencia con el cambio de temperatura. Todos los resistores son

diferentes y el más grande está dado por la relación 2N-1 R , donde R es el

resistor más pequeño, estos valores requieren del uso de resistores de

precisión con un valor muy grande. Esto último representa un gran problema

a la hora de implementar los circuitos prácticos; a continuación se presenta el

convertidor tipo escalera mismo que evita estas dificultades.

1.3.3 CONVERTIDOR TIPO ESCALERA

Este circuito es el más veloz de los convertidores. El circuito es funcional

para el mismo numero de Bits que el circuito de la figura 1 .I8 pero, con

valores de resistores Ry 2R solamente, el circuito es mostrado en la figura

1 .I9 . La escalera usada en el circuito es un dispositivo de divisor de

corriente y así la razón de los resistores es más crítica que su valor absoluto.

Se observa que uno de los nodos de la escalera en la figura 1 .I9 tiene la

resistencia 2R mirando hacia el lado derecho o hacia el lado izquierdo de los

interruptores.

Por ejemplo, si el LSB es O, para el lado izquierdo del nodo 1 se muestra una

combinación en paralelo de dos resistencias 2R hacia tierra en serie con R,

para una resistencia total de 2R, y así sucesivamente hasta el último

interruptor. Si algún intemptor, digamos N-2, es conectado a VR el valor de

la resistencia en VR es (2R + 2R * 2R) I 2R = 3R y el voltaje en el nodo N-2

es :

VR /3 = R( VR /3)

A causa de la capacidad perdida de los nodos a tierra existe un tiempo de

retardo en la propagación de izquierda a derecha bajo la red escalera.

Cuando el interruptor SO se cierra el retardo de propagación es mucho mayor

que cuando el interruptor MSB se cierra. Así , cuando el voltaje digital

cambia, un transitorio aparecerá a la salida adtes de que VO alcance un valor

apropiado. Estos transitorios pueden ser evitados usando un DAC de

escalera invertida.

ESPECIFICACIONES DE EQUIPO

MICROCONTROLADOR MC68HCllESEVBU.

El microcontrolador que se utiliza es el MC68HC1 IEVBU, este tiene una

memoria RAM de 256 Bytes y fue expandida a 8 KBytes. La expansión se

realizó en las direcciones $2000 a $3FFF en la parte de alambrado de la

MCU (Siglas en inglés de Unidad de MicroControl, MicroController Unit).

Para poder expandir la memoria RAM fue necesario programar la MCU en

Modo Extendido rompiendo para ello una pista, para mayor referencia

consulte el manual de la MCU. Además se instaló un controlador de nivel de

offset para sumarlo a la señal analógica que se va a introducir. En el

apéndice encontrará un diagrama con los elementos que contiene la

expansión de memoria y el controlador de offset.

El controlador de offset es esencialmente un buffer y un sumador, que están

formados por un amplificador operacional LM741. El offset que se introduce

permite subir la señal de entrada a un nivel de voltaje de DC de 2.5 V.

Además se implementó un RESET externo para el microcontrolador. Este

Reset está formado por un MC 34064 y un Pushbutton. El diagrama

correspondiente se anexa en el apéndice.

La velocidad de conversión de la MCU es de treinta y dos ciclos de reloj 'E'

(ver manual de referencia), siendo éste reloj de 750 Khz.

Teóricamente la velocidad de conversión sería de 5.8 Khz, pero al hacer

pruebas con la MCU se obtuvo un valor de la velocidad de conversión de 3

Khz aproximadamente. Esta velocidad es suficiente para los propósitos de

éste trabajo.

COMPUTADORA DE PROPOSITO GENERAL

La computadora que se va a utilizar debe reunir las siguientes

características: debe tener una velocidad aceptable para permitir la

recuperación de la transmisión serial a 9600 Baudios; se recomienda usar

una PC 80286, 80386 o 80486, así mismo debe contener un puerto serial

(coml) por el cual se realiza la transmisión y recepción de datos, este puerto

de comunicación será el coml, si contiene otro puerto y desea conectarlo

deberá cambiar el direccionamiento del puerto en los programas. Además de

lo anterior deberá tener una tarjeta gráfica para poder observar las

secuencias digitales en tiempo y frecuencia.

ALIMENTACION

La alimentación de la tarjeta es realizada a través de una fuente regulada de

voltaje DC de 5 volts que fue colocada en un chasis junto con la MCU. Por lo

tanto sólo tendrá que conectar a la alimentación de la línea de 120 V. AC. El

sistema contiene un interruptor de encendido y un fusible de protección de 4

Amp.

ESPECIFICACIONES DE LA SEAAL DE ENTRADA

La señal analógica que se introduce al sistema tendrá ciertas limitaciones.

Será una señal con un valor máximo de 5 V. pp si se llega a sobrepasar este

valor la tarjeta contiene un circuito de protección que satura el nivel máximo o

entrada observable será de 0.01 V. aprox. Este valor es definido por los

valores de cuantización que contiene el convertido N D . El valor mínimo de la

señal de entrada podrá ser alterado por las variaciones que pueda tener la

fuente, estas variaciones pueden ser observadas aterrizando la entrada de la

señal analógica y graficando en tiempo real.

La señal analógica podrá ser proporcionada por cualquier generador de

señales, siempre que se cumpla con las condiciones establecidas, pues de

no hacerlo provocará un desperfecto o daño permanente en el equipo.

DESCRIPCION DE SOFTWARE

Los programas que se utilizaron serán ahora explicados brevemente. Los

podemos dividir en dos categorías: Tenemos un sene de programas que son

para la PC y otra sene para la MCU.

Los programas para la PC se realizaron en Turbo C v 2.0, Los programas de

la MCU se realizaron en ensamblador MC68HC11.

Para la PC los programas utilizados son los siguientes:

DIGT3.EXE. Este programa permite checar la transmisión serie de la tarjeta

a la PC La comunicación se inicia enviando un <7> al microcontrolador, y

éste enviará datos del convertidor Analógico/Digital en datos de ocho bits,

uno de inicio y uno de paro, estos bits se despliegan en forma secuencia1 en

de offset de la señal analógica a un valor de 128 que se observará en la

pantalla. Para ajustar este nivel de offset se moverá el potenciómetro

contenido en la tarjeta hasta obtener el valor deseado. Tenga cuidado al

hacer esto de no tener conectada ninguna señal analógica externa. En el

apéndice se anexa un listado completo en lenguaje C de este programa.

ALBERGB6.EXE. Este programa realiza una función similar a la del

programa DIGT3.EXE, pero en lugar de enviar los datos directamente del

microcontrolador a la P C directamente, primero los guarda en un buffer de 8

Kbytes y después los envía a la PC, ésta los recibe y los guarda en un

archivo de 8 Kbytes en el diskette del drive B, por ello no olvide tener un

diskette en ese drive preparado para escritura. Los dos programas

mencionados utilizan la instrucción 'bioscom' proporcionada por las librerías

de C para poder realizar la transmisión y recepción de datos. El archivo que

se genera es binario y contiene como primer elemento el tamaño del archivo,

los subsecuentes elementos serán los Bytes recibidos pero convertidos a tipo

float. Se guardan con este tipo para poder realizar operaciones aritméticas

con ellos.

Los programas del microcontrolador son cargados a través del

CONNECT.EXE que es programa que permite conectar la MCU MC68HC11

con la P C para poder hacer la transmisión de los bits a la RAM, no haremos

mayor referencia por lo que si se desea más información de la MCU y sus

programas se consultarán los manuales de la misma.

CONADASM. Este programa enciende el convertidor Analógico/Digital con

los siguientes pasos : Configura el convertidor, establece la conversión para

un solo canal permitiendo recuperar en cualquier registro del convertidor la

misma información; configura al convertidor para recibir información en el

canal dos <2> del convertidor; después inicializa el puerto de comunicación

serie y posteriormente consulta el registro de recepción serie SCI, espera

recibir un siete C O I 11 > para iniciar la transmisión sene; al recibir el siete la

transmisión se realiza enviando el contenido del registro de datos del

convertidor, al transmitir verifica que esté vacío el registro de transmisión

para poder llenarlo y no encimar información. El programa es cargado en la

dirección $1 O0 y se arranca a través del

CONNECT.EXE

CONVER.ASM. En este programa también arranca el puerto serie pero antes

de transmitir llena la RAM del microcontrolador con la información del

convertidor, la cantidad de información almacenada es de 8 Kbytes. Para

empezar a almacenar la información es necesario recibir vía el comunicador

serial un siete COI 1 I> desde la PC. AI recibir este dígito guarda la

información en RAM y comienza la transmisión sene a la PC. Este buffer se

hace con el fin de poder respetar la velocidad del convertidor y no retrasar las

muestras al enviarlas directamente a la PC. AI almacenar los datos en un

buffer se pueden transmitir posteriormente a la velocidad requerida sin

afectar la velocidad de muestre0 del convertidor.

PROYECT.EXE. Este programa permite ver de manera gráfica las muestras

que son tomadas por la unidad MCU. Estas muestras son almacenadas

temporalmente y son desplegadas en una gráfica. Esta gráfica permite

observar en el tiempo la señal.

Establece intervalos de barrido de 512 puntos hasta completar los 8 kbytes

que transmite la MCU. En cada intervalo de barrido cambia el color del fondo

de la gráfica, esto permite visualizar mejor los intervalos.

REFERENCIA TECNICA

DIMENSIONES 25 cm Ancho

19 cm Largo

8.5 cm Alto

PESO 1.150 Kg

ALIMENTACION 120 V. AC

VOLTAJE

DE SEÑAL 2.5 V. PP Máx.

RESOLUCION

DE SEÑAL 0.02 V Min.

PROTOCOLO DE

COMUNICACION RS232

NIVEL

DE OFFSET 2.5 V. DC

VELOCIDAD DE

CONVERSION 3 KHZ (aprox)

DOS PLUG HEMBRA

DOS CAIMANES

FUSIBLE DE 4 AMP.

FUENTEINTERNADE

VOLTAJE REGULADA DE 5 V. DC

CABLES DE CONEXION

Y ALIMENTACION

BlBLlOGRAFlA

MC68HCll EVBU

UNIVERSAL EVALUATION BOARD

MOTOROLA

A) USER'S MANUAL

B) PROGRAMMING REFERENCE GUIDE

C) REFERENCE MANUAL

DIGITAL SIGNAL PROSESSING

D. STANLEY WILLIAM

PRENTICE HALL COMPANY

1975.

THE WAITE GROUP'S TURBO C BIBLE

NABAJYOTI BARKAKATI

HOWARDS W. SAMs & COMPANY

INDIANA 1989.

' CONAD.ASM ' ESTE PROGRAMA ENCIENDE EL CONVERTIDOR ' ANALOGICO DIGITAL DEL MCHCII

' ENWA LOS DATOS DE CONVERTIDOR ' INICIA U COMUNICACION S C I A 9600 BAUDIOS

'Y RECIBE EL INICIO Y PARO DE LA TRANSMISION

INITSERIAL EQU $ E X OUTSERIAL EQU $COBA LEESERIAL EQU $€UD DATOADRI EQU $1031 FIN EQU fFWC SCSR EQU S102E SCDAT EQU SIOP:

ORG $1 O0

LDAA #$W STAA $1039 ' ENCIENDE EL CONVERTIDOR' LDAA #S21 STAA $1030 CONFIGURA EL AD PARA CONVERTIR CONTINUAMENTE.

JSR INITSERIAL ' INNICIA LA COMUNICACION SERIAL* ' Y EN UN SOLO CANAL"

ESPER JSR ENVlA CAMBIAR A LEESERIAL ' ANDA #SO7 CHECA EL INICIO DE TRANSMISIOW BNE ENVlA 'VA A LA RUTINA ENVA* JMP ESPER REGRESA HASTA RECIBIR INICIO DE TRANSMISIOFP

ANDA #SO4 CHECA EL PARO DE TRANSMISION' BNE ESPER Y REGRESA A ESPERAR INICIAR LA TRANSMISION"

ENVlA LDAA DATOADRI CARGA EN A EN CONTENIDO DEL CONVERTIDOR' JSR OUTSCI ENVlA A AL PTO SERIAL* JMP ENVlA ' REGRESA A CHECAR EL PARO DE TRANSMEION* JMP FIN FIN DEL PROGRAMA*

TIK JSR INSCI LEE DEL SERIAL"

INSCl LDAA SCSR read status reg ANDA #S20 check rdrf BEQ INSCl jump if no data LDAA SCDAT read data

INSCll RTS

OUTSCI LDAB SCSR read status BlTB #S80 BEQ OUTSCI loop until tdre=l STAA SCDAT send character

OUTSCl3 RTS

JMP FIN FIN DEL PROGRAMA*

CONMR-ASM ESTE PROGRAMA ENCIENDE EL CONVERTIDOR

*ANALOGICO DIGITAL DEL MCHCl1 INICIA LA COMUNICACION SCI A 9600 BAUDIOS ENVlA LOS DATOS DE CONVERTIDOR Y RECIBE EL INICIO Y PARO DE LA TRANSMEION

INITSERIAL EQU SE= OUTSERIAL EQU SE45A LEESERIAL EQU S W D DATOADRl EQU $1031 RAMDIR EQUfzOOo TERMINA EQU S3FFF SCSR EQU SIME SCDAT EQU $ l M F FIN EQU SFF7C

ORG $150

LDAA #$S STAA $1039 ENCIENDE EL CONVERTIDOR* L D A A e 2 l STA4 $1030 * CONFIGURA EL AD PARA CONVERTIR CONTINUAMENTE^

Y EN UN SOLO CANAL. C6 JSR INITSERIAL INNlClA LA COMUNICACION SERIAL.

ESPER JSR INSCI *LEE DE LA scr CMPA #sar CHECA EL INICIO DE TRANSMlslOW BEQ CA VA A LA RUTINA ENVA* JMP ESPER REGRESA HASTA RECIBIR INICIO DE TRANSMMOW

CA LDX #RAMDIR C1 LDAA DATOADRI

STAA 0,X INX LDAB RAMDIR DESPISTADO PSHX PULA PULB CPD #TERMINA BNE C l

ENVlA LDX #RAMDIR

LDAA #$O0 JSR OUTSCI

C2 LDAA 0,X CARGA EN A EN CONTENIDO DEL CONMRTIDOR' JSR OUTSCI ENVlA A AL PTO SERIAL. JMP TIK REGRESA A CHECAR EL PARO DE TRANSMICIOW INX PSHX PULA PULE CPO #TERMINA

JMP ESPER BNE C2

INSCl LDAA SCSR read status reg ANDA #$m check rdrf BEQ INSCI jump If no data LDAA SCDAT read data

INSCIl RTS

OUTSCI LDAB SCSR read status BlTB #SS0 BEQ OUTSCI loop untll tdrwl STAA SCDAT send character

OUTSC13 RTS

JMP FIN FIN DEL PROGRAMA'

.

Wgit3.c 'prorgama de comunicacion con el m68hcll evbu

#Include cstdio.h> #include cbios.h> #define COMl O #define COM-INIT O #define COM-SEND 1 #define COM-RECIM 2 #define COM-STATUS 3 #define KEYBRD-READ O #define KEYBRD-READY 1

main()

int c,b=7;

data = (Ox03~0x00~0x00~0xEO); unsigned data, status;

bioscom(C0M-INIT,data,COMl); clrxr(); printf("Conectando al puerto serial COMl. <PRESIONE 'Q' PARA SALIR> \n");

status = (0x2000 8 bioscom(C0M-STATUS,O,COMl)); whilqstatus != O x z o o O )

status = Ox;Eooo 8 bioscom(C0M-STAfUS,O,COMl);

bioscom(COM_SEND,b,COMl);

printf("ERR0R TRANSMITIENDO: %d\n",b);

f

f

1

if((status 8 Oxsooa)= o x m )

while(1) {

i l (statUs==Ox100) status = 0x100 8 bioscom(C0M-STATUS,O,COMl);

f c=Oxff 8 bioscom(C0M-RECIM,O,COMl); printf("%d ",c);

1

f if(( "q') 11 ("CY)) {

it(bioskeflKEYBRD-READY))

c=bioskey(KEYBRD-READ) 8 Oxff;

printf("SALIEND0 ...h.') ; exit(0); 1 1

1

U