Академический Документы
Профессиональный Документы
Культура Документы
DIGLENSY SAC
PRESENTA:
TUTORIAL
MICROCONTROLADORES PIC
http://www.diglensy.com/
DIGLENSY SAC
INTRODUCCION
Antiguamente los grandes diseos electrnicos necesitaban circuitos complejos, hoy en da a medida que avanza la tecnologa estos grandes circuitos se han reducido gracias a la aparicin de los diminutos y potentes microcontroladores.
No es novedad decir que los microcontroladores estn invadiendo el mundo y cada vez se hacen imprescindibles en el hardware de cualquier sistema electrnico. Las aplicaciones de los microcontroladores las encontramos en los sectores de consumo, automocin, informtica, telecomunicaciones y en la industria como se muestra en la tabla 1.
Tabla 1 .
Consumo Automocin
Equipo TV Rx Radio Reprod CD Control Remoto Video Microondas Lavadora Secadora Aspiradora Velocmetro Climatizador Sistema de seguridad para vehiculos
Informtica
Teclado Mouse Escner Impresora Fotocopiadora Lector HD
Telecomunicaciones
Telefonos Celulares Telefonos Inalambricos Mdem Identificador de llamadas
Industria
Control de motores Unidades de medida Robtica Procesos de control Detector de humo Lector de Tarjetas
El manejo de los microcontroladores slo se obtiene haciendo diseos reales. Cuando se conoce un modelo de microcontrolador y se han desarrollado proyectos simples, es ms fcil pasar a manejar otros microcontroladores y hacer proyectos ms complejos. La figura 1 muestra un microcontrolador de la familia de microchip.
Figura1-Microcontrolador
DIGLENSY SAC
Un microcontrolador es un circuito integrado programable que gobierna una sola tarea. Los microcontroladores generalmente tienen instrucciones especiales que permiten controlar procesos, todo depende de la habilidad del programador para generar el cdigo para manejar el proceso. Un microcontrolador es simplemente un procesador con su memoria, puertos de E/S y otros dispositivos de propsitos especiales como conversores A/D, contadores, temporizadores y puertos de comunicacin, o en otras palabras es un microcomputador con funciones especiales.
El presente curso tiene como objetivo: Disear sistemas digitales con microcontroladores PIC en aplicaciones industriales (telemetra, automatizacin, seguridad y comunicaciones). Para cumplir estos objetivos se desarrollara: 1. 2. 3. 4. Introduccin a la arquitectura de computadoras (organizacin de un sistema digital). Estudio de la arquitectura de los microcontroladores PIC. Manejo del software MP LAB IDE para la programacin de los microcontrolador PIC. Manejo y aplicacin de los recursos de los microcontroladores PIC.
La figura 2 muestra una aplicacin de los microcontroladores de la empresa Microchip, donde se puede demostrar una solucin completa para sistemas unidireccionales de radio frecuencia a corta distancia, consisti en medir la profundidad en ros, reservorios y l gos a a travs de telemetra para obtener la seccin transversal. La forma tradicional de obtener la seccin transversal de un ro es dividiendo al ro en partes iguales (b1=b2=b3=..bn), luego se mide la profundidad (d1,d2,d3...dn) con una barreta a cada distancia b(i) y por ltimo se obtiene la seccin transversal a travs de la siguiente formula:
bi di
i= 0
Algo similar se hace para medir la profundidad en los reservorios y lagos, pero si nosotros tuviramos una nave a radio control (barquito) que tenga un sensor de profundidad (Sonar) y haramos que atraviese de lado a lado al reservorio, ro o lago, podramos graficar la seccin transversal en tiempo real y de forma ms precisa.
Figura 2- Muestra como se obtendra la seccin transversal, utilizando un Sistema de Telemetra Digital. El diagrama de la figura 3 explica el funcionamiento de todo el sistema, que consiste de un dispositivo electrnico (nave de radio control) que tendr un sensor de profundidad (Sonar) y un microcontrolador con transmisor integrado (RFPIC) con su respectiva antena, el sensor de profundidad enva una seal elctrica a su transductor para que esta energa elctrica sea
DIGLENSY SAC
convertida en un pulso ultrasnico el cual es enviado al fondo del reservorio, ro o lago. Este pulso ultrasnico cuando choca en el fondo regresa en forma de eco. El transductor toma el eco y lo enva al sensor de profundidad en forma de energa elctrica. El microcontrolador toma las seales de transmisin y recepcin del sensor de profundidad para medir el tiempo que demora en ir y venir el pulso ultrasnico, este tiempo nos indica la profundidad. El microcontrolador expresa este tiempo en bits por lo tanto la profundidad tambin estar en bits. Estos bits son enviados al transmisor para ser modulados y luego llevados a la antena para ser enviados por radiofrecuencia al receptor que est en la orilla.
RECEPTOR
RF PIC
INTERFAZ
Figura 3- Muestra el diagrama de Bloques del Sistema. El receptor recibe la seal de radiofrecuencia que contiene la profundidad en bits para enviarlos al segundo microcontrolador. Este microcontrolador acta como minimizador de errores y acondicionamiento de los bits antes de ser enviados a la PC. El envi de bits a la computadora se hace con el protocolo RS232. Estos datos son tomados del puerto serial por nuestro programa en Visual Basic. El programa toma el dato y grafica la profundidad, almacenando este valor en una base de datos. El nmero de datos se configura en el programa y son recuperables gracias a que los datos se almacenan en el programa Microsoft Access.
DIGLENSY SAC
Un sistema digital es una interconexin de mdulos de hardware digital que realizan una tarea especfica de procesamiento de informacin, por lo tanto el diseo de sistemas digitales se realiza con un enfoque modular. La figura 4 muestra la interconexin de mdulos.
SISTEMA DIGITAL
Figura 4- Enfoque modular. Los mdulos se construyen a partir de componentes digitales como registros, decodificadores, elementos aritmticos y lgica de control. Los diferentes mdulos estn interconectados con los datos y las trayectorias de control comunes para formar un sistema digital. Los mdulos digitales se definen mejor por los registros que contienen y las operaciones que realizan sobre los datos que almacenan. Un sistema digital generalmente esta formado por una CPU encargada de ejecutar las instrucciones y por diversos buses que le permitan a la CPU comunicarse con los diferentes perifricos que formen el sistema. La figura 5 muestra la organizacin de un sistema digital (procesador).
Direcciones
CPU
Memoria Periferico 1
Datos Control
Periferico 2
DIGLENSY SAC
Se pueden plantear dos arquitecturas dependiendo del manejo de la memoria del sistema. La figura 6 muestra las dos arquitecturas.
Direcciones
CPU
Datos e Instrucciones
Direcciones
Direcciones
Memoria de Instruccin
CPU
Instrucciones Datos
Memoria de Datos
Figura 6- Arquitectura Von Neumann y harvard. Un ejemplo del tipo de arquitectura Harvard lo podemos encontrar en los microcontroladores PIC , permitiendo conseguir mayores rendimientos en el procesado de instrucciones, al poder acceder de forma simultanea tanto a los datos como a las instrucciones. Para el diseo de un sistema digital es conveniente aplicar una solucin en jerarqua. La figura 7 muestra la jerarqua en el diseo de un sistema digital .
Figura 7 Jerarquas en diseo. Un CPU tiene dos componentes muy importantes (ver figura 8), la ruta de datos y la unidad de control.
DIGLENSY SAC
Datos
Instrucciones
Comandos
Estado
Clk
Figura 8- Componentes de un CPU. Unidad de control:
Datos
Es un circuito secuencial con estados que determinan los pasos y las operaciones que tiene que realizar la ruta de datos. Es el encargado de traducir las seales de control para ejecutarlas en la ruta de datos, de forma que para realizar una determinada operacin solo tiene que generar la secuencia adecuada. Ruta de Datos: Es la encargada de realizar el procesamiento de los datos a nivel de registros, bsicamente operaciones aritmticas de suma, resta, operaciones lgicas AND, OR, XOR, NOT, aunque tambin podra realizar cualquier otro tipo de operacin especfica mas compleja. Adems debe informar en todo momento del estado de la ultima operacin a travs de las lneas de estado, indicando se ha habido desbordamiento o acarreo si el resultado es cero o negativo. Buses: Son los encargados de interconectar los subci cuitos y de llevar la informacin entre los r registros. Transferencia entre registros: Para interconectar los registros de la unidad de ruta de datos podemos utilizar: Multiplexores Bus de tipo tri-states. La utilizacin de uno u otro depende de la cantidad de componentes a interconectar, el tamao de los registros o del nmero de registros. Microoperaciones: Son las operaciones a nivel de los registros. Registro: Unidad bsica de la ruta de datos tiene por lo general una entrada de datos paralelo con un control de carga y /o salida (ver figura 9).
DIGLENSY SAC
Figura 9- Registro en una ruta de datos. Pueden existir registros especiales donde se pueda realizar operaciones de incremento o decremento, borrado y rotacin. Por ejemplo, el registro acumulador de los microprocesadores y el registro de trabajo W de los microcontroladores PIC.
La figura 10 nos muestra una conexin de registros utilizando multiplexores. Existe un decodificador para seleccionar el paso del dato a un registro.
DIGLENSY SAC
Las operaciones que se pueden realizar son de llevar el dato de un registro a otro registro, algunas operaciones se muestran en la tabla2. Tabla2
Unidades funcionale s: Es la encargada de realizar las operaciones en la ruta de datos y esta conformado por: Unidades aritmticas: Suma, resta, incremento y decremento. Unidades lgicas: And, Or, Not y Xor. Unidades de desplazamiento izquierda y derecha
Figura 11-Banco de Registros. La figura 11 muestra las conexiones por dentro de un banco de registros, existen dos mux para seleccionar dos datos de salida A y B. La figura 12 muestra el bloque del banco de registros. Sel D nos permite llevar el dato a un registro, Sel A nos permite seleccionar un registro y poder extraer su dato por A, Sel B nos permite seleccionar un registro y poder extraer su dato por B.
DIGLENSY SAC
2. Unidad Funcional: La unidad funcional consiste de un ALU, este componente generalmente hace operaciones en un nico ciclo de reloj. La figura 9 muestra un ALU, posee una entrada que selecciona la operacin que va a realizar con A y B. La salida F proporciona el resultado de la operacin, cuando un resultado es cero la salida Zero se activa con 1.
B
Zero
Operacin
ALU
F Figura 13-Alu.
Carry o ut
DIGLENSY SAC
La organizacin interna de un sistema digital esta definida por la secuencia de microoperaciones que ejecuta sobre los datos almacenados en sus registros. El control de un sistema digital se puede dar mediante un programa. Un programa es un conjunto de instrucciones que especifican las operaciones, operandos y la secuencia mediante la cual tiene que ocurrir el procesamiento o la palabra de control. El cdigo de instruccin es un grupo de bits que instruye al sistema digital sobre como ejecutar una operacin especifica, por lo general se divide en partes y cada una tiene una interpretacin propia. El cdigo de operacin de una instruccin es un grupo de bits que define operaciones como suma, resta etc. La parte operativa de un cdigo de instruccin especifica la operacin que se va a realizar. Dicha operacin se va a ejecutar sobre algunos registros del procesador. Por lo tanto un cdigo de instruccin debe especificar no solo la operacin, sino tambin l s registros o o palabras de memoria donde se va a almacenar el resultado.
Ruta de Datos Cerrada: La unin del banco de registros con la ALU nos da la ruta de datos cerrada. El resultado de la ALU se deposita en un registro del banco. La figura 14 muestra la ruta de datos cerrada.
DATO Sel D Sel A Sel B W
BANCO DE REGISTROS
A B
Zero
Cod -ope
ALU
Carry out
Figura 14- Ruta de datos cerrada La tabla 4 muestra las operaciones que se pueden realizar dentro de esta ruta de datos. Tabla 4
Ruta de Datos con ingreso a inmediato: Cuando se quiere ingresar un dato externo a la ruta de datos se puede agregar la entrada a un inmediato a travs de un mux(ver figura 15). Cuando SEL I es cero, el inmediato entra a la ruta de datos.
DIGLENSY SAC
DATO
BANCO DE REGISTROS
B 0 1
INMEDIATO
Figura 15-Ruta de datos con inmediato. Ruta de Datos con ingreso a inmediato optimizada: Al realizar las modificaciones de la ruta de datos podemos optimizar la palabra de control (cdigo de instruccin). La figura 16 muestra la ruta de datos optimizada.
DATO
BANCO DE REGISTROS
B 0 1
INMEDIATO
Figura 16-Ruta de datos optimizada. Modos de direccionamiento: Directo: Forma ms sencilla de direccionamiento, posee un espacio limitado de direcciones, la direccin la posee el inmediato.
DIGLENSY SAC
Figura 17-Direccionamiento directo. Indirecto: La direccin sale de un registro del banco de registros.
SEL A INMEDIATO
BANCO DE REGISTROS
MEMORIA DE DATOS
Figura 18-Direccionamiento indirecto. Indexado: La ventaja de este tipo de direccionamiento es que podemos abarcar mas espacio de memoria.
SEL A INMEDIATO
BANCO DE REGISTROS
MEMORIA DE DATOS
Figura 19- Direccionamiento indexado.
Ruta de Datos con acceso a memoria de datos en forma indirecta: La figura 20 muestra la ruta de datos con acceso a memoria en forma indirecta, SEL M sirve para seleccionar el dato que viene de memoria, a travs de A se direcciona la memoria, WRITE y READ nos sirve para escribir y leer la memoria de datos respectivamente.
DIGLENSY SAC
DATO
BANCO DE REGISTROS
B 0 1
DIRECCION
INMEDIATO
write
M E M O R I A
Figura 20-Ruta de datos con lectura y escritura a memoria. Contador de programa: Es el registro que posee la direccin de la siguiente instruccin que se va a leer de la memoria de instrucciones despus de que se ejecute la instruccin presente. La figura 21 muestra el PC.
PC
MEMORIA DE INSTRUCCIONES
Figura 21-Funcionamiento del PC. Por regla general en diseo de microprocesadores (sistema digital), la ruta de datos es el elemento que limita la frecuencia debido a que su diseo esta basado en etapas combinacionales. Una forma de resolver este problema es utilizar el concepto de segmentacin (pipeline), es decir introducir plataformas de registros para que realicen etapas de procesado permitiendo subdividir y minimizar los tiempos de programacin de las etapas combinacionales. La unidad de control puede ser de dos tipos:
DIGLENSY SAC
Control cableado: La seleccin de los nuevos estados y las salidas se implementan mediante lgica, por lo que este tipo de control es el ms adecuado para pequeas unidades ya que ofrece una mayor rapidez en las mismas. Control microprogramado: Se utiliza en sistemas ms complejos donde las salidas de la unidad de control son el contenido de una memoria, esto permite tener mayor potencialidad de instrucciones con una velocidad razonable. Diseo del juego de instrucciones: Un aspecto bastante importante en los sistemas digitales es la codificacin de las instrucciones, ya que esta depende la complejidad del sistema. Risc: Dispone de un juego de un juego de instrucciones reducido y ortogonal. Cisc: Dispone de un juego de un juego de instrucciones extenso y potente con modos de direccionamiento propios a cada instruccin. Debido a su complejidad la duracin de las instrucciones en este tipo de arquitecturas es mayor que en el Risc. La figura 22 muestra un sistema digital con arquitectura harvard. Este tipo de arquitectura la posen los microcontroladores PIC. La unidad de control lee las instrucciones de la memoria de programa, las interpreta y da la orden a la ruta de datos. La ruta de datos lee y escribe en la memoria de datos. Dato
Memoria de Programa o Instrucciones
PC Instrucciones Direcci n
Memoria de Datos
DIGLENSY SAC
Son sistemas digitales completos que se encuentran integrados en un solo chip. El microcontrolador es un computador completo que esta contenido en un chip (circuito integrado), aunque de limitadas prestaciones y se destina a gobernar una sola tarea. La diferencia entre un microcontrolador y un microprocesador esta en que el microprocesador es un sistema abierto (ver figura 23) y el microcontrolador es un sistema cerrado (ver figura 24).
Direcciones Datos
Sistema Abierto
Control
Memoria
Controladores
Perifricos
Sistema Cerrado
Perifricos
Perifricos
Figura 24- Sistema microcontrolador. Familia de los microcontroladores PIC: La familia la forman numerosos miembros en funcin de su complejidad y capacidad de entrada y salida. Pic 12Cxxx: 8 pines y juego de instrucciones de 12 a 14 bits, adems poseen bajo consumo 2.5 voltios Pic 16C5x: 14 y 28 pines y juego de instrucciones de 12 bits, adems poseen bajo consumo, excelente relacin costo/efectividad. Pic 16xxx: Juego de instrucciones de 14 bits, pila de hardware incluida, algunos modelos poseen conversores A/D. Pic 17xxx: Juego de instrucciones de 16 bits, interrupciones vectoriales, procesadores de alto rendimiento. Pic 18xxx: Microcontrolador de alta prestaciones, pila de 32 niveles, Juego de instrucciones de 16 bits, posee 77 instrucciones.
EL PIC16F877:
DIGLENSY SAC
El PIC16F877 (ver figura 25) es un microcontrolador de la familia 16F8XX de Microchip entre sus caractersticas mas resaltantes estn: Arquitectura RISC : Solo posee 35 instrucciones, cada instruccin tarda un solo ciclo de reloj excepto las de salto que poseen 2 ciclos de reloj. Sus operaciones son rpidas hasta 20MHz. Tiene modos de direccionamiento directo y indirecto con capacidad de interrupciones(14). Caractersticas Perifricas: Posee una memoria de programa FLASH de 8Kx 14, memoria de datos SRAM de 368 bytes, memoria de datos EEP ROM 256 bytes y 16 puertos de entrada y salida Posee 3 Timers , Conversor A/D, mdulo PWM, mdulo USART (comunicacin serial).
DIGLENSY SAC
DIGLENSY SAC
EL PIC16F877:
EL PIC16F628A:
DIGLENSY SAC
EL RFPIC12F675:
DIGLENSY SAC
DIGLENSY SAC
Las Instrucciones del PIC poseen formato largo: - Permite optimizar el uso de la memoria de programa. - El Cop nunca ocupa + de una palabra. - Facilita la construccin de ensambladores y compiladores - Pepiline con 2 etapas: Fetch y Ejecucin. - Se ejecuta una instruccin por ciclo ( salvo las instrucciones de salto). - El procesador realiza simultneamente la ejecucin de una instruccin y la bsqueda del cdigo de la siguiente. De esta manera se puede ejecutar una instruccin por ciclo de instruccin. La figura 31 muestra el pipeline de los PICs
Figura 31- Pipeline de los RFPICs Cada ciclo de instruccin dura 4 ciclos de reloj.
Memoria de Programa: La figura 32 muestra el mapeo de la memoria del programa y los niveles de pila de los microcontroladores PIC.
DIGLENSY SAC
DIGLENSY SAC
La memoria de datos est particionada en bancos (ver figura 34, 35 y 36) conteniendo el registro de propsitos generales y el registro de funciones especiales. Los registros de funciones especiales estn localizados en las primeras direcciones de cada banco las dems posiciones son ocupadas por el registro de propsitos generales. Para seleccionar un banco se deber escribir en el bit 5 RP0 del registro STATUS un cero para activar al banco 0 y un 1 para activar al banco 1. Los PICs contie nen un ALU de 8 bits y registro de trabajo llamado W (ver figura 33) que no est mapeada en la memoria de datos. En una instruccin tipica que contiene 2 operandos, tpicamente uno de ellos es el registro W y el otro es un registro de la memoria de datos o un literal proveniente de la instruccin.
DIGLENSY SAC
DIGLENSY SAC
DIGLENSY SAC
35
Cada instruccin es una palabra de 14 bits, dividida en cdigo de operacin, el cual especifica la orden a ejecutar y una o ms operandos sobre los que acta. Todas las instrucciones se demoran en ejecutar un ciclo de mquina con la excepcin de las instrucciones de salto que toman dos ciclos.
DIGLENSY SAC
Mnomnico Parmetros ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF f,d f,d f f,d f,d f,d f,d f,d f,d f,d f,d f f,d f,d f,d f,d f,d
Descripcin Add W and f AND W With f clear f clear W Complement f Decrement f Decrement f, Skip
Mnomnico Parmetros BCF BSF BTFSC BTFSS f,b f,b f,b f,b
Descripcin Bit Clear f Bit Set f Bit Test f, Skip if Clear Bit Test f, Skip if Set
Mnomnico Parmetros ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN SLEEP SUBLW XORLW k k k k k k k k k
Descripcin Add W and k AND W With k Subrutine clear WDT Goto address Inclusive OR literal with W Move literal to W Return of interrupt Return with literal in W Return of subrutine Go into standby literal Subtract W from literal Exclusive OR literal with W
Ciclos 1 1 2 1 2 1 1 2 2 2 1 1 1
TO,PD C,DC,Z Z
DIGLENSY SAC
Posicin 02h
Posicin 0Ah
Figura 37- Contador del programa
Registro Status: Es el registro mas usado (ver figura 38), este registro tiene: Los estados aritmticos del ALU Indica el estado de Reset Selecciona el banco a acceder en la memoria de datos
DIGLENSY SAC
1= Vale 1 cuando se produce un acarreo en el cuarto bit. De inters en operaciones BCD. 0= Vale 0 cuando no se produce acarreo. Bit 0 C : Carry en el bit de mas peso (trabaja con las instrucciones ADDWF, ADDLW, SUBLW, SUBWF) 1= Vale 1 cuando se produce un acarreo en el bit de mas peso. 0= Vale 0 cuando no se produce acarreo. Registro Option: Este registro (ver figura 39 y 40) Posee varios bits que configuran: El TMR0 y el divisor de frecuencia. La Interrupcin Externa del Pin RB0 y GP2
DIGLENSY SAC
Registro Oscal: Este registro (ver figura 40) se encuentra en la direccin 90h del banco 1 de la memoria de datos RAM. Es usado para calibrar el oscilador interno de 4MHz del RFpic a travs de 6 bits.
DIGLENSY SAC
Puerto de Entrada/Salida de 8 bits (ver figura 43) . Este puerto puede leerse y escribirse como si tratara de un registro cualquiera y algunos de sus pines tienen las funciones alternas para la generacin de interrupciones y la de programacin serial: RB0/INT: Interrupcin Externa. RB7:RB4: Interrupcin por cambio de estado. El registro de control de este puerto (TRISB - 0x86) est localizado en el Banco 1 y determinar si los puertos son de entrada o salida. Cada uno de los pines del puerto B tiene un dbil elemento pull-up interno (aprox. 250uA); este elemento es automticamente desconectado cuando el pin se configura como salida. Estos elementos pull-up son especialmente tiles cuando el microcontrolador est en modo de bajo consumo, ya que no se tendr entradas flotantes.
DIGLENSY SAC
DIGLENSY SAC
DIGLENSY SAC
DIGLENSY SAC
Mdulo comparador: Algunas familias de microcontroladores poseen un comparador analgico. Las entradas del comparador (RFPIC12F675) estn multiplexadas con los pines GP0 y GP1. Cuenta internamente con un voltaje de referencia el cual puede ser aplicado a una de las entradas del comparador. Adicionalmente, GP2 puede ser configurado como la salida del comparador. El registro de control del comparador (CMCON) se muestra en la figura 49, el cual contiene los bits de control del comparador.
Bit 7 Bit 6
No implementado: LEIDO COMO 0 COUT: bit de salida del comprador Cuando CINV = 0 1= Vin+>Vin0= Vin+<VinCuando CINV = 1 0= Vin+>Vin1= Vin+<VinNo implementado: LEIDO COMO 0 Bit de inversion de la salida del comprador 1=Salida Invertida 0=Salida No Invertida CIS: bit de conmutacin de entrada del comparador Cuando CM2:CM0 =110 o 101 1= Vin- conecta a CIN+ 0= Vin- conecta a CINCM2:CM0: Bits de Mode de comparacin
Bit 5 Bit 4
Bit 3
Bit 2-0
Operacin del Comparador: El comparador esta mostrado en la figura 50, la relacin entre los niveles de entrada analgica y la salida digital. Cuando la entrada analgica Vin+ es menor que la entrada Vin-, la salida del comparador est en baja. Cuando la entrada analgica Vin+ es mayor que la entrada analgica Vin-, la salida del comparador est en alta. Las reas sombreadas de la salida en la figura 50 representa la incertidumbre debido a las compensaciones de la entrada y al tiempo de respuesta.
DIGLENSY SAC
Tabla 6-COUT
Configuracin del Comparador: Existen 8 modos de configuracin para el comparador. EL registro CMCON es usado para s eleccionar el modo. La figura 51 muestra los 8 posibles modos. El registro TRISIO controla la direccin de datos para los pines del comparador para cada modo. Si el modo de comparacin es cambiado, el nivel de la salida del comparador podra no estar habilitada por un periodo especfico de tiempo. Nota : Las interrupciones del comparador deberan estar deshabilitadas durante el cambiado del modo de funcionamiento del comparador. Sino, una falsa interrupcin podra ocurrir.
DIGLENSY SAC
DIGLENSY SAC
Volta de referencia: Hay dos opciones para el voltaje de referencia del conversor A/D: O se utiliza VDD, o se usa un voltaje analgico aplicado a VREF. El bit VCFG (ADCON0<6>) controla la seleccin de los voltajes de referencia. Si VCFG est activado, entonces el voltaje del pin VREF es la referencia; sino, VDD s la referencia. Conversin del CLOCK: El ciclo de conversin que requiere el A/D es de 11 TAD. La fuente del clock de conversin es seleccionable por software a travs de los bits ADCS (ANSEL<6:4>). Existen 7 posibles opciones de clock: FOSC/2 FOSC/4 FOSC/8 FOSC/16
DIGLENSY SAC
FOSC/32 FOSC/64 FRC (Dedicado al oscilador RC interno) Para una correcta conversin, el clock de conversin del A/D (1/TAD) debe ser seleccionado para asegurarse un mnimo TAD de 1.6 s. La Tabla 7 muestra unos cuantos clculos de TAD para seleccionar las frecuencias.
Tabla 7- TAD
Como empezar una conversin: La conversin A/D es iniciada activando el bit GO/DONE (ADCON0<1>). Cuando la conversin es completada, el modulo A/D: Limpia el bit GO/DONE Pasa a 1 la bandera ADIF Genera una interrupcin (si est habilitada). Si la conversin debe ser abortada, e bit GO/DONE puede ser limpiado por software. El l registro ADRESH:ADRESL no se actualizar con una conversin del muestreo de A/D parcialmente completo. En lugar de eso, el registro ADRESH:ADRESL mantendr el valor de la conversin previa. Despus de abortada una conversin, se requiere un retraso de 2 TAD antes de una nueva adquisicin. A continuacin del retraso, la adquisicin de la entrada es iniciada automticamente por canal seleccionado.
Salida de la conversin: La salida de la conversin A/D puede ser proporcionada en dos formatos: left or right shifted. El bit ADFM (ADCON0<7>) controla el formato de salida. La Figura 41 muestra los formatos de salida.
DIGLENSY SAC
Bit 6
Bit 1
Bit 0
DIGLENSY SAC
bit 3-0
DIGLENSY SAC
TRANSMISOR UHF
Operacin del Transmisor El RFPIC12F675 posee un transmisor ASK en UHF completamente integrado que contiene un oscilador de cristal, un PLL (lazo de fase enganchado), un amplificador de potencia con salida de colector controlado por medio lgico. Existen 3 clases de RFPIC las cuales se diferencian por la banda de frecuencias de operacin las cuales se muestran en la tabla 8.
La estructura interna del transmisor se muestra en la figura 56. El oscilador Collpis genera una frecuencia que es captada del cristal. El VCO convierte el voltaje del pin LF a una frecuencia. Esta frecuencia esta dividida por 32 y comparada a la referencia del cristal. Si la frecuencia o fase no es igual a la referencia, El charge PUMP corrige el voltaje a travs del LF pin. La seal de salida del VCO es tambin amplificada por el Amplificador de Potencia el cual est conectado con la antena. Los componentes externos requeridos son un Cristal que sirve para fijar la frecuencia de transmisin, capacitores y un arreglo de impedancias para obtener la mxima potencia en la antena. Los pines VDDRF y VSSRF son la fuente de poder y la tierra respectivamente del transmisor. Estos pines estn separados de la fuente VDD y la tierra VSS del microcontrolador.
DIGLENSY SAC
tx RFXTAL El factor 32 viene del lazo de realimentacin del PLL (ver Figura 56)
Para seleccionar la potencia de transmisin se vara el voltaje del pin PS conectando una resistencia, los valores se muestran en la tabla 9:
F =F
32
DIGLENSY SAC
Figura 57- Muestra como colocar la resistencia para seleccionar la potencia de transmisin.
Debemos mencionar que el RFPIC tiene un control lgico para habilitar el funcionamiento del transmisor, nos referimos al pin RFEN. Mientras est en un nivel lgico 1 el transmisor se habilita caso contrario el transmisor esta en OFF. Modulacin ASK: La transmisin de seales se ha incrementado de manera rpida. Seales anlogas pueden ser convertidas en seales digitales antes de ser transmitidas. Cabe destacar las ventajas de uso que tienen las seales digitales frente a las seales de analgicas como son la facilidad de tratamiento y la posibilidad de introducir mecanismos que permitan la deteccin y correccin de errores ocurridos durante la transmisin Existen dos formas de transmitir una seal digital, la primera no es otra que transmitir la seal a travs de un canal sin efectuar antes ningn tipo de modulacin. Cuando ocurre esto, se dice que la transmisin se realiza en banda base. La segunda forma, que consiste en modular la seal con alguna tcnica de modulacin digital antes de ser transmitida, recibe el nombre de transmisin en banda ancha. Bsicamente, modular consiste en convertir una seal digital en una seal analgica que ir variando su amplitud, frecuencia, fase o bien amplitud y fase conjuntamente, segn los valores que vaya tomando la seal digital de informacin. Las grandes ventajas de la transmisin en banda ancha frente a banda base son la posibilidad de multiplexin en frecuencia de varias seales digitales moduladas, y la mayor distancia que pueden alcanzar las seales transmitidas en banda ancha sin verse afectadas por el ruido. Amplitude Source Keying tambin conocida como OOK ON OFF KEYING, es una tcnica de modulacin en la que la informacin se encuentra modulada en amplitud , as pues la modulacin ASK no es mas que una variacin de la modulacin AM.
f (t ) , que guarda la informacin a transmitir con unos niveles de tensin de 0 a A voltios y anchura del pulso de Tb ver figura 58, adems emplearemos una seal portadora (cos t ) de
alta frecuencia.
Para Afrontar el estudio de la modulacin ASK, vamos a considerar una seal binaria
fask (t ) = f (t ) cos(t )
DIGLENSY SAC
Tb
Figura 58- Muestra a la derecha la seal portadora y a la izquierda la seal binaria. es decir :si si
Figura 59- muestra a la seal binaria con modulacin ASK. En efecto la multiplicacin de
(cos t )
DIGLENSY SAC
Existen diversos moduladores de ASK (ver figura 61), nosotros hablaremos del modulador balanceado, el cual es similar a un multiplicador analgico. La salida analgica es el producto de dos seales de entrada.
Modulador
Balanceado
F(t) Cos w ct
Cos wct
Figura 61- Muestra el Modulador ASK. Como se puede observar la salida del modulador es producto de la seal binaria F(t) y de la portadora Cos (wct) . La salida es la misma de la figura 47.
Demodulador ASK: Puesto que la modulacin ASK es un caso particular de la modulacin AM, los demoduladores AM tambin son vlidos para la deteccin de seales ASK. De esta manera existen dos clases de demodulador, los de deteccin asncrona y los de deteccin de envolvente ' H R X DL Deteccin $ V P G OFyn tncrona: Consiste en multiplicar analgicamente la seal ASK que llega al demodulador (ver figura 62), por la seal portadora que se genera localmente en el receptor. Esta seal resultante se hace pasar por un filtro pasa bajo con frecuencia de corte menor que 2wc como se ilustra en la figura siguiente.
G2(t)=K.F(t)/2
K.Cos wct
Figura 62- muestra el Demodulador de Deteccin Asncrona. La validez de este mtodo se puede demostrar en: 1 + Cos 2 wct KF (t ) KF (t )Cos 2wct G1(t ) = KF (t )Cos 2 wct = KF (t ) = + 2 2 2 Por lo tanto
Desaparece en el filtrado
DIGLENSY SAC
G 2( t ) =
KF (t ) 2
Colocando a la salida del filtro un adaptador de niveles, o simplemente haciendo K=2 recuperamos F(t). Este tipo de demodulacin tiene problemas de fase y frecuencia. ' H R X DL ' HHFFL de Envolvente: P G OFyn W yn En este caso la seal ASK de alta frecuencia que llega al receptor, se hace pasar por un dispositivo no lineal (Diodo) y de un filtro pasa bajos.
Figura 63- Muestra el Demodulador de Deteccin Envolvente. El diodo rechaza la parte negativa de la seal ASK y el filtro pasa bajos no puede seguir las variaciones rpidas de la seal, por lo que solamente se queda con la seal envolvente que dejo pasar el diodo. El adaptador de niveles aparece para corregir la escala a la salida del demodulador. La deteccin envolvente de las seales ASK es algo inferior a la deteccin asncrona, por lo contrario es menos costosa. Antena de Lazo : Las antenas de Lazo(ver figura 54) son muy populares especialmente para pequeos transmisores y tpicamente tienen forma circular, cuadrtica o rectangular y casi siempre estn impresas en una placa.
Figura 64- Muestra el modelo de circuito equivalente de una antena de Lazo. El modelo consiste de dos resistencias y un inductor. El resistor Rrad o resistencia de radiacin modela la energa de radiofrecuencia irradiada por la antena. Asumiendo que una corriente I fluye por el lazo, la potencia irradiada esta dada por la ecuacin:
Pr adiacion = I 2 Rrad El segundo resistor en el modelo, Rloss modela la perdida no deseada que es inevitable en la antena que es consumida en forma de calor. Si Rloss es mas grande que Rrad la antena es deficiente. La potencia perdida en forma de calor esta dada por la ecuacin: Pperdida = I 2 Rloss I es uniforme alrededor del lazo slo para lazos de circunferencias pequeas. Para complementar, la potencia total entregada a la antena est dada por la suma de las radiaciones de las resistencias que se expresa en la siguiente ecuacin: Ptotal = I 2 ( Rrad + Rloss )
DIGLENSY SAC
En la practica Rrad est determinada por el rea del lazo de la antena y Rloss est en funcin del tamao y de la conductividad del lazo. &i lculo de la Resistencia de Radiacin: La resistencia de radiacin en una pequea antena de lazo est dada por:
A2 Rrad = 320 4 Donde A es el rea en metros cuadrados y la longitud de onda en metros de la frecuencia
4
de radiacin. &i lculo de la Resistencia de 3prdida: La resistencia de prdida en una pequea antena de lazo est dada por:
Rloss =
l . f . 2w
Donde l es el permetro (circunferencia) del lazo en metros, w es el ancho de la pista en la tarjeta impresa en metros, f es la frecuencia de radiacin en Hertz, = 4 .10 7 y es la conductividad de la pista en la tarjeta impresa, para el cobre el valor tpico es de 5,7.10 7 s / m . Ci lculo de la Inductancia del Lazo: El tercer componente en el modelo es la inductancia L. La inductancia es primordialmente un efecto magntico y esta dado por la siguiente ecuacin:
L=
EL Receptor RXD0420:
8A l Ln 2 l .w
El RXD0420 (ver figura 65) es un receptor heterodino en la banda de UHF y recibe datos digitales para ASK. Posee una arquitectura simple y de bajo costo. Requiere pocos componentes para completar un sistema de de recepcin. Este receptor cubre un rango de recepcin de frecuencia desde 300MHz hasta 450MHz y es compatible con el RFPIC (microcontrolador con transmisor). Las caractersticas que posee son las siguientes: Ancho de banda angosto. Ganancia LNA seleccionable a travs de un control. Ancho de banda del IF configurable a travs de un filtro cermico externo, desde 455KHz hasta 21.4MHz. Posee un indicador de seal fuerte recibida (RSSI) para la demodulacion ASK. Rango ancho de operacin de voltaje y consumo mnimo de corriente. Posee 32 pines, 8 en cada lado. El Receptor RFRXD0420 esta compuesto de: LNA amplificador de bajo ruido Mezclador de conversin baja para seales de RF para la frecuencia intermedia IF seguido de un preamplificador IF. Un PLL totalmente integrado, sintetizador de frecuencia para la generacin de un oscilador local LO. La frecuencia sintetizadora consiste de un oscilador de cristal, un detector de frecuencia en fase, oscilador controlado por voltaje VCO, divisor por 16
DIGLENSY SAC
estable con realimentacin, un amplificador de limite IF para limitar la seal IF y recibir el indicador de seal fuerte en la recepcin (RSSI), demodulador y un OPAM que se configura para trabajar como comparador de data ASK.
Figura 65- Muestra el diagrama de bloques del receptor RFRXD0420. Descripcin del Circuito del RX: Esta seccin describe la circuiteria interna del RFRXD0420. o Circuito Habilitador: El pin 28 ENRX acta como habilitador del receptor, la tabla 10 muestra su descripcin:
DIGLENSY SAC
o o
Sintetizador de Frecuencia: El PLL genera un oscilador local LO que consiste de un oscilador de cristal, un detector de fase-frecuencia, un charge pump, un VCO y un divisor por 16 estable realimentado. Amplificador de bajo ruido: El LNA es un amplificador de alta ganancia cuyo propsito general es disminuir el ruido y as mejorar la sensibilidad del receptor. La entrada del LNA es el pin 31 y tiene una impedancia de 26 // 2 pF .La ganancia del LNA es seleccionada por un nivel alto o bajo con entradas CMOS a travs del pin 2. Mezclador1 y en preamplificador IF: El mezclador realiza la conversin de la seal de RF a una Frecuencia intermedia (IF) y luego lleva la seal a un preamplificador de IF. Amplificador limitante IF con RSSI: EL Amplificador limitante IF amplifica y limita la seal IF. Esto genera el indicador fuerte de seal recibida. Amplificador Operacional: El OPAM slo se configura para la salida ASK.