Transceptor de infrarrojos

Anuncio
Capítulo 7
Telemando por infrarrojos
Debido a la popularidad de este tipo de mandos, raro va a ser no encontrarlos en
cualquier hogar u oficina. Algunos de los aparatos más comunes que cuentan con ellos
son los televisores, vídeos, cadenas de música, aparatos de aire acondicionado, etc.
Esto nos permite decodificar las órdenes del mando de cada uno de estos aparatos y con
un único transmisor poderlos controlar sin necesidad de ninguna instalación adicional.
Existen además otras aplicaciones, como pueden ser la regulación de la iluminación de
una sala, el control de subida o bajada de persianas o toldos, para las que su uso puede
ser muy apropiado.
Con anterioridad a la aparición de esta tecnología, se utilizaban la radiofrecuencia y los
ultrasonidos.
La
primera
tiene
las
desventajas
de
provocar
interferencias
electromagnéticas, necesitar autorización administrativa y que su alcance no está
limitado, por lo que podría interferir en el funcionamiento de otros equipos existentes en
otras salas o viviendas. Los segundos presentan problemas de interferencias por
multitrayecto y son susceptibles a los ultrasonidos generados por una multitud de
objetos y sucesos cotidianos como pueden ser la caída de una moneda, el sonido de una
campanilla, un timbre, un reloj, sonidos generados por aparatos eléctricos como los
televisores, etc. En aquellas aplicaciones en las que sólo se requiere un alcance de unos
pocos metros y que la transmisión quede confinada en una sala, la transmisión por
infrarrojos es la solución ideal. De ahí el éxito que han tenido este tipo de mandos en los
últimos años.
7.1 Introducción
En el mercado existen una multitud de soluciones para este tipo de dispositivos. Existen
diferentes circuitos integrados que implementan todas las funciones de comunicación y
decodificación de las señales y que permiten realizar sin apenas esfuerzo todas las
funciones del telemando.
1
Nuestro objetivo es más ambicioso desde un punto de vista didáctico, por lo que se van
a desarrollar tanto el transmisor como el receptor con componentes de propósito
general. En cualquier caso, no se deben olvidar los codificadores y decodificadores
comerciales en tanto en cuanto los incorporan muchos equipos y aparatos de consumo.
La transmisión por luz infrarroja no está exenta de problemas, como el ruido y las
interferencias. Las dos principales fuentes que suelen aparecer son:

La luz solar, que incorpora una importante componente de luz
infrarroja, lo que genera bastante ruido en el fotodiodo y puede
saturar el receptor, disminuyendo la sensibilidad.

Los tubos fluorescentes o las lámparas de bajo consumo presentan
también una componente de luz infrarroja oscilante a la frecuencia de
100 Hz.
Los motivos anteriormente expuestos desaconsejan la transmisión en banda base. La
mayoría de los sistemas comerciales utilizan una modulación ASK con una frecuencia
de portadora que oscila entre los 36 y los 40 Khz. aunque hay algunos que utilizan una
modulación FSK con una frecuencia de la portadora de hasta 50 Khz.
7.1.1
Estándares de codificación de comandos
Para la codificación de los comandos existen dos estándares internacionales que son
RC-5 y RECS 80; pero éstos no son los únicos, ya que hay muchos fabricantes que
tienen sus propias codificaciones, como NEC, DENON, SIRCS, MOTOROLA, etc.
De todas ellas la más popular es la RC-5.
7.1.1.1 Codificación RC-5
Para la codificación de bits utiliza un código bifase, de modo que un “0” se codifica por
una transición de nivel alto a nivel bajo y un “1” como una de nivel bajo a nivel alto. La
trama es de 14 bits con la siguiente estructura:
S1
S2
T
D4
D3
D2
D1
D0
C5
C4
C3
C2
C1
C0
Tabla 1 – Trama de comando del estándar RC-5.
Cada bloque de bits tiene la siguiente función:

S1-S2 – Son los bits de arranque y sirven para el ajuste del CAG y la
sincronización del receptor.
2

T – Es el bit de toggle, que va alternándose entre una trama y otra
cuando se repite varias veces la transmisión del mismo comando.

D0-D4 – Contienen el número de dispositivo a controlar.

C0-C5 – Contienen el comando a ejecutar.
7.1.1.2 Codificación RECS 80
La codificación de bits empleada es una modulación del ancho de pulso de modo que
cada bit se transmite como un pulso a nivel alto de duración T seguido por otro a nivel
bajo de duración 2T si se transmite un “0” y de duración 3T si se transmite “1”. En
cuanto a la longitud de la trama, depende de cada implementación y del número de
comandos que es capaz de transmitir. En general, la estructura consiste en una secuencia
de referencia de duración 3T, un bit de toggle para indicar si se trata de una repetición
del comando o de uno nuevo y, por último, la secuencia de bits de información que
puede contener un código de identificación de dispositivo y otro de comando, seguido
de un tiempo de inactividad antes de repetir o iniciar una nueva secuencia.
7.1.2
Codificación de los comandos
Para no complicar en exceso el diseño del telemando, se va a utilizar un formato de
trama muy sencillo. Va a consistir en una secuencia formada por un bit de activación,
seguido de un bit de arranque, ocho bits de información (comenzando por el menos
significativo) y uno de parada. Esta elección no es casual, sino que coincide con la
estructura de trama del módulo de comunicación serie SCI del microcontrolador y, por
tanto, se podrá utilizar este módulo para la recepción.
Activación
1
Arranque
0
Bit 0
X
Bit 1
X
Bit 2
X
Bit 3
X
Bit 4
X
Bit 5
X
Bit 6
X
Bit 7
X
Parada
1
Tabla 2 – Estructura de la trama de comando.
Los ocho bits de información pueden dividirse en una parte para la identificación de
dispositivo y otra para la señalización de comando. De este modo, se pueden estructurar
de ocho formas diferentes. La elección de una u otra dependerá en cada caso de la
aplicación, esta decisión se deja abierta al ser irrelevante de cara al diseño.
Estructura de la información
0 Id. Disp. y 8 Comando
1 Id. Disp. y 7 Comando
2 Id. Disp. y 6 Comando
3 Id. Disp. y 5 Comando
4 Id. Disp. y 4 Comando
Nº de dispositivos
1
2
4
8
16
Nº de comandos
256
128
64
32
16
3
5 Id. Disp. y 3 Comando
6 Id. Disp. y 2 Comando
7 Id. Disp. y 1 Comando
32
64
128
8
4
2
Tabla 3 – Estructuras posibles de codificación de la información.
Para la transmisión de bits se va a utilizar un código NRZ unipolar con una frecuencia
de 100 Hz que va a determinar la velocidad de transmisión de la trama.
7.1.3
Tipo de modulación
Se va a utilizar una modulación ASK con una frecuencia de 38 Khz. La razón que
motiva esta decisión es la existencia de un buen número de dispositivos comerciales que
utilizan esta modulación y el hecho de estar lo suficientemente alejada de la
interferencia de 100 Hz. provocada por los tubos fluorescentes y de la velocidad de
transmisión.
7.2 Transmisor de infrarrojos
Disponiendo de un microcontrolador, el diseño de un transmisor de infrarrojos podría
limitarse al modulador y al driver que gobierna al diodo fototransmisor, que suele
demandar bastante corriente, ya que todo el conformado y transmisión de la trama se
puede hacer por software a través de un puerto.
También se puede realizar una transmisión serie convencional utilizando el módulo de
comunicación serie SCI del MC68331, lo que simplifica enormemente las tareas para
algunas aplicaciones concretas como podrían ser las de comunicación con un PC o con
otro microcontrolador.
El objetivo que en esta sección se pretende es el diseño de un mando de control remoto
totalmente independiente, que pueda alimentarse con pilas, sin perjuicio de la utilidad
que se le pueda dar a algunos de los bloques para otras aplicaciones de telemando.
7.2.1
Diagrama de bloques del transmisor
El conjunto del transmisor se ha descompuesto en seis módulos que pueden ser
diseñados con independencia según se detalla en la figura 1.
4
 Figura 1 – Diagrama de bloques del transmisor.
7.2.2
Generador de reloj
Como la velocidad de transmisión se ha determinado que sea de 100 baudios, será
necesario generar una señal de reloj de esa frecuencia para marcar el ritmo de la
transmisión. Para ello se usará un temporizador 555 en configuración aestable y con un
ciclo de trabajo próximo al 50 %.
 Figura 2 – Esquema de conexión del 555.
La frecuencia de la señal generada viene dada por la fórmula:
f 
R2
1.44
, y el ciclo de trabajo por: Duty 
R1  2  R2   C
R1  2  R2
La elección del condensador más adecuado puede realizarse a partir de las curvas
proporcionadas por el fabricante.
5
 Figura 3 – Frecuencia de oscilación libre (Gráfica obtenida del catálogo del fabricante National).
A partir de la frecuencia de diseño de 100 Hz, podemos observar que el par formado por
la recta de carga y el valor del condensador que adopta los valores más razonables son
la de 100 K y un condensador de 100 nF.
Para el valor del condensador de 100 nF se obtiene:
R1  2  R2 
1.44
 144 K
100  100  10 9
Por otro lado se quiere un ciclo de trabajo próximo al 50 %, para ello es necesario que
R1  R2 . Si se toma un valor de R1  0.1  R2 y eligiendo aquellos valores comerciales
más próximos se obtiene R2  68 K y R1  8.2 K. Debido a las tolerancias de los
componentes la frecuencia resultante no se ajustará al valor de diseño. Para resolverlo se
colocará en lugar de la resistencia de 68 K la combinación serie de una resistencia de
56 K y un potenciómetro multivuelta de 20 K para permitir el ajuste de la frecuencia
exacta.
Con los valores calculados se obtendrá un ciclo de trabajo de aproximadamente el 47 %.
Una vez conectado a la alimentación, será necesario ajustar con el potenciómetro la
frecuencia de trabajo que se medirá con el osciloscopio.
7.2.3
Generador del intervalo de trama
Cada trama consiste en la transmisión de un conjunto de once bits. Para ello se cargará
la palabra que compone la trama en dos registros de desplazamiento en cascada y se
sacarán en serie. La función que va a realizar el generador del intervalo de trama es la
de mantener activo al registro de desplazamiento sólo mientras se transmite ésta y al
finalizar inhibe el funcionamiento.
6
Para realizar esta función se va a utilizar un contador para implementar un autómata que
al recibir la señal de arranque mediante un pulsador mantiene activa la señal LOAD
durante ocho ciclos de reloj. El esquema se muestra en la figura 4.
 Figura 4 – Generador del intervalo de trama.
La descripción del funcionamiento es bastante sencilla:

El pulsador, dotado de un circuito antirebotes, genera un pulso a
nivel bajo en el terminal LOAD del contador.

El contador que se encontraba inhibido por la señal RCO (fin de
cuenta) aplicada a través de un inversor a la entrada ENP carga el
valor 4 (0100) existente en los terminales D, C, B y A.

La señal RCO cambia a nivel bajo y desinhibe el contador que
prosigue la cuenta hasta el valor 15 (1111).

Cuando alcanza este valor, la señal RCO pasa a nivel alto e inhibe de
nuevo el contador.
La misma señal RCO negada utilizada para activar e inhibir el contador es la que activa
e inhibe el registro de desplazamiento. Como se puede observar, la señal se mantiene a
nivel alto durante los once ciclos de reloj que tarda el contador en finalizar la cuenta y
luego retorna a nivel bajo que es su estado normal.
7
A continuación se representa el diagrama de estados que gobierna el autómata:
 Figura 5 – Diagrama de estados del autómata generador del intervalo de trama.
7.2.4
Registro de desplazamiento
Se trata del alma del control remoto. El registro de desplazamiento recibe la trama a
través de sus entradas en paralelo y la saca en serie al ritmo que le marca el reloj.
El valor de los bits de activación, arranque y parada vienen van cableados de forma
permanente y los ocho bits de selección de dispositivo y comando se configuran a través
de ocho microinterruptores.
El registro permanece con el código de la trama precargado y en estado de inhibición.
Cuando el generador de intervalo de trama activa el registro comienza la transmisión
hasta el último bit de la trama, tras el cual pasa de nuevo a estado de inhibición.
8
 Figura 6 – Registro de desplazamiento.
Para evitar que se produzca una transmisión espúrea durante la conexión inicial del
circuito, se ha introducido una red de inicialización, conectada al terminal de inhibición,
que garantiza un tiempo de 400 ms. Suficiente para que se estabilice el autómata.
Una peculiaridad importante es que en la salida serie aparece el valor precargado en el
último biestable H y que será, por tanto, el valor de reposo del terminal serie. Cuando se
produce la activación del circuito, el primer impulso de reloj llevará a la salida serie el
valor contenido en la entrada G y, por tanto, sólo se dispone de siete bits.
Afortunadamente el circuito cuenta con una entrada de datos serie que ataca al biestable
A y que pondremos a 1 para que haga la función de bit de parada.
Como se puede observar, con la conexión realizada la línea permanece en reposo o nivel
lógico cero hasta que el generador de intervalo saca al circuito de su estado de
inhibición. A partir de ese instante se transmite un 1 para la sincronización de trama, el
bit de arranque, los cinco bits de información y por último el de parada.
7.2.5
Modulador ASK
Como ya se ha comentado se va a utilizar una modulación digital ASK con una
frecuencia de 38 Khz. de modo que se transmitirá la señal modulada para denotar un “1”
lógico y no se emitirá para denotar el “0” lógico.
Para ello se va a utilizar un 555 en modo aestable al igual que se hizo con el circuito de
reloj y se utilizará el terminal de reset para gobernar la transmisión.
9
Sin entrar en detalles justificativos, diremos que la utilización de una onda cuadrada
para modular la señal infrarroja presenta una serie de ventajas desde el punto de vista de
la potencia transmitida, por lo que no será necesario filtrar la salida del 555.
A la salida del temporizador se conectarán dos inversores Schmitt Trigger en serie para
regenerar la señal sin negar la lógica.
 Figura 7 – Modulador ASK
Para el cálculo de los componentes de ajuste se consulta la gráfica de la figura 3 y se
observa que para la recta de carga de 100 K se precisa un valor de condensador de
entre 100pF y 1nF, por lo que si elegimos un valor comercial de 220 pF, se obtiene:
Para el valor del condensador de 100 nF se obtiene:
R1  2  R2 
1.44
 172 K
38000  220  10 12
Por otro lado se quiere un ciclo de trabajo próximo al 50 % para ello es necesario que
R1  R2 . Si se toma un valor pequeño de R1  2 K el ciclo de trabajo será de 49.4 %
y el valor de R2  85 K. Para resolver la desviación de frecuencia debida a la
tolerancia de los componentes se colocará en lugar de la resistencia de 85 K la
combinación serie de una resistencia de 75 K y un potenciómetro multivuelta de 20
K para permitir el ajuste de la frecuencia exacta.
Una vez conectado a la alimentación será necesario ajustar con el potenciómetro la
frecuencia de trabajo que se medirá con el osciloscopio.
7.2.6
Emisor de luz infrarroja
La señal procedente del modulador debe ser aplicada al fotodiodo de luz infrarroja que
se encarga de la emisión.
10
Se ha utilizado el diodo CQY89 que habitualmente se encuentra disponible en las
tiendas de electrónica. Tiene una longitud de onda de emisión es de 930 nm. con un
ángulo de emisión de 40º. Admite una intensidad media de corriente de 100 mA con la
que alcanza una potencia de emisión de 15 mW.
Para la excitación del LED IR se ha utilizado el circuito de la figura 8. Podemos
observar que para la polarización de la base se han utilizado dos diodos 1N4148. Con
ello se consigue la tensión adecuada en la base del transistor y se evitan los efectos de
carga que introduciría un divisor resistivo.
 Figura 8 – Transmisor de luz infrarroja.
Como el modulador proporciona una onda cuadrada, para que la corriente media por el
LED sea de 100 mA, se deberá hacer pasar una corriente de 200 mA durante el ciclo
activo.
Como en el LED cae una tensión de 1.7 V. y la tensión mínima colector-emisor, fuera
de la saturación, es VCE  0.2 V., la resistencia de emisor necesaria para limitar la
corriente del diodo a 200 mA es:
R
5  1.7  0.2
 15.5 
0.2
El valor comercial más próximo disponible es 18 .
La tensión en la base del transistor ha de ser menor que:
VB  VE  0.7  5  1.7  0.2  0.7  3.8 V.
Utilizando los dos diodos en serie, la tensión en la base es: VB  5  1.4  3.6  3.8 V.
La tensión en el emisor del transistor será: VE  5  1.4  0.7  2.9 V. y la potencia
disipada en la resistencia de 233 mW, por lo que es recomendable utilizar una
11
resistencia de ½ W. La corriente de pico en el LED será de 161 mA y la corriente media
de 80.5 mA.
7.2.7
Alimentación
El módulo transmisor ha de ser un elemento móvil para que realice la función de
telemando para la que fue diseñado. Para ello se alimentará con una pila de 9 V. Será
necesario el empleo de un regulador de tensión LM7805, conectado a la pila para
proporcionar a la salida los 5 V. que requiere todo el sistema. Dado lo popular de este
regulador se omite el esquema de conexión del mismo.
Una cuestión que debe tenerse en cuenta es la demanda de corriente del circuito.
Durante la transmisión la corriente media que va a consumir el circuito es de unos 100
mA durante los 80 ms que dura la transmisión, con una corriente de pico de 200 mA.
Como no se conocen datos sobre el comportamiento de la pila, debemos observar que
debe ser capaz de mantener una tensión superior a 7.5 V. para que el regulador funcione
correctamente. Si la pila no es capaz de soportar esa demanda de corriente, se deberá
desacoplar la misma mediante un condensador de gran capacidad en paralelo que sea
capaz de aportar el exceso de corriente que no es capaz de dar la pila.
7.3 Receptor de infrarrojos
El receptor de infrarrojos debe ser capaz de demodular la señal ASK de 38 Khz. y
entregar los pulsos de la trama.
Para la recepción existen dispositivos comerciales que integran todos los circuitos
necesarios para la correcta demodulación de la señal. Estos dispositivos de pequeño
tamaño integran en el mismo encapsulado, el receptor de luz infrarroja, una lente y toda
la lógica necesaria para distinguir señales moduladas a una determinada frecuencia.
Algunos de estos dispositivos son: el IS1U60 y el IS1U621 de Sharp, el PNA4602 y el
PNA4612 de Panasonic, el LTM-97DS-38 de LiteOn o el SFH5110 de Siemens.
12
Para el transmisor del título anterior se adapta perfectamente el IS1U60, cuyo diagrama
de bloques se muestra en la figura 9.
 Figura 9 – Diagrama de bloques del receptor integrado IS1U60 (extraído del catálogo de Sharp).
Continuando con los objetivos didácticos de esta práctica, se va a desarrollar un receptor
mediante elementos discretos, sin perjuicio de la utilidad y comodidad de usar
cualquiera de los componentes antes enumerados.
7.3.1
Diagrama de bloques del receptor
El receptor se puede descomponer en cuatro bloques que pueden ser diseñados
independientemente.
 Figura 10 – Diagrama de bloques del receptor.
7.3.2
Foto-receptor
La función de recepción la va a realizar el fotodiodo BPW41. Este dispositivo presenta
su máxima sensibilidad con señales cuya longitud de onda es de 950 nm. y tiene un
ángulo de recepción de  65º respecto de la normal.
13
Este dispositivo se polariza en inversa, de modo que la corriente que pasa por él se
comporta linealmente con respecto a la potencia de luz incidente.
 Figura 11 – Corriente inversa en función de la irradiancia.
De este modo se puede asimilar el fotodiodo a un generador de corriente dependiente
linealmente de la luz incidente en el mismo. Las distintas formas en que puede
implementarse el circuito foto-receptor dependen del tipo de carga que presenten ante
dicho generador de corriente.

Carga resistiva: La carga es una simple resistencia. Se trata de una
solución muy sencilla con un comportamiento plano con la
frecuencia. Como no elimina las bajas frecuencias puede suceder que
el receptor se sature con la iluminación ambiente.

Carga reactiva (LC o RLC): Es la que promete un mejor
comportamiento, ya que sólo presenta una alta impedancia en el
margen de frecuencias deseado. El problema reside en la dificultad
de obtener las bobinas y en la forma de ajustar la sintonía por las
altas tolerancias de los componentes L y C.

Carga activa: Por medio de transistores con carga RC se puede
implementar una carga activa que presente una baja impedancia
frente a la corriente continua y que permita evitar la saturación de los
transistores por efecto de la iluminación ambiente.
En principio se va a utilizar el circuito de la figura 12 por su sencillez. El efecto de la
luz ambiente va a provocar una merma en la sensibilidad que, por lo general, podrá
resolverse con un posterior filtrado y amplificación.
14
 Figura 12 – Circuito foto-receptor con carga resistiva.
Para el caso en que las condiciones de iluminación de una aplicación concreta
provoquen problemas de saturación y mal funcionamiento, se propone un circuito con
carga activa alternativo con una inmunidad al ruido mayor.
 Figura 13 - Circuito foto-receptor con carga activa.
7.3.2.1 Red de desacoplo
Antes de entregar la señal al filtro paso banda es interesante desacoplar las bajas
frecuencias. Para ello se utilizará un filtro RC paso alto con una frecuencia de corte
situada, al menos, una década por encima de la interferencia de 100 Hz que provocan
los tubos fluorescentes y, al menos, una década por debajo de la señal modulada de
38Khz., es decir 1Khz < fc < 3.8 Khz. Con el fin de eliminar los efectos de carga entre
etapas se utilizará un seguidor de tensión, según se puede observar en el esquema
general de la figura 14.
 Figura 14 – Esquema completo de la etapa de foto-recepción.
La red RC formada por un condensador de 220 pF y una resistencia de 560 K presenta
una frecuencia de corte de 1290 Hz. y una impedancia de carga de alta. Por último, el
15
amplificador operacional utilizado para el seguidor de tensión tiene que ser capaz de
seguir la señal de 38 Khz. y, por tanto, deberá tener un Slew-Rate de:
SR  2  f osc  Amax  2  38000 5  1.2 V/s.
Se ha escogido el TL082 que tiene un SR de 13 V/s y un producto GxBW de 4 Mhz.,
suficiente para la solución adoptada.
7.3.3
Filtro paso banda
Para reducir el ruido antes de la demodulación se debe realizar un filtrado paso banda
que sólo permita pasar la señal de interés cuya frecuencia es de 38 Khz.
El espectro de la señal tiene el aspecto de una sinc por el efecto de la modulación que
consiste en enventanar el tono de 38 Khz, por lo que es conveniente que la banda de
paso tenga un ancho finito, ya que si no eliminaríamos una parte importante del espectro
de la señal. Esto es una ventaja ya que no va a ser necesario utilizar filtros con un orden
elevado.
El filtro paso banda se va a realizar mediante la conexión en cascada de dos filtros de
Sallen-Key, uno paso bajo y el otro paso alto. El resultado corresponde con el cuadrado
de la función de transferencia de un filtro paso banda.




2
As
A
As


H BP   


s
s
s


s2   1 s2   1  s2   1
Q
Q
Q


El módulo de la función de transferencia vale:
H BP   
2
 A 2
1   
2 2
 
  
Q 
2
La frecuencia central vendrá amplificada por el factor (AQ)2.
El problema principal que presentan este tipo de montajes es que los componentes
discretos, como son los condensadores y resistencia, presentan una tolerancia bastante
grande para la precisión del filtro. Por ello, nos iremos a resistencias con una tolerancia
del 1% y condensadores del 5% si es posible. El caso peor se presenta cuando las
frecuencias de normalización fp de ambos filtros son coincidentes y están bastante
16
alejadas de la frecuencia objetivo, ya que ésta queda en banda atenuada y encima se está
amplificando otra frecuencia próxima diferente.
 Figura 15 – Filtro paso banda.
La estrategia que se propone es la de comprar un lote de resistencias y condensadores de
los valores que se necesitan y con la ayuda de un polímetro (los hay que miden
capacidades) elegir aquéllos que presentan el menor error y se aproximan más a los
valores de diseño.
Para obtener la frecuencia central objetivo, fp = 38 Khz, se han elegido los siguientes
valores comerciales C = 470 pF y R= 9 K (el valor de la resistencia existe con
tolerancia del 1 %), por lo que la frecuencia real obtenida es fp = 37.625 Hz, valor
totalmente aceptable.
Para que las frecuencias de corte estén situadas en torno a 36 y 40 Khz el valor que
deberá adoptar el factor de calidad es Q = 1.9059, con lo que la ganancia del
amplificador deberá de ser:
A  3
1
 2.475
Q
Con los valores comerciales para las resistencias resistencias de 150 K y 100 k, en el
amplificador se obtiene una ganancia de 2.5 y el factor de calidad vale Q = 2.
La ganancia máxima que se puede obtener con el conjunto a la frecuencia de interés es
(AQ)2 =(2.5  2)2 =25.
En cuanto al amplificador, se seguirá usando el TL082 cuyas características son
sobradas para el uso requerido.
17
7.3.4
Demodulador
El demodulador se va a encargar de reconstruir la señal en banda. La parte clave del
mismo es el detector de envolvente. La modulación ASK es un caso particular de la
demodulación AM con la ventaja de que la saturación que se pueda presentar en los
amplificadores no tiene ningún efecto negativo en la señal y, por tanto, la ganancia de
los mismos no es un factor crítico. Esto es así porque la información no va codificada en
la amplitud, sino en la frecuencia, en este caso frecuencia “0” o “32 Khz”.
El demodulador completo se compone de tres partes diferenciadas, que son: el
amplificador de entrada, el detector de envolvente y el regenerador.
7.3.4.1 Amplificador de entrada
Se trata de un amplificador no inversor cuya función es la de adaptar el nivel de la señal
recibida a un valor adecuado para el buen funcionamiento del detector de envolvente.
Experimentalmente se ha determinado que una ganancia en torno a 50 es adecuada. Con
la pareja de resistencias de 120 K y 2K7 se obtiene una ganancia de 45 (33dB). En
cuanto al offset de tensión, la medida obtenida es de 340 mV., valor que se puede
asumir como aceptable.
 Figura 16 – Demodulador.
7.3.4.2 Detector de envolvente
El detector de envolvente está formado por un rectificador de media onda con carga RC.
Si se aplica un tono senoidal al detector, durante el semiciclo positivo el diodo conduce
produciéndose una caída de tensión de 0.7 V. Una vez que la tensión alcanza este valor
el condensador comienza a cargarse y la tensión sube hasta el máximo y desciende de
nuevo hasta los 0.7 V. A partir de ese punto el diodo entra en corte y el condensador
comienza su descarga hasta que la tensión vuelve a superar el umbral de los 0.7 voltios
18
en el ciclo siguiente. Se pretende que la tensión caiga sólo un 10 % durante el tiempo de
descarga, para lo cual:
 T /2
exp 
  0.9 ;
  

 
1/ 2 f
 125 s
ln 0.9
Como  = RC, se han escogido los siguientes valores: R =120 K y C = 1nF, con lo que
 = 120 s.
El tiempo que tarda la señal en alcanzar el 10 % de su valor una vez finalizado el pulso
es:
t    ln 0.1  287 s que es el 2.8 % de la duración de un bit.
7.3.4.3 Regenerador
A la salida del detector de envolvente se aplican dos inversores Trigger-Schmitt en
cascada para regenerar la señal sin invertir la lógica.
A la salida de esta etapa ya tenemos la señal demodulada y disponible.
7.4 Conexión al microcontrolador
De las diferentes posibilidades de conexión al MC68331 sólo vamos a plantear la
conexión del receptor a través del módulo de recepción serie SCI del QSM, para
aprovechar las facilidades que este módulo proporciona, ya que la programación de un
receptor puede llegar a ser laboriosa y compleja, aunque bastante interesante.
La conexión es sencilla. La salida de datos del receptor se conecta a la entrada de datos
serie RXD del microcontrolador.
7.4.1
Programa básico de atención de comunicaciones
Si recordamos el protocolo de comunicación del telemando, se trata de palabras de ocho
bits de los cuales una parte puede reservarse como identificación de dispositivo y la otra
como código de instrucción. La velocidad de transmisión es de 100 baudios y la trama
no contiene bit de paridad.
19
La trama de datos a recibir tiene la estructura siguiente:
Bit 10
Parada
7
Código de instrucción
0
Identificador
Bit 1
Arranque
Tabla 3 – Estructura de la trama de datos.
La aplicación de ejemplo realiza lo siguiente:
1. Habilita las interrupciones del receptor y se queda esperando a recibir
un dato.
2. Una vez recibido, comprueba si es válido o no.
3. Si es valido, lo guarda en un buffer de memoria.
4. Si no es valido, no hace nada y sigue esperando al dato siguiente.
Cabe notar que no se hace comprobación del desbordamiento del buffer, ya que se
entiende que es un programa de prueba y con un tamaño de 500 tramas es suficiente
para comprobar la recepción de ordenes.
******************************************************************************
*
REGISTROS SIM
*
******************************************************************************
SIMCR
EQU $FFFA00
* Controla la configuración del sistema ($00CF).
SYNCR
EQU $FFFA04
* Fija frecuencia y modo de operación del reloj ($3F08).
RSR
EQU $FFFA06
* Guarda la causa de un reset (Ej.-$80, reset hardware).
PORTE
EQU $FFFA11
* Registro de lectura y escritura en el puerto E.
PORTE1 EQU $FFFA13
* Tiene exactamente la misma función que el anterior.
DDRE
EQU $FFFA15
* Determina el sentido del puerto E pin a pin.
PEPAR
EQU $FFFA17
* Asignación del puerto E (Puerto o control de BUS).
PORTF
EQU $FFFA19
* Registro de lectura y escritura en el puerto F.
PORTF1 EQU $FFFA1B
* Tiene exactamente la misma función que el anterior.
DDRF
EQU $FFFA1D
* Determina el sentido del puerto F pin a pin.
PFPAR
EQU $FFFA1F
* Asignación del puerto F (Puerto F o control de BUS).
PICR
EQU $FFFA22
* Configuración de interrupciones periódicas ($000F).
PITR
EQU $FFFA24
* Contiene la cuenta del timer periódico ($0000).
SYPCR
EQU $FFFA21
* Controla las funciones de monitorización del sistema
* como es el caso del Watchdog. ($40 anula watchdog).
SWSR
EQU $FFFA27
* Se debe escribir periódicamente con Watchdog activado.
CSPAR0 EQU $FFFA44
* Sirve junto con CSPAR1 para configurar la función de
CSPAR1 EQU $FFFA46
* los pins de Chip Select (CS, Port C, etc.).
PORTC
* Registro de escritura en el puerto C.
EQU $FFFA41
20
******************************************************************************
*
REGISTROS GPT-PWM
*
******************************************************************************
GPTMCR
EQU $FFF900
* Configuración del GPT.
ICR
EQU $FFF904
* Configuración de interrupciones del GPT.
DDRGP
EQU $FFF906
* Determina el sentido del puerto GP.
PORTGP
EQU $FFF907
* Registro de lectura y escritura del puerto GP.
OC1M
EQU $FFF908
* Máscara para asignar los pin de captura de OC.
OC1D
EQU $FFF909
* Registro de datos a comparar con el puerto OC.
TCNT
EQU $FFF90A
* Registro del GPT asociado a las capturas IC, OC y PAI.
PACTL
EQU $FFF90C
* Configuración del acumulador de pulsos PAI.
PACNT
EQU $FFF90D
* Es el contador de registro de eventos del PAI.
TIC1
EQU $FFF90E
* Capturan el TCNT cuando se registra un evento en IC1.
TIC2
EQU $FFF910
* Capturan el TCNT cuando se registra un evento en IC2.
TIC3
EQU $FFF912
* Capturan el TCNT cuando se registra un evento en IC3.
TOC1
EQU $FFF914
* Cuando coincide con TCNT causa eventos en los pin OC.
TOC2
EQU $FFF916
* Si el valor coincide con TCNT causa un evento en OC2.
TOC3
EQU $FFF918
* Si el valor coincide con TCNT causa un evento en OC3.
TOC4
EQU $FFF91A
* Si el valor coincide con TCNT causa un evento en OC4.
TI4O5
EQU $FFF91C
* Pin compartido (Puede realizar una función TIC o TOC).
TCTL1
EQU $FFF91E
* Configura el modo de comparación y nivel de salida.
TCTL2
EQU $FFF91F
* Configura que flanco provoca la captura en los IC.
TMSK1
EQU $FFF920
* Habilita las interrupciones de IC y OC.
TMSK2
EQU $FFF921
* Habilita las interrupciones del PAI y del TIMER.
TFLG1
EQU $FFF922
* Registro de flags de interrupciones de IC y OC.
TFLG2
EQU $FFF923
* Registro de flags de interrupciones del PAI y TIMER
CFORC
EQU $FFF924
* Fuerza una salida en los pin OC y PWM.
PWMC
EQU $FFF925
* Configuración del PWM.
PWMA
EQU $FFF926
* Determina el ancho de pulso. ($80 es medio ciclo)
PWMB
EQU $FFF927
* Determina el ancho de pulso. ($80 es medio ciclo)
PWMCNT
EQU $FFF928
* Registro del contador del PWM.
PWMBUFA EQU $FFF92A
* Buffer para prevenir glitches cuando modificamos PWMA.
PWMBUFB EQU $FFF92B
* Buffer para prevenir glitches cuando modificamos PWMB.
PRESCL
* Guarda el valor del multiplicador del GPT.
EQU $FFF92C
******************************************************************************
*
REGISTROS QSM-QSI
*
******************************************************************************
QSMCR
EQU $FFFC00
* Configuración del QSM.
21
QILR
EQU $FFFC04
* Configuración del nivel de interrupción.
QIVR
EQU $FFFC05
* Configuración del vector de interrupción.
SCCR0
EQU $FFFC08
* Control 0 del SCI determina velocidad de transmisión.
SCCR1
EQU $FFFC0A
* Control 1 del SCI para configuraciones varias.
SCSR
EQU $FFFC0C
* Registro de estado del SCI.
SCDR
EQU $FFFC0E
* Registro de datos del SCI (RDR y TDR).
PORTQS
EQU $FFFC15
* Registro de lectura y escritura del Puerto QS.
PQSPAR
EQU $FFFC16
* Asignación de pins como Puerto QS o como QPSI.
DDRQS
EQU $FFFC17
* Dirección E/S de los pins del Puerto QS.
******************************************************************************
*
CONTROL DEL QSM - SCI
*
******************************************************************************
BIT_FE
EQU 16
* Bit indicador de error de trama (Frame Error).
BIT_PE
EQU 17
* Bit de error de paridad (Parity Error).
TRAMA_NULA
EQU $FF
* Valor de inicialización antes de recibir trama
ERR_TRAMA
EQU $AA
* Valor devuelto cuando hay error de trama
ERR_PARIDAD
EQU $80
* Valor devuelto cuando hay error de paridad
******************************************************************************
*
VECTORES DEL RESET
*
******************************************************************************
ORG $0
PILA_RESET DC.L FIN_PILA
PC_RESET DC.L PRINCIPAL
******************************************************************************
*
VECTORES DE INTERRUPCIÓN
*
******************************************************************************
ORG $110
VECTOR_QSM DC.L LEER_SCI
* Vector de interrupción $44
******************************************************************************
*
PUNTERO DE PILA
*
******************************************************************************
ORG $4000
PILA DS.L 200
FIN_PILA:
22
******************************************************************************
*
BUFFER DE RECEPCIÓN
*
******************************************************************************
ORG $2000
BUFFER DS.B 500
INI_BUFFER:
******************************************************************************
*
SUBRUTINAS
*
******************************************************************************
ORG $1000
******************************************************************************
*
CONFIGURACION DEL HARDWARE DEL MICRO
*
******************************************************************************
*************************** INHAB_WDOG ****************************
* Inhabilita el Watchdog que es una función de monitoriración del *
* sistema para detectar la entrada en un bucle infinito.
*
*******************************************************************
INHAB_WDOG:
MOVE.B #$40,SYPCR
* Inhabilitamos WatchDog
RTS
*----------------------------------------------------------------------------*
**************************** QSM_CFG *****************************
* Configuración del QSM_SCI
*
******************************************************************
QSM_SCI_CFG
MOVE.W #$008F,QSMCR
* Supervisor de arbitrio 15.
MOVE.B #$44,QIVR
* Vector de interrupción $44.
MOVE.B #$06,QILR
* Nivel de interrupción 6 para el SCI.
MOVE.W #$0A3D,SCCR0
* velocidad de TX/RX de 100 baudios.
RTS
*----------------------------------------------------------------------------*
************************** RECEPTOR_CFG **************************
* Configura y habilita el módulo receptor del QSM-SCI. Inhabi-
*
* lita al tiempo el transmisor al tratarse de una comunicación
*
* semi-duplex.
*
******************************************************************
23
RECEPTOR_CFG
MOVE.W #$0424,SCCR1
RTS
* Interrupciones habilitadas para la recepción (RIE)
* tramas de 7 bits + bit de paridad impar RTS
******************************************************************************
*
RUTINAS DE CONTROL
*
******************************************************************************
************************** LEER_SCI *****************************
* Rutina LEER_SCI de atención a la interrupción del modulo serie*
* El dato recibido se deja disponible en el registro D0
*
*****************************************************************
LEER_SCI
MOVE.L
D1,-(A7)
MOVE.L
SCSR,D1
* Lectura de los registros de estado y de datos.
* a la vez; se resetean los flags de estado.
* automáticamente.
BTST.L
#BIT_FE,D1
* Se comprueba el error de trama.
BNE
TRAMA_ERROR
BTST.L
#BIT_PE,D1
BNE
PARIDAD_ERROR
ANDI.W
#$007F,D1
* Nos quedamos con los bits 0 a 6 en D3.
MOVE.W
D1,D0
* Copia en D0 el dato bueno.
BRA
FIN_LECTURA
* Se comprueba el error de paridad.
TRAMA_ERROR
MOVE.W
#ERR_TRAMA,D0
BRA
FIN_LECTURA
PARIDAD_ERROR
MOVE.W
#ERR_PARIDAD,D0
FIN_LECTURA
MOVE.L
(A7)+,D1
RTE
*----------------------------------------------------------------------------*
******************************************************************************
*
PRINCIPAL
*
******************************************************************************
ORG $400
PRINCIPAL
24
BSR
INHAB_WDOG
* Se inhabilita watchdog
BSR
QSM_SCI_CFG
* Se configura el QSM
MOVEA.L
#INI_BUFFER,A0
* Carga dirección inicio del buffer de datos.
BSR
RECEPTOR_CFG
* Se activan las interrupciones del receptor
#TRAMA_NULA,D0
* Valor de cuando no se recibe trama.
CMP.W
#TRAMA_NULA,D0
* Espera a la recepción de una trama
BEQ
BUCLE
CMP.W
#ERR_TRAMA,D0
BEQ
NUEVA_TRAMA
CMP.W
#ERR_PARIDAD,D0
BEQ
NUEVA_TRAMA
MOVE.B
D0,(A0)+
NUEVA_TRAMA
MOVE.W
BUCLE
BRA
* Comprueba si hay error en la trama
* Comprueba si hay error en la paridad
* Copia la trama recibida en el buffer.
NUEVA_TRAMA
END
25
26
ÍNDICE DE CONTENIDO
7. TELEMANDO POR INFRARROJOS..................................................................... 1
7.1
INTRODUCCIÓN ............................................................................................................................ 1
7.1.1
ESTÁNDARES DE CODIFICACIÓN DE COMANDOS ......................................................................... 2
7.1.1.1 Codificación RC-5 ................................................................................................................ 2
7.1.1.2 Codificación RECS 80 .......................................................................................................... 3
7.1.2
CODIFICACIÓN DE LOS COMANDOS ............................................................................................. 3
7.1.3
TIPO DE MODULACIÓN ................................................................................................................ 4
7.2
TRANSMISOR DE INFRARROJOS ............................................................................................. 4
7.2.1
DIAGRAMA DE BLOQUES DEL TRANSMISOR ................................................................................ 4
GENERADOR DE RELOJ.............................................................................................................................. 5
7.2.3
GENERADOR DEL INTERVALO DE TRAMA ................................................................................... 6
7.2.4
REGISTRO DE DESPLAZAMIENTO ................................................................................................ 8
7.2.5
MODULADOR ASK ..................................................................................................................... 9
7.2.6
EMISOR DE LUZ INFRARROJA .................................................................................................... 10
7.2.7
ALIMENTACIÓN ........................................................................................................................ 12
7.3
RECEPTOR DE INFRARROJOS ................................................................................................ 12
7.3.1
DIAGRAMA DE BLOQUES DEL RECEPTOR .................................................................................. 13
7.3.2
FOTO-RECEPTOR ...................................................................................................................... 13
Red de desacoplo .............................................................................................................................. 15
7.3.3
FILTRO PASO BANDA ................................................................................................................ 16
7.3.4
DEMODULADOR ....................................................................................................................... 18
7.3.4.1 Amplificador de entrada ..................................................................................................... 18
7.3.4.2 Detector de envolvente ....................................................................................................... 18
7.3.4.3 Regenerador ....................................................................................................................... 19
7.4
CONEXIÓN AL MICROCONTROLADOR ............................................................................... 19
7.4.1
PROGRAMA BÁSICO DE ATENCIÓN DE COMUNICACIONES ......................................................... 19
I
Descargar