capitulo ii: marco teorico a.-fundamentos …
TRANSCRIPT
CAPITULO II: MARCO TEORICO
11
CAPITULO II: MARCO TEORICO
A.-FUNDAMENTOS TEÓRICOS:
1.-SISTEMAS.
“Un sistema es una combinación de componentes que actúan
conjuntamente y cumplen determinado objetivo. Un sistema no esta limitado
a objetivos físicos”. (Ogata; 1993, p:03). En esta investigación es referido a
un dispositivo del Hardware (electrónico) que será capaz de cumplir con una
acción determinada de control y monitoreo.
2.-CONTROL.
“Significa medir el valor de la variable controlada del sistema, y aplicar
al sistema la variable manipulada para corregir o limitar la desviación del
valor medido”. (Ogata; p:02). Donde el control es la acción que da la orden
del cambio del valor de una variable para tener un resultado deseado.
3.-SISTEMA DE CONTROL.
Los sistemas de control ejercen poderosa influencia sobre cada faceta
de la vida moderna. El control automático ha jugado un papel vital en el
avance de la ciencia y de la ingeniería. Los avances en la teoría y práctica
del control automático brindan medios para lograr el funcionamiento óptimo
CAPITULO II: MARCO TEORICO
11
12
CAPITULO II: MARCO TEORICO
de sistemas dinámicos, mejorar la productividad, liberarse de la monotonía
de muchas operaciones manuales rutinarias y repetitivas, entre otras
ventajas.
Según Hosteter (1993; p:02), “ en el sentido más amplio, un sistema
de control es cualquier interconexión de componentes que satisfacen una
función deseada”. El concepto de sistema de control puede describirse
mediante el diagrama mostrado a continuación:
Como se puede observar en la Figura # 1, la principal función del
sistema consiste en controlar la variable “B” de una manera preestablecida
mediante la señal de acción “A” a través de los elementos del sistema de
control.
PROCESO
Señal de acción “A”
(ENTRADA)
Variable Controlada “B”
(SALIDA)
Fig. # 1 Diagrama de Bloque de un sistema de Control Fuente: Hostetter, Savant y Stefani (1982)
13
CAPITULO II: MARCO TEORICO
En forma general, la variable controlada en la salida del sistema y la
señal de acción es la entrada.
De tal forma, que se debe tener en cuenta que la entrada es el
estímulo, excitación aplicada a un sistema de control, generalmente esta
proviene desde una fuente externa de energía para luego producir una
fuente especifica del sistema de control y la salida es la respuesta real que
obtiene de un sistema de control.
Según Ogata los sistemas de control se dividen en dos tipos;
destacándose el Control de lazo abierto y el Control de lazo cerrado.
3.1-SISTEMA CONTROL DE LAZO ABIERTO.
Las variables controladas no se miden para efectuar una comparación,
así el controlador modifique la variable manipulada.
Ogata (1993, p.05), señala que, “los sistemas de control en las que las
salida no tiene efecto sobre la acción de control, se denominan sistema de
control de lazo abierto. En un Sistema de control de lazo abierto la salida
ni se mide ni se retroalimenta para compararla con la entrada”. Tal
14
CAPITULO II: MARCO TEORICO
afirmación puede observarse en el diagrama de bloque de la figura # 2, la
cual ilustra la distribución de un sistema de lazo abierto.
Entradas Deseadas Perturbaciones Salida
Como puede observarse, en cualquier sistema de control de lazo
abierto, no se compara la salida con la entrada de referencia. Por lo tanto,
cada entrada de referencia corresponde a una condición de operación fija.
Así, la precisión del sistema depende de la calibración. En presencia de
perturbaciones, un sistema de control de lazo abierto no cumple su función
asignada.
También vale la pena destacar que, el sistema de control de lazo
abierto posee la ventaja de la simplicidad pero su funcionamiento es
fuertemente dependiente de las propiedades de la planta. Así mismo, pueden
también crear respuestas indeseables que seria conveniente reducir.
En la práctica el control de Lazo abierto se puede utilizar si la relación
entrada-salida es conocida, y si no se presentan perturbaciones tanto
Fig. # 2 Diagrama de Bloque de un Sistema de Lazo Abierto Fuente: Hostetter, Savant y Stefani (1982)
CONTROLADO PLANTA
15
CAPITULO II: MARCO TEORICO
internas como externas. En conclusión un sistema de control que funciona
sobre una base de tiempo, es un sistema de lazo abierto.
3.2-SISTEMA CONTROL DE LAZO CERRADO.
Ogata (1993, p:03), afirma que “ un sistema de control
retroalimentado, es aquel que tiende a mantener una relación preestablecida
entre la salida, y alguna entrada de referencia, comparándolas y utilizando la
diferencia como medio de control”.
En un sistema de control retroalimentado, se dispone de una
trayectoria de retorno de la salida al controlador. Una parte de las salidas o
todos ellas, se miden y son utilizadas por el controlador, el cual puede
ejecutar las acciones de rutinas de comparación antes mencionada y
establecer las acciones pertinentes de control. En la Figura 3 se puede
apreciar un diagrama de bloques de un sistema de control de lazo cerrado.
16
CAPITULO II: MARCO TEORICO
Entradas Perturbaciones Salida Deseadas
4.-SEÑAL:
“Se define una señal como una función del tiempo con valor real. Se
entiende por valor real el que para cualquier valor fijo del tiempo, existe un
valor de la señal que es un número real” (Dorf; 1989, p.267).
5.-SEÑAL DIGITAL.
Son señales donde la información está codificada entre dos niveles
fijos de tensión, también llamados niveles lógicos y que son básicamente
trenes de pulsos. Al igual que las señales analógicas pueden ser periódicas o
no periódicas.
CONTROLADO PLANTA
Medición de las salidas
Fig. # 3 Diagrama de Bloque de un Sistema de Lazo Cerrado Fuente: Hostetter, Savant y Stefani (1982)
17
CAPITULO II: MARCO TEORICO
6.-SENSORES.
6.1. SENSORES POR INFRARROJOS PASIVOS.
§ Principio de Funcionamiento:
Los sensores de movimiento por infrarrojo pasivos funcionan de
manera parecida a las cámaras infrarrojas, que se usan en multitud de
aplicaciones, como por ejemplo la detección de pérdida de calor en edificios.
El sensor infrarrojo obtiene una imagen del calor del área que se
quiere controlar mediante el uso de un sistema de lentes (Fresnel lenses).
Después de un período de arranque de unos 20 segundos se guarda la
imagen.
El sensor conmuta si se detecta un cambio en imagen producido por
un movimiento. Para eso se deben dar dos condiciones:
1. Debe haber una diferencia de temperatura entre el objeto a
detectar y el fondo de +/-2 grados centígrados.
2. El objeto a detectar se debe mover a una velocidad superior a 10
cm/s.
§ Detección de Personas y objetos.
18
CAPITULO II: MARCO TEORICO
Es ideal para la detección de personas, ya que habitualmente existe
una diferencia de temperatura de 10 grados centígrados entre al medio
ambiente y una persona vestida. Por motivos de naturaleza física, esta
tecnología solo se debe utilizar para detectar personas o animales.
§ Inteligencia Y Compensación de la Temperatura.
Los sensores siempre garantizan una respuesta dinámica según las
condiciones. Incluyen un sensor de temperatura integrado para optimizar el
bucle del amplificador en función de la temperatura ambiente.
§ Gran Precisión de las Lentes.
Los sistemas de sensores van equipados con cantidad determinada de
lentes de Fresnel. Estas permiten fijar de manera muy precisa el área de
detección. Mediante un sistema de diafragmas y un sistema de zoom, el
cliente puede ajustar a su medida que casillas quiere que estén activas.
Además se puede ajustar el tamaño de las celdas de manera muy precisa.
Así se consigue una gran posibilidad de ajuste, como si fuera una alfombra
invisible.
§ Aplicaciones Típicas.
19
CAPITULO II: MARCO TEORICO
Estos equipos son adecuados para la apertura de cualquier sistema
automático, Como ascensores y puertas automáticas. Se pueden utilizar
como activadores de los sistemas de alarmas, de luz, aire acondicionados,
etc, En cualquier aplicación. También son utilizados para el control de las
zonas de entrada en sistemas de transporte como trenes y autobuses.
Donde fue aplicada en este proyecto.
6.2.-SENSORES DE MOVIMIENTO POR INFRARROJO ACTIVO.
§ Principio de Funcionamiento:
Los sensores de movimiento por infrarrojos activos utilizan un emisor y
por lo menos dos receptores. Estos receptores deben ser de gran calidad
para asegurar un correcto funcionamiento. Tanto el emisor, como el receptor
están en la misma placa de circuito impreso. El ajuste de la distancia de
detección se realiza mediante un sistema mecánico que cambia el ángulo
entre el transmisor y los receptores. A este sistema de ajuste se le denomina
triangulación o medición diferencial. Los sensores infrarrojos activos detectan
presencia, no movimiento. Los objetos serán detectados mientras interfieran
entre la luz emitida y recibida. Es un sistema estático de detección.
20
CAPITULO II: MARCO TEORICO
El área de detección depende en gran medida del centro del enfoque
óptico entre emisor y receptor conocido como centreto-centre. Se pueden
combinar varios de estos sistemas para crear líneas de luz (cortinas de luz) o
para cubrir áreas o sensores para contar personas (CLS2000).
§ Modos de Trabajo.
(a) Supresión de fondo:
La supresión de fondo sirve para indicar que queremos ver
hasta una cierta distancia, pero no lo que esté más allá. Muchas
fotocélulas o sensores denominados de supresión de fondo no lo son.
El problema viene con la reflexión de los distintos colores. El blanco
refleja la mayoría de la luz. El negro absorbe casi toda la luz, aunque
siempre algo se refleja. Por tanto dentro de todos los sensores de
supresión de fondo existe una pequeña diferencia entre la distancia de
detección para el blanco y negro. Si esta distancia es muy grande
dependiendo de nuestra aplicación nos servirá o no (pero en la
mayoría de los casos causará graves problemas).
§ Ventajas de la Análisis de fondo:
21
CAPITULO II: MARCO TEORICO
1. El área de detección es casi constante incluso para objetos de
índice de reflexión muy distintos.
2. Detección fiable de objetos oscuros sobre fondos claros.
3. No se ve afectado por reflexiones no deseadas de objetos en el
fondo (suelos de mármol, puertas metálicas,...)
4. Alta función de reserva. Es decir, el receptor suele recibir mucha
más intensidad de luz que la que necesita realmente para
funcionar. En caso de ambientes hostiles disminuye los posibles
errores Posible instalación en objetos móviles.
(b) Análisis de Fondo:
El análisis de Fondo necesita un fondo donde se refleje la luz
para funcionar. Mientras el receptor no vea la luz del emisor la señal
permanece activa. De esta forma en caso de fallo, por un mal
funcionamiento o por vandalismo, el sistema permanecerá activado.
§ Ventajas de la Supresión de fondo:
1. Las mismas ventajas que en los puntos 1, 2 y 3 de la
supresión de fondo.
2. Posibilidad de test de funcionamiento.
22
CAPITULO II: MARCO TEORICO
3. Ideal para cierres de seguridad ya que el sistema óptimo no
puede taparse directamente. Detecta objetos planos en el
suelo.
6.3.-SENSORES DE MICROONDAS.
El sensor emite una señal en una frecuencia de microondas NO
DAÑINAS, si esta frecuencia varía es porque hay un movimiento, y esto es
electrónicamente informado al panel de control. Estos sensores permiten
regular el tamaño del intruso que ocasiona una alarma. A veces se usan
como parte de los infrarrojos pasivos.
§ Principio de Funcionamiento:
Los sistemas de radar o microondas funcionan mediante ondas
electromagnéticas, similares a las de los radios transmisores, pero con una
frecuencia mucho mayor (>1 GHz=1,000,000,000 vibraciones/seg).
Las ondas emitidas son reflejadas en el suelo, paredes y otros objetos
devuelta al receptor. Gracias a la antena emisora ajustable las microondas
emitidas se pueden enfocar y dirigir al área deseada. Si no se produce
23
CAPITULO II: MARCO TEORICO
ningún movimiento dentro de esta zona la frecuencia de emisión es igual a la
recibida, indicando que la zona está despejada.
Las personas y objetos que se muevan dentro del área activan el
sensor. La frecuencia emitida y la recibida ya no son iguales. Esta diferencia
en frecuencia es analizada por un microprocesador produciendo una señal
de salida mediante el relé o transistor. Las vibraciones transmitidas en el
propio detector, sobre todo si son fuertes, pueden producir una falsa
detección (efecto Doppler).
La única condición que se debe cumplir para la detección es que el
objeto se mueva a una velocidad superior a 10 cm/s.
§ Respuesta.
La respuesta producida por un sensor depende de la reflexión de las
microondas. La reflexión a la vez dependen de tres factores que son:
1. La superficie de reflexión del objeto.
2. La velocidad del objeto. A mayor velocidad mejor reflexión.
3. El ángulo de penetración o acercamiento. El sensor obtiene
mejores resultados cuando el objeto se aproxima frontalmente.
24
CAPITULO II: MARCO TEORICO
§ La Antena Ajustable.
Los sensores mediante radar emiten la microondas a través de la
antena ajustable (patentada). Esta antena permite ajustar el campo de
detección. Además permite hacer ajustes asimétricos siendo ideal para
obtener un área adecuada a cada aplicación.
§ Reflexión/Transmisión.
Las microondas son totalmente reflejadas por los metales (efecto
espejo), son absorbidas por el agua y oxígeno y atraviesan muchos tipos de
plásticos y cristal casi sin resistencia. Estos sistemas de microondas son
totalmente seguros para el hombre y los animales. Esto es debido a que
tiene una potencia muy baja.
§ La Solución a las Interferencias.
Existen un gran número de factores que pueden interferir en el sistema
de detección de radar como son la lluvia, la nieve, las lámparas
fluorescentes, la vibración de las propias puertas, etc. Pero además
últimamente existe un factor muy importante que son las interferencias
parasitarias producidas por teléfonos móviles, equipos de radio y rayos X,...
25
CAPITULO II: MARCO TEORICO
Todos estos problemas se solucionan con un diseño optimizado de sus
circuitos que incluyan filtros de banda ancha y otros sistemas de supresión,
Sistemas a pruebas de teléfonos móviles mediante filtrado analógico. Ahora
con las nuevas versiones de filtrado digital los sistemas son inmunes a todas
las interferencias del campo de las telecomunicaciones.
§ Reconocimiento de Sentido de la Marcha.
Existen versiones capaces de diferenciar si el objeto se aproxima o se
aleja del sensor. Esto nos permite que la señal de detección solo se active
cuando se aproxime el sensor. Así una vez pasada la puerta, cuando la
persona es vista por el sensor del otro lado, la puerta se cerrará. Esto
permite cerrar las puertas hasta un 50% más rápido, y de esta manera se
consigue un ahorro de energía significativo.
§ Aplicaciones Típicas.
1. Puertas: generador de pulsos para la apertura de puertas
automáticas (incluso para puertas de gran velocidad) y barreras.
2. Ascensores: para controlar el área enfrente a los ascensores y
evitar que se cierren antes de tiempo.
26
CAPITULO II: MARCO TEORICO
3. Sistemas de Transporte: para el control de tráfico, sensores para
autopista y como sistema de conteo.
4. Sistemas supervisores: como sensores de presencia para la
activación de alarmas, de la luz, aire acondicionado, calefacción en
cabinas telefónicas, salas de conferencia, oficinas,... Control sin
contacto del agua en duchas, grifos, urinarios,...
6.4.-CONTACTOS MAGNETICOS.
Los contactos magnéticos son contactos de imán, que se colocan
entre dos piezas móviles, como por ejemplo puertas, ventanas, portones,
etc., estos sensores dan aviso al panel de control cuando las dos piezas se
separan. Hay contactos magnéticos de muchísimos modelos, y tamaños, y
se seleccionan de acuerdo a la función y el lugar donde se instalarán.
6.5.- DETECTORES DE ROTURA DE VIDRIO.
Básicamente hay dos tipos:
6.5.1. Los de Impacto:
Son sensores pequeños que se pegan a los vidrios o marcos, y
reaccionan frente al golpe o impacto que rompe el vidrio.
27
CAPITULO II: MARCO TEORICO
6.5.2. Los Volumétricos:
Son sensores que se colocan retirados de los vidrios, aunque
cerca de ellos, y analizan los sonidos del ambiente. Al igual que el
vidrio que al romperse emite un sonido característico, este sensor
reacciona solamente frente a este sonido, para lo cual tiene un
analizador electrónico ultra sensible incorporado. Este sensor también
transmite sus novedades al panel de control.
6.6.- SENSORES DE ASALTO.
En la mayoría de los casos se trata de botones, ya sean cableados o
inalámbricos, que están al alcance de las personas que pueden llegar a ser
asaltadas. También existen otros dispositivos que se utilizan para señalizar
asaltos, especialmente en entidades financieras.
6.7.-DETECTORES DE VIBRACIÓN.
Estos detectores analizan las vibraciones de los muros, se calibran
para que avisen al panel de control cuando estas vibraciones sobrepasan los
niveles permitidos, por ejemplo un taladro, un mazo golpeando la pared, etc.
6.8.-SENSORES DE INCENDIO.
28
CAPITULO II: MARCO TEORICO
Existen varios tipos de detectores de incendio, todos ellos están
diseñados para detectar fuegos, antes de que se conviertan en incendio,
pero para ello deben estar bien distribuidos, y en las cantidades necesarias.
Estos detectores pueden detectar humo, altas temperaturas, o las dos cosas
juntas. Es muy importante definir el tipo de detector que se instalará en cada
lugar para evitar falsas alarmas.
7.-MICROCONTROLADOR PIC16F84
7.1.-DESCRIPCIÓN GENERAL.
El PIC16F84 es un microcontrolador de 8 bits de muy alto rendimiento
y construido bajo tecnología CMOS. Los PIC16/17 emplean una arquitectura
avanzada RISC. Dicho dispositivo posee un núcleo ensamblado, 8 niveles de
pila e interrupciones internas y externas. La separación del bus de datos y el
bus de dirección en la arquitectura HARVARD permite una palabra de
Instrucción de 14 bits y un bus de datos de 8 bits. Las estaciones permiten
ejecutar todas las instrucciones, que requieren dos ciclos. Dispone de 35
instrucciones y un registro extenso para ejecutar programas de alto nivel.
29
CAPITULO II: MARCO TEORICO
Típicamente el PIC16F84 realiza un código de compresión de 2:1, y se
ejecuta a una velocidad de 2:1 (10 Mhz) por encima de cualquier
microcontrolador del mercado externo. El PIC16F84 posee 68 bytes de
memoria RAM, 64 bytes de memoria EEPROM y 13 pines de puertos de E/S
como se muestra en la (ver figura # 4). Esta familia posee características
especiales para reducir componentes externos, de esta manera se reducen
los costos, se aumenta la compatibilidad y eficiencia del equipo y reduce el
consumo de potencia. Hay cuatro opciones para el oscilador, el RC para un
costo bajo y funcionamiento sencillo, el LP para reducir el consumo de
potencia, el XT como oscilador de cristal estándar y el HS para cristales de
alta velocidad. El modo SEP ofrece ahorro de energía. El usuario puede
despertar el microcontrolador mediante interrupciones externas o internas.
La memoria EEPROM del PIC16F84 permite su uso para prototipos de
pruebas y está incluida en la misma pastilla. Por otro lado, permite el uso de
un código para reprogramar el dispositivo sin necesidad de removerlo. El
PIC16F84 se ajusta perfectamente para aplicaciones como el manejo de
motores, controles automáticos de alta velocidad, cerrojos electrónicos,
tarjetas inteligentes, censado remoto y dispositivo de seguridad. La
tecnología EEPROM permite el trabajo rápido y conveniente. El pequeño
tamaño de este microcontrolador está diseñado para aplicaciones donde se
30
CAPITULO II: MARCO TEORICO
limita el espacio de trabajo. El bajo costo, bajo consumo de potencia, alta
eficiencia, fácil uso y flexibilidad de los puertos, hace al PIC16F84 un
dispositivo muy versátil en áreas específicas. La programación serial de este
dispositivo, lo hace aún más versátil.
7.2.-VARIEDADES DEL DISPOSITIVO.
Una variedad de rangos de frecuencia y empaques están a la
disponibilidad, dependiendo de la aplicación y los requerimientos de
producción, para el 84 existen dos tipos:
PIC16C84, posee memoria EEPROM y opera en los rangos normales
de voltaje.
PIC16LC84, posee memoria EEPROM y opera en un rango extendido
de voltaje, estos dispositivos se ensamblan en empaques de plástico de
bajo costo. Por otro lado el dispositivo puede ser borrado eléctricamente
y reprogramado para aplicaciones de prueba o trabajos pilotos.
7.3.- ARQUITECTURA.
31
CAPITULO II: MARCO TEORICO
La alta eficiencia del PIC16F84 se puede atribuir a un número de
características especiales de su arquitectura, comúnmente encontrada en los
microprocesadores RISC. Para comenzar, el PIC16F84 utiliza una
arquitectura HARVARD. Esta arquitectura tiene por separado el acceso al
programa y a los datos en memorias separadas, por lo tanto el dispositivo
posee un bus de memoria de datos y un bus de memoria de programa. Esta
descripción sobre la vieja arquitectura VON NEUMANN (donde el bus de
datos y el programa están unidos en una sola memoria), trae mejoras en el
ancho de la palabra de operación.
En el PIC16F84 la palabra se conoce como OPCODE y es de 14 bits.
Esto permite el procesamiento de 14 palabras de instrucción en un ciclo de
máquina. El PIC16F84 direcciona lk x 14 de memoria de programa interno.
Este microcontrolador puede ser direccionado directa o indirectamente hacia
sus registros o archivos. Todos los registros de funciones especiales y el
contador de programas están mapeados en la memoria de datos. Una
función simétrica hace posible cargar afuera cualquier función en cualquier
registro utilizando cualquier modo de direccionamiento. El PIC16F84
contiene una ALU de 8 bits y un registro de trabajo (W). La ALU es una
unidad aritmética de propósito general, ella ejecuta las funciones aritméticas
y booleanas entre los datos y el registro de trabajo en cualquier registro de
32
CAPITULO II: MARCO TEORICO
archivo. Esta unidad es capaz de sumar, restar, y realizar operaciones
lógicas. Las operaciones aritméticas son realizadas mediante el método de
complemento a dos. Las operaciones simples se realizan con el registro de
trabajo, y las operaciones con dos operandos se realizan entre el registro de
trabajo y una constante predefinida en un registro de archivo. El registro de
trabajo W, no es un registro direccionable. Dependiendo de la instrucción
realizada por la ALU, se afectan los bits del registro STATUS.
7.3.1.-CICLO DE INSTRUCCIONES.
La entrada del reloj (OSC1) es internamente dividida entre cuatro
para generar cuatro relojes en cuadratura sin solapamiento, estos ciclos son
Q1, Q2, Q3 y Q4. Internamente el contador del programa (PC) es
incrementado cada Q1, la instrucción es tomada de la memoria del programa
y colocada dentro del registro de instrucciones en Q4.
La instrucción es decodificada y ejecutada durante el siguiente Q1
hasta Q4.
7.3.2.-INSTRUCCIÓN FLOW/PIPELINING.
33
CAPITULO II: MARCO TEORICO
Un ciclo de instrucción se divide en cuatro Q. La instrucción es
tomada, ejecutada y conducida tan pronto como se toma otra instrucción y se
genera un nuevo ciclo de instrucción. Se observa que este proceso se
ejecuta en un solo ciclo de instrucción. Si una instrucción cambia al PC,
luego ocurre una petición de dos ciclos de máquinas para dichas instrucción.
El ciclo de toma de la instrucción comienza con el PC incrementando Q1 en
la ejecución del ciclo, la instrucción tomada es colocada en el registro de
instrucción en el ciclo Q2, Q3 y Q4. La memoria de datos es leída en el ciclo
de Q2 y escrita durante Q4.
7.4.-ORGANIZACIÓN DE LA MEMORIA.
En el PIC16F84 hay dos bloques de memoria, estos son la memoria
del programa y la memoria de datos. Cada bloque tiene su propio bus, el
acceso para cada bloque puede ocurrir durante el mismo ciclo de oscilador.
La memoria de datos (RAM) se divide en registros de propósito general
(GPR) y registros de funciones especiales (SRF). Los SRF, tienen como
operación principal controlar el núcleo del microcontrolador y módulos
periféricos. Por otro lado, la memoria del programa contiene la memoria de
datos EEPROM. Esta memoria no está mapeada directamente sobre la
memoria de datos, pero puede ser mapeado indirectamente. Esto es un
direccionamiento indirecto que especificará la dirección de la memoria
34
CAPITULO II: MARCO TEORICO
EEPROM para escribirla y leerla. Los 64 bytes de la memoria EEPROM
tienen el rango de direccionamiento de 0H a 3Fh .
7.4.1.-ORGANIZACIÓN DE LA MEMORIA DEL PROGRAMA.
El PIC16F84 posee un contador de programa de 13 bits capaz de
direccionar un espacio de memoria de programa de lK x 14 (0000H-03FFh).
El acceso a una locación de memoria sobre una dirección implementada
físicamente causará solapamientos, por ejemplo, locaciones 20h, 420h,
820h, C20h, l020h, 1420h y lC20h serán la misma instrucción.
El vector de puesta a Cero o Reset está ubicado en la dirección 0000H
y el vector de interrupción está en la dirección 0004h.
7.4.2.- ORGANIZACIÓN DE LA MEMORIA DE DATOS.
La memoria de datos está particionada en dos áreas. La primera, el
área de los Registros de Funciones Especiales (SFR), mientras la segunda
área corresponde a los Registros de Propósito General (GPR). Los SRF
controlan la operación del dispositivo.
35
CAPITULO II: MARCO TEORICO
Porciones de la memoria de datos están banqueados, estos es para
ambas áreas (SRF y GPR). El área de los GPR está banqueada para permitir
valores superiores a los 116 bytes de RAM para propósito general. Las áreas
banqueadas de los SFR son para los registros que controlan las funciones
periféricas. El banqueo requiere del uso de bits de control para su selección.
Estos bits de control están ubicados en el registro STATUS. Toda la memoria
de Datos puede ser accesada directamente con el uso de la dirección
absoluta de registro de archivo o indirectamente a través de la selección de
registro de archivo correspondiente. El direccionamiento indirecto utiliza el
valor actual de los bits RP1: RPO dentro del registro STATUS. Los GPR
están ubicados en el banco 0, y los SFR en el banco 1. El banco 0 es
seleccionado mediante la puesta a cero del bit RPO (STATUS <5>), por el
contrario, la puesta a uno del bit RPO selecciona al banco 1. Cada banco se
extiende hasta los 128 bits. Las primeras 12 locaciones de memoria de cada
banco están reservadas para los SFR, y las locaciones restantes son GPR
implementados en una RAM estática (SRAM).
7.4.2.1.- REGISTRO DE PROPÓSITO GENERAL (GPR).
Todos los dispositivos poseen cierta cantidad de área para los
Registros de Propósito General (GPR). Cada GPR es de 8 bits y pueden ser
36
CAPITULO II: MARCO TEORICO
accesadas directa o indirectamente mediante los registros de funciones
especiales (SFR). Los GPR direccionados en el Banco 1 son mapeados a las
direcciones del banco 0. Como ejemplo, direccionar la locación 0Ch u 8Ch
acezarán al mismo GPR.
7.4.2.2- REGISTRO DE FUNCIONES ESPECIALES (SFR).
Los Registros de Funciones Especiales son utilizados por el CPU y las
funciones periféricas para controlar la operación del dispositivo. Estos
registros son SRAM.
Los SFR pueden ser clasificados en dos grupos, núcleo y periféricos.
1. Registro STATUS: El registro STATUS contiene el estado
aritmético de la ALU, el estado de RESET y el bit de selección de
banco para la memoria de datos. Como cualquier registro, el
registro STATUS puede ser el destino para cualquier instrucción. Si
el registro STATUS es el destino para una instrucción que afecte a
los bits Z, C o DC, la escritura a estos registros es
automáticamente desactivada. Estos bits son puestos a cero o uno
según la lógica del dispositivo. No obstante, los bits TO y PD no se
pueden escribir. Por otro lado, el resultado de una instrucción con
37
CAPITULO II: MARCO TEORICO
destino al registro STATUS, podría ser diferente a lo pensado. Por
ejemplo, la instrucción CLRF STATUS limpiará los 3 bits más
significativos y pondrá a uno el bit Z, esto coloca al registro
STATUS como 000u u1uu (donde u = invariable). Únicamente las
instrucciones BCF, BSF y MOVWF deben ser utilizadas para
alterar el registro STATUS, porque ninguna de estas funciones
modifican los bits internos de dicho registro. Los bits IRP y RP1
(STATUS <7:6>) no son utilizados por el PIC16F84 y deben ser
programados como cero. El uso de estos bits como bits de
propósito general R/W no es recomendado, ya que podría afectar
la comunicación entre otros dispositivos. Para la resta, los bits C y
DC (STATUS <I:0>), operan como BORROW y DIGIT BORROW
respectivamente.
2. Registro OPTION: El registro OPTION es un registro que puede ser
leído y escrito, contiene varios bits de control para configurar el
pre-escalador TMR0/WDT, la interrupción interna INT, el TMR0 y el
Weak Pull-Ups en el puerto B (PORTB). Cuando el pre-escalador
es asignado al WDT (PSA=l), la asignación al TMR0 es de 1:1.
38
CAPITULO II: MARCO TEORICO
3. Registro INTCON: El registro INTCON es un registro que puede ser
leído y escrito, contiene diversos bits de habilitación para todas las
fuentes de interrupción.
7.4.3.-CONTADOR DEL PROGRAMA (PC).
El contador del programa (PC) tiene un ancho de 13 bits. El Byte bajo
del PC son el registro PCL, el cual puede ser escrito y leído. El Byte alto del
PC (PC<12:8>) es el registro PCLATH, el cual no puede ser escrito o leído
de forma directa. El PCLATH es un registro sostenedor para el PC. El
contenido del PCLATH es transferido el byte superior del PC cuando este es
cargado con un nuevo valor, esto ocurre al implantar un CALL, GOTO o una
escritura al PCL.
7.4.3.1.-GOTO COMPUTADO.
Un GOTO computado se completa con la suma de un offset al PC
(ADDWF PLC). Cuando se realiza la lectura de una tabla mediante el uso del
método GOTO computado, se debe tener práctica para evitar que la tabla de
locaciones no cruce la página del PCL (cada cuadro de 256 palabras).
39
CAPITULO II: MARCO TEORICO
7.4.3.2.-PAGINACIÓN DE LA MEMORIA DEL PROGRAMA.
El PIC16F84 posee una memoria de programa de 1K. Las
instrucciones GOTO y CALL poseen un rango de 11 bits de dirección. Estos
11 bits de dirección permiten una ramificación de 2K de paginación. Para una
futura expansión de la memoria del programa, deben existir dos nuevos bits
para especificar su paginación. Estos bits de paginación provienen del
registro PCLATH (PCLATH<4:3>). Cuando se realiza un GOTO o CALL, el
usuario debe asegurar que estos bits están programados para la correcta
paginación de la memoria.
El PIC16F84 ignora el uso de los bits de paginación dentro del registro
PCLATH, ya que el uso de estos podría traer problemas de comunicación
con futuros dispositivos periféricos.
7.4.4.-PILA (STACK).
El PIC16F84 posee un STACK de 13 bits de ancho x 8 niveles de
profundidad. El espacio del STACK no es parte del espacio de memoria ni
programa, y el Apuntador del STACK no se puede leer o escribir.
40
CAPITULO II: MARCO TEORICO
Los 13 bits del PC son “pushed” dentro del STACK cuando una
instrucción CALL es ejecutada o alguna interrupción es conocida. El STACK
es “popped” cuando se ejecutan las instrucciones RETURN, RETLW o
RETFIE. Es importante mencionar que el registro PCLATH no es afectado
por las operaciones “push” y “pop”.
El STACK opera en forma de buffer circular, es decir, después de que
el STACK es “pushed” ocho (8) veces, el noveno “push” sobre escribe el
valor guardado en el primer “push”; el décimo “push” sobre escribe el valor
guardado en el segundo “push”, y así sucesivamente.
Si el STACK es “popped” nueve (9) veces de manera efectiva, el valor
del PC es el mismo del primer “pop”.
7.4.5.- DIRECCIONAMIENTO INDIRECTO.
Registros INDF y FSR:
El Registro INDF no es un registro físico. Al direccionar el registro
INDF actual, este direcciona registro que posee la dirección contenida en el
registro FSR (FSR es un apuntador). Esto es direccionamiento indirecto.
41
CAPITULO II: MARCO TEORICO
Ejemplo de Direccionamiento Indirecto:
1. El registro de archivo 05 contiene el valor 10h
2. El registro de archivo 06 contiene el valor 0ah
3. Carga el valor de 05 en el registro FSR
4. La lectura del registro INDF retornara el valor de 10h
5. Incrementa el valor del registro FSR en 1(FSR=06)
6. La lectura del registro INDF retornara ahora el valor de 0ah
Al leerse el registro INDF por sí mismo indirectamente (FSR=0) se
producirá 00h. Al escribirse indirectamente el resultado es un “no operation”
(los bits del registros STATUS podrían ser afectados).
A continuación se muestra un programa simple para limpiar las
locaciones de 20h a 2Fh de la R utilizando el direccionamiento indirecto:
MOVLW Ox2o ; Inicializa el apuntador
MOVWF FSR ; a la RAM
NEX CLRF INDF ; limpia el registro INDF
I NC FSR ;incremento el apuntador
BTFSS FSR, 4 ; verifica si todo se realizó
GOTO NEXT ; NO, limpiar el siguiente
CONT ;SI, continuar
42
CAPITULO II: MARCO TEORICO
7.5.- PUERTOS DE E/S.
El PIC16F84 posee dos puertos, PORTA y PORTB. Algunos de los
pines de los puertos están multiplexados con una función alterna de
desarrollo del dispositivo.
7.5.1.-REGISTRO PORTA Y TRISTA.
El registro PORTA es un “lacth” de 5 bits. RA4 es una entrada tipo
disparo Schmitt y salida de drenador abierto. Los demás RA pines del puerto
poseen niveles de entradas TTL y manejadores de salidas CMOS. Todos los
pines tienen bits de dirección de datos (registros TRIS), los cuales pueden
configurar los pines como entradas o salidas de forma independiente.
Poniendo a uno (1) algún bit del registro TRISA, colocará el pin
correspondiente al bit seleccionado como una entrada, si algún bit es puesto
a cero (0), luego el pin correspondiente es colocado como salida.
Cuando se lee el registro PORTA, este lee el estado de los pines,
mientras que al escribir, este escribirá información en los “latch” del puerto.
Todos las operaciones de escritura son operaciones de Lectura
43
CAPITULO II: MARCO TEORICO
Modificación-Escritura, por lo tanto, el escribir en un puerto implica que los
pines del puerto son leídos primero, luego estos valores son modificados y
escritos en el “latch” del puerto de datos. El pin RA4 está multiplexado con la
entrada TMR0.
7.5.2.-REGISTROS PORTB Y TRISB.
PORTB es un puerto bi-direccional de 8 bits. El registro de datos que
le corresponde a dicho puerto es el TRISTB. Un “1” en cualquier bit del
registro TRISB coloca el correspondiente manejador de salida en un modo
de alta impedancia. Un “0” en cualquier bit del registro TRISB coloca el
contenido del “lacth” de salida en el pin seleccionado.
Cada pin de PORTB posee un “Weak Pull-Ups” interno. Un solo bit de
control puede activar todos los “Weak pull-ups”. Esto es realizado poniendo
en cero el bit 7 del registro OPTION (OPTION <7>). Los “Weak Pull-Ups” son
automáticamente apagados cuando los pines del puerto se configuran como
salida. Por otro lado los “Weak Pull-Ups” son desactivados cuando ocurre
un “Pwer-On Reset”.
44
CAPITULO II: MARCO TEORICO
Los cuatro pines del PORTB, RB7 a RB4, están multiplexados con
funciones especiales de interrupción. Únicamente los pines que se
configuren como entrada, serán capaces de ejecutar dichas interrupciones
(cualquier pin de RB7 a RB4 que esté configurado como salida, es excluido
de la ejecución de una interrupción). El valor de los pines en el modo de
entrada son comparados con el antiguo valor transferido en la última lectura
del PORTB. Las salidas desiguales de los pines del PORTB son sumadas
lógica (OR) y conjuntamente para generar el cambio del PORTB como una
interrupción.
Estas interrupciones pueden despertar el dispositivo del modo SEP. El
usuario, en la rutina del servicio de interrupción, puede borrar la interrupción
de las siguientes manera:
a) Leer (o escribir) PORTB. Esto culminará la condición de
desigualdad.
b) Limpiar el registro de bandera RBIF.
Una condición de desigualdad continuará para poner en “1” el bit
RBIF. Al leer el PORTB se culminará la condición de desigualdad, y permitirá
que sea puesto a “0” el bit RBIF.
45
CAPITULO II: MARCO TEORICO
La característica de condición de desigualdad en las interrupciones,
junto con la programación configurable para el “pull-ups” de estos cuatro
pines permite realizar una sencilla comunicación con un teclado.
Un cambio podría ocurrir en el pin E/S cuando el PORTB es leído, y el
bit RBIF no debe ser puesto a “1”. No se recomienda hacer una verificación
del PORTB cuando este se está utilizando como sistema de interrupciones.
Los pines restantes, de RB3 a RB0 son líneas de E/S de
características comunes.
7.5.3.-CONSIDERACIONES DE PROGRAMACIÓN.
Para el uso del PIC16F84 se deben considerar instrucciones que son
las que manejan los puertos, lo cual se debe tomar en cuenta:
7.5.3.1.- PUERTOS E/S BI-DIRECCIONALES.
Cualquier instrucción descrita, opera internamente como un operación
de lectura seguida por una operación de escritura. Por ejemplo, las
instrucciones BSF y BCF, leen el registro interno en el CPU, ejecutan la
operación de bit y escriben el resultado en el mismo registro. Una precaución
debe ser utilizada cuando estas instrucciones son aplicadas a un puerto con
46
CAPITULO II: MARCO TEORICO
entradas y salidas definidas. Por ejemplo, una operación BSF en el bit 5 del
PORTB (PORTB<5>), causará que los 8 bits del PORTB sean leídos dentro
del CPU. Luego la operación BSF toma lugar en el bit 5 y el PORTB es
escrito a la salida de los “latches”. Si otro bit del PORTB es utilizado como un
bi-direccional de E/S y este es definido como una entrada en ese momento,
la señal de entrada presente en el pin será automáticamente leída e
introducida en el CPU y reescrito al “latch” de datos de este pin en particular,
luego se sobre escribe el contenido previo. Mientras el pin permanezca en el
modo de entrada no ocurrirá ningún problema. De cualquier forma, si el
bit 0 es accionado más tarde internamente en el modo de salida y el
contenido del ”latch” de datos es desconocido.
Al leer el registro del puerto, se leen los valores de los pines del
puerto. Al escribir el registro del puerto, se escriben los valores al “latch” del
puerto. Cuando se utilizan las instrucciones de leer-modificar-escribir en el
puerto, el valor de los pines de puerto es leído, la operación deseada es
realizada a estos valores y este valor es escrito luego al “ latch” del puerto.
Un pin activo con salidas altas o bajas, no será manejado por
dispositivos externos al mismo tiempo y en orden para cambiar el nivel lógico
en estos pines (“wire-or”,” wired-and”). La salida alta resultante podría causar
daños al “chip”.
47
CAPITULO II: MARCO TEORICO
7.5.3.2.- OPERACIONES SUCESIVAS EN LOS PUERTOS E/S.
La actual escritura a un puerto E/S ocurre al final de un ciclo de
instrucción, al igual que para la lectura, los datos deben ser validados al
comienzo del ciclo de instrucción. Por otro lado, se debe tomar precaución si
una operación de escritura es seguida por una de lectura, ya que existe un
“carry out” en el mismo puerto E/S. La secuencia de instrucciones debe ser
tal que el voltaje de pin se estabilice (dependiendo de la carga) antes de la
siguiente instrucción, la cual causa la lectura de dicho archivo en el CPU
para luego ser ejecutada. De otro modo, el estado previo de ese pin puede
ser preferiblemente leído dentro del CPU que el nuevo estado de dicho pin.
Cuando hay dudas, es mejor separar estas instrucciones con un NOP u otra
instrucción que no accese a los puertos E/S.
7.6.- MODULO TIMER0 Y REGISTRO TMR0.
El módulo “TIMER0” es un contador/temporizador y posee la siguiente
característica:
1. Contador/Temporizador de 8 bits.
2. Puede ser leído y escrito.
3. Pre-escalador programable de 8 bits.
48
CAPITULO II: MARCO TEORICO
4. Selector de reloj interno y externo.
5. Interrupción de rebosamiento desde FFh hasta 00h.
6. Selector de flancos para reloj externo.
El modo temporizador es seleccionado poniendo a “0” el bit TOCS
(OPTION<5>). En el modo temporizador, el módulo TIMER0 se
incrementará cada ciclo de instrucción (sin pre-escalador). Si el registro
TMR0 es escrito, el incremento es inhibido por los dos siguientes ciclos de
instrucción. El usuario puede trabajar alrededor de este, escribiendo un valor
ajustado para el registro TMR0.
El pre-escalador está compartido por el módulo TIMER0 y el
“WATCHDOG TIMER”. La asignación del pre-escalador está controlada (en
el software) por el bit de control PSA (OPTION<3>). Al limpiar el bit PSA se
asigna el Watchdog Time al módulo TIMER0. El pre-escalador no puede ser
leído ni escrito. Cuando el pre-escalador es asignado, el módulo TIMER0 el
valor del pre-escalador (1:2, 1:4,...1:256) es seleccionable por software.
7.6.1.- INTERRUPCIÓN TMR0.
49
CAPITULO II: MARCO TEORICO
La interrupción TMR0 es generada cuando el registro TMR0 se rebosa
desde FFh hasta 00h. Este rebosamiento pone en “1” el bit TOIF
(INTCON<2>). La interrupción puede ser enmascarada mediante la puesta a
“0” del bit TOIE (INTCON<5>). El bit TOIF debe ser limpiado por software por
el módulo TIMER0 en una rutina de servicio de interrupción antes de que
esta interrupción sea reactivada. La interrupción TMR0 no puede despertar
al dispositivo del modo SEP, ya que el temporizador es apagado durante
dicho modo.
7.6.2.- USO DEL TMR0 CON EL RELOJ EXTERNO.
Cuando una entrada externa de reloj es utilizada para el TMR0, ésta
debe permitir ciertos requerimientos. El requerimiento del reloj externo se
refiere a que dicha señal debe estar en sincronización con la fase del reloj
interno (Tosc). Además, existe un retardo en el incremento del registro
TMRO después de la sincronización.
7.6.2.1.-SINCRONIZACIÓN DEL RELOJ EXTERNO.
Cuando el pre-escalador no es utilizado, la entrada del reloj externo es
la misma señal de salida del pre-escalador. La sincronización del pin
50
CAPITULO II: MARCO TEORICO
RA4/TOCKl con la fase de reloj interna es completada por un muestreo de la
señal de salida del pre-escalador en los ciclo Q2 y Q4 del reloj interno. Sin
embargo, es necesario para el TOCKl estar en un nivel lógico alto por lo
menos 2Tosc (más un pequeño retardo RC) y en un nivel lógico bajo unos
2Tosc (más un pequeño retardo RC).
Cuando se implementa el pre-escalador, la señal de entrada del reloj
externo es dividida por un contador de rizo asíncrono para realizar la simetría
con la señal de pre-escalador. Para el reloj externo admite el requerimiento
de muestreo, el contador de rizo debe ser tomado dentro del conteo. Sin
embargo, es necesario para el TOCKl tener un período de por lo menos
4Tosc (más un pequeño retardo RC) dividido por el valor del pre-escalador.
El único requerimiento en el tiempo de niveles lógicos alto y bajo para
el TOCKl es que no se viole el requerimiento mínimo ancho de pulso de 10
ns.
7.6.2.2.- INCREMENTO DEL RETARDO EN EL TMR0.
Mientras la salida del pre-escalador es sincronizada con el reloj
interno, ocurre un pequeño retardo desde el tiempo de flaqueo del reloj
externo hasta el tiempo de incremento del módulo TIMER0.
51
CAPITULO II: MARCO TEORICO
7.6.3. PRE-ESCALADOR.
Un contador de 8 bits está disponible como un pre-escalador para el
módulo TIMER0, o como un post-escalador para el Watchdog Timer (WDT).
Nótese que hay un sólo pre-escalador disponible, el cual está disponible de
forma mutua y exclusiva para el TIMER0 y para el WDT. De este modo, la
asignación del pre-escalador para el módulo TIMER0 significa que no existe
el pre-escalador para el WDT y viceversa.
Los bits PSA y PS:2 PSO (OPTION<3:0>) determina la asignación del
pre-escalador y l radio de pre-escalación. Cuando el pre-escalador es
asignado el módulo TIMER0, todas las instrucciones escritas en dicho
módulo (CLRF 1, MOVWF 1; BSF 1, x..., entre otros.) limpiarán el pre-
escalador. Cuando es asignado al WDT, la instrucción CLRWDT limpiará el
pre-escalador. El pre-escalador no puede ser leído ni escrito.
7.6.3.1.- ACCIONAMIENTO DE LA ASIGNACIÓN DEL PRE-
ESCALADOR.
La asignación del pre-escalador está totalmente controlada por
software. Esta puede ser cambiada durante la ejecución del programa. Para
52
CAPITULO II: MARCO TEORICO
evitar un RESET del dispositivo, la siguiente secuencia de instrucciones
(Ejemplo 1) debe ser ejecutada cuando se cambien la asignación del pre-
escalador desde el TIMER0 al WDT (esta secuencia debe ser tomada
siempre y cuando el pre-escalador este desactivado). Para cambiar el pre-
escalador desde WDT al TIMER0 utilícese la secuencia mostrada en el
ejemplo 2.
Ejemplo 1: Cambio de TIMER0 ->WDT
BCF STATUS, RPO; banco 0
CLRF TMR0; limpia el TMR0
BSF STATUS, RP0; banco
CLRWDT; limpia el VRDT
MOVLW b'xxxx1xxx'; selecciona un nuevo
MOVWF OPTION; valor del pre-escalador
BCF STATUS., RP0; banco 0
Ejemplo 2: Cambio de WDT->TIMER0
CLRWDT; limpia el MMT
BSF STATUS, RP0; banco 1
MOVLW b'xxxx0xxx'; selecciona el TNMO
MOVWF OPTION;
53
CAPITULO II: MARCO TEORICO
BCF STATUS., RP0; banco 0
7.7.- MEMORIA DE DATOS EEPROM.
La memoria de datos EEPROM puede ser leída y escrita durante la
operación normal (rango completo de VDD). Esta memoria no está mapeada
directamente al espacio de los registros de archivo. Sin embargo, ésta es
direccionada directamente a través de los registro de funciones especiales
(SFR). Existen cuatro (4) FSR utilizados para la escritura y lectura de esta
memoria. Estos registros son:
1. EECON 1
2. ECON. 2
3. EEDATA
4. EEADR
El registro EEDATA mantiene los 8 bits de datos para leer/escribir, y el
registro EEADR mantiene el direccionamiento de la locación EEPROM que
va a ser accesada. El PIC16F84 posee 64 bytes de memoria de datos
EEPROM con un rango de direccionamiento desde 0h hasta 3Fh.
La memoria de datos EEPROM permite bytes de lectura y escritura.
Un byte de escritura borra automáticamente la locación y escribe el nuevo
54
CAPITULO II: MARCO TEORICO
data (borra antes de escribir). Esta memoria está estimada para altos ciclos
de lectura/escritura. El tiempo de escritura es controlado por un temporizador
“On-Chip”. Este tiempo variará con el voltaje y temperatura como la
transferencia de datos de “chip” a “chip”.
Cuando el dispositivo posee el código de protección, el CPU debe
seguir leyendo y escribiendo la memoria de datos EEPROM.
7.7.1.- REGISTRO EEADR.
El registro EEADR puede direccionar un máximo de 256 bytes de
datos EEPROM. Solo los primeros 64 bytes de los datos EEPROM son
implementados.
Los dos bits más altos son direccionados mediante una
decodificación. Esto significa que estos dos bits deben estar siempre en “0”
para asegurar el espacio de memoria en la dirección del byte 64.
7.7.2.- REGISTROS EECONI Y EECON2.
EECON1 es un registro de control con 5 bits de bajo orden
implementado físicamente. Los tres superiores no están implementados y
55
CAPITULO II: MARCO TEORICO
son leídos como “0”. Los bits de control RD y WR inician la lectura y
escritura respectivamente. Estos bits no pueden ser borrados, solamente
puestos a “1” mediante el software. Ellos están borrados por el hardware
como complemento para las operaciones de lectura o escritura. La
incompetencia de borrar el bit de WR en el software proviene la terminación
accidental o prematura de una operación de escritura.
Cuando en bit WREN es puesto a “1”, se permitirá la operación de
escritura. Al momento del encendido del dispositivo, éste bit es puesto a “0”.
El bit WRERR es puesto a “1” cuando una operación escritura es
interrumpida por el reset del MCRL o el reset del WDT durante una operación
normal. En estas situaciones, el siguiente reset permitirá al usuario chequear
el bit WRERRE y rescribir la locación. Los datos y direcciones serán
intercambiados por los registros EEDATA y EEADR.
El bit bandera de interrupción EEIF es puesto a “1” cuando la escritura
es finalizada. Éste debe ser puesto a “0” mediante software. El EECON2 no
es un registro físico. Al leer el registro EECON2, se leerán únicamente ceros.
El registro EECON2 es utilizado exclusivamente en la secuencia de
escritura de la memoria de datos EEPROM.
56
CAPITULO II: MARCO TEORICO
7.7.3.- LECTURA DE LA MEMORIA DE DATOS EEPROM.
Para la Lectura de la locación de la memoria de datos, el usuario
deberá escribir la dirección al registro EEADR y luego poner a “1” el bit de
control RD (EECON l <0>). Los datos son accesibles en cada ciclo máquina
en el registro EEDATA; sin embargo estos valores hasta que ocurra otra
lectura o hasta que sean escritos por el usuario (durante la operación de
escritura).
7.7.4.- ESCRITURA A LA MEMORIA DE DATOS EEPROM.
Para escribir en una locación de la memoria de datos EEPROM, el
usuario debe escribir primero la dirección al registro EEADR y los datos al
registro EEDATA. Luego se debe seguir una secuencia específica para
iniciar la escritura para cada byte, la secuencia se muestra a continuación.
BSF STATUS,RPO; banco 1
BSF INTCON,GIE; interrupción inactiva
BSF EECON1,WREN; activa escritura
MOVLW 55h
MOVWF EECON2; escribe 55h
MOVLW AAh
57
CAPITULO II: MARCO TEORICO
MOVWF EECON2; escribe AAh
BSF EECON1,WR; bit WR=l
BSF INTCON, GIE; interrupción activa
La escritura no se iniciara si la secuencia anterior no es seguida
exactamente por cada bit. Se recomienda altamente que las interrupciones
sean desactivadas durante la codificación de este segmento.
Adicionalmente, el bit WREN en el registro EECON1 debe ser puesto
a “1” para habilitar la escritura. Este mecanismo previene la escritura
accidental de códigos de ejecución erróneos. El usuario debe mantener en
“0” el bit WREN (no es realizado por el hardware) todo el tiempo, excepto
cuando se actualice la EEPROM.
Después de la secuencia de escritura es iniciada, la puesta a cero del
bit WREN no afectará al ciclo de escritura. Cuando el ciclo es completado, el
bit WREN es puesto a cero por el hardware y el bit bandera de interrupción
para la escritura completa (EEIF) es puesto a “1” (éste bit debe ser puesto a
“0” por software).
7.7.5.- VERIFICACIÓN DE ESCRITURA.
58
CAPITULO II: MARCO TEORICO
Dependiendo de la aplicación, la buena práctica de programación
indicará que los valores escritos a la EEPROM deben ser verificada para
asegurar que los valores deseados están correctos. Esto se debe utilizar en
aplicaciones donde un bit de la EEPROM será cargado cerca de los limites
especificados.
Generalmente las fallas de escritura a la EEPROM serán de un bit
escrito como “1” pero leído de vuelta como “0”.
7.7.6.- PROTECCIÓN CONTRA ESCRITURAS NO DESEADAS.
Existen condiciones donde el dispositivo no quiere escribir en la
memoria de datos EEPROM. Para la protección de dicha memoria varios
mecanismos han sido incluidos internamente. Entre éstos encontramos: En el
encendido del dispositivo el bit WREN es puesto a “0”, al encenderse el
temporizador (durante 72 ms) se previene la escritura a la EEPROM.
La secuencia de escritura y el bit WREN previenen la escritura
accidental durante las caídas de voltaje y el mal funcionamiento del software.
7.7.7.- OPERACIÓN DURANTE EL CÓDIGO DE PROTECCIÓN.
59
CAPITULO II: MARCO TEORICO
Cuando el dispositivo está protegido por código, el CPU es capaz de
leer y escribir los datos no enmascarables de la EEPROM. Para dispositivos
ROM, existen dos códigos de protección. Uno para la memoria de programa
ROM y otro para la memoria de datos EEPROM.
7.7.8.- CONSIDERACIONES SOBRE EL CONSUMO DE
POTENCIAL.
Es recomendable que los bits de EEADR<7:6> sean puestos a “0”, ya
que cuando estos bits están en “1” la máxima IDD del dispositivo está
en acción. Cuando los bits son “0” la corriente es de unos 150A, y cuando
éstos están en “1” la corriente es máxima, es decir, unos 400 A.
7.8.- CARACTERISTICAS ESPECIALES DEL CPU.
Lo que aparta a los microcontroladores de otros procesadores son los
circuitos especiales que ejecutan las necesidades de las aplicaciones de
tiempo real. El PIC16F84 posee características especiales como la de
maximizar la contabilidad del sistema, minimizar los costos dispositivos
externos, disminuir el consumo de potencia, diferentes modos de operación y
un código de protección.
60
CAPITULO II: MARCO TEORICO
7.8.1.- CONFIGURACIÓN DE BITS.
La configuración de bits puede ser programada (leídos como “0”) o no
programada (leídos como “1”), con el fin de seleccionar la configuración del
dispositivo. Estos bits están mapeados en la locación 2007h en la memoria
del programa.
La dirección 2007h está lejos del espacio de memoria del programa
para el usuario y ésta pertenece al espacio de memoria especial de prueba y
configuración (2000h-3FFFh); este espacio puede ser accesible solo durante
la programación.
7.8.2.-CONFIGURACION DEL OSCILADOR.
7.8.2.1.- TIPOS DE OSCILADOR.
El PIC16F84 puede ser operado en cuatro modos diferentes de
oscilación. El usuario puede programar dos bits de configuración (FOSC1 y
FOCSO) para seleccionar uno de los siguientes modos.
1. LP Cristal de bajo poder.
2. XT Cristal/Resonador.
3. HS Cristal de lata Velocidad/Resonador.
4. RC Resistor/Capacitor.
61
CAPITULO II: MARCO TEORICO
7.8.2.2.-OSCILADOR DE CRISTAL/RESONADOR CERÁMICO.
En los modos XT, PL o HS se conecta a un cristal o un resonador en
los pines OSC1/CLKIN y OSC2/CLKOUT con el fin de establecer la
oscilación. El diseño interno del PIC16F84 requiere de implementación de un
cristal paralelo, ya que el uso de un cristal en serie puede causar la falta de
precisión la generación de la señal. Por otro lado, en estos modos, también
se puede utilizar un circuito oscilador externo.
7.8.2.3.- CIRCUITO OSCILADOR EXTERNO DE CRISTAL.
Se puede utilizar osciladores preempacados u osciladores construidos
por compuertas TTL. Los osciladores preempacados proveen un mayor
rango de operación y estabilidad. Están disponibles para PIC16F84 dos tipos
de osciladores externos, el primero con resonancia en serie y el segundo con
resonancia en paralelo.
El circuito de resonancia en serie, está diseñado para la frecuencia
fundamental del cristal; los inversores proporcionan un desfasamiento de
180º, mientras el, resistor de 330 KÙ brinda una realimentación negativa para
mantener el funcionamiento de los inversores en su región lineal.
62
CAPITULO II: MARCO TEORICO
El circuito resonante paralelo también está diseñado para trabajar a la
frecuencia fundamental de cristal, los inversores 74ASO4 proveen el desfase
de 180º necesario para su buen funcionamiento. El resistor de 4.7 KÙ provee
la realimentación negativa necesaria para mantener la estabilidad, mientras
el potenciómetro de 10 KÙ mantiene el funcionamiento de los inversores en
la región lineal de operación.
7.8.2.4.-OSCILADOR RC.
Para aplicaciones sencillas, el uso de un arreglo RC ayuda a reducir
los costos de producción, la frecuencia del oscilador RC está en función de
la fuente de poder (VDD), el resistor Rext, el capacitar Cext y la temperatura.
La frecuencia viene expresada por:
F=1/(Rext*Cext)
7.8.2.5.- RESET.
El PIC16F84 se diferencia entre varios tipos de Reset:
1. Power-On Reset (POR).
2. Reset MCLR durante la operación normal.
3. Reset MCLR durante la operación SLEEP.
4. Reset del WDT durante la operación normal.
63
CAPITULO II: MARCO TEORICO
5. Reset del VIDT durante la operación SLEEP.
Algunos registros no son afectados bajo ninguna condición de Reset,
es decir, su estado es desconocido en un POR y sin cambio en cualquier otra
condición de Reset. Por otro lado, otros registros son afectados de diversas
manera por el POR, MCLR o WDT, ya sea durante la operación normal o
durante el SEP.
1. Power-On Reset (POR):
Dentro del “Chip” se genera un pulso de POR cuando se detecta
una caída de tensión en VDD (dentro del rango de l.2V-l.7V). Para
tener ventaja del POR, conecte el pin MCLR directamente a VDD a
través de un resistor, esto eliminará las componentes RC externas
que usualmente activan el POR. Los circuitos de protección del POR
producen una condición de Reset interna cuando el valor de VDD
disminuye.
2. Power-Up Timer (PWRT):
El PWRT provee 72ms arreglados nominales de Time-Out para el
POR. El PWRT opera en un oscilador RC interno. El dispositivo se
mantiene en Reset el tiempo que dura la operación del PWRT. Por
otro lado, el PWRT ocasiona un tiempo de retardo, el cual, permite
64
CAPITULO II: MARCO TEORICO
que el nivel de VDD disminuya hasta un nivel aceptable de
operación.
3. Start-Up Oscilador/Temporizador (OST):
El OST provee 1024 ciclos de retardo provenientes del oscilador
(OSC1/CLKlN) después de que un tiempo de retardo del PWRT
culmine; esto asegura al oscilador de cristal o resonador que
comience y estabilice.
El Time-Out del OST (Tost) es invocado solo para los módulos
XT, LP y HS y únicamente en un POR o en un despertar del SLEEP.
Cuando el nivel de VDD disminuye muy lentamente, es posible que
el Time-Out del PWRT (Tpwrt) y el Tost expiren antes de que el VDD
haya alcanzado su valor final, en este caso es recomendable un
circuito externo para el MCLR.
4. Bits de Estado Secuencia Time-Out/Power Down:
En el Power-Up la secuencia Time-Out es de la siguiente
manera: Primero al time-out del PWRT es invocado después que el
POR haya expirado. Luego el OST es activado. El time-out final
variará basado en la configuración del oscilador y el bit de
configuración de estado PWRTE.
Desde que el time-out proveniente del pulso de reset del POR
ocurre y si el tiempo de permanencia del MCLR en estado bajo es
65
CAPITULO II: MARCO TEORICO
muy prolongado, entonces, el time-out expirará, y si el MCLR se
mantiene en estado alto la ejecución del time-out será inmediata.
Esto es muy útil para realizar pruebas en la sincronización de dos o
más PIC16F84 cuando operen en paralelo.
5. Brown-Out Reset:
El Brown-Out es una condición donde la fuente de poder del
dispositivo (VDD) cae por debajo de su valor mínimo, pero no cero, y
luego se recobra a su estado original. Es recomendable realizar una
condición de reset cuando se presente el fenómeno Brown-Out.
La condición de reset para el PIC16F84 cuando el Brown-Out
ocurre, es recomendable la implementación de un circuito externo
que proteja al dispositivo de esta condición.
7.8.3.- INTERRUPCIONES.
El PIC16F84 posee cuatro (4) fuentes de interrupción:
1. Interrupción externa por el pin RB0/INT.
2. Interrupción por el rebosamiento del TMR0.
3. Interrupciones de cambio en PORTB.
4. Interrupción de escritura completa de la EEPROM.
El registro de control de las interrupciones (INTCON) almacena los
requerimientos de interrupciones individuales en los bits de bandera.
66
CAPITULO II: MARCO TEORICO
También posee los bits para la habilitación de las interrupciones
globales o individuales. Por otro lado, las interrupciones individuales pueden
ser habilitadas o deshabilitadas por los mismos bits. Es importante mencionar
que el bit Gel es puesto a cero cuando ocurre una condición de Reset.
La instrucción para retornar de una interrupción (RETFIE) realiza la
operación de poner a “1“ el bit GIE, para así rehabilitar todas las
interrupciones. Los bits banderas de interrupción del pin RB0/INT, el cambio
RB del PORTB y el rebosamiento del TMR0, están incluidos en el registro
INTCON.
Cuando una interrupción es respondida, el bit GIE es puesto a cero
con el fin de desactivar alguna futura interrupción, y el retorno a la dirección
especificada es ubicada dentro del STACK, para luego cargar al PC con
0004. Para los eventos de interrupción, el retardo de la interrupción será de
tres a cuatro ciclos máquina.
Es importante recordar que los bits banderas de interrupción deben
ser puestos a cero mediante software implementado antes de restablecer las
interrupción, con el fin de evitar el requerimiento infinito de interrupciones.
1. Interrupción INT.
67
CAPITULO II: MARCO TEORICO
La interrupción externa que ocurre en el pin RB0/INT es disparada
por flanco: si el bit INTEDG (OPTION <6>) es puesto a “1”,
entonces, el flanco es de subida; y si es puesto a “0”, luego el
flanco es de bajada. Cuando un flanco válido aparece en el pin
RB0/INT, el bit INTF (INTCON <4>). El bit bandera INTF debe ser
puesto a cero por el software dentro de la sub-rutina designada
para las interrupciones. La interrupción INT puede despertar al
dispositivo de su modo SEP.
2. Interrupción TMR0.
Un rebosamiento (FFh->00h) en el TMR0, pondrá un “1” en bit
bandera TOIF (INTCON <2>). Esta interrupción puede ser activada
o desactivada poniendo a “1” ó “0” el bit TOIE (INTCON <5>).
3. Interrupción PORT RB. Un cambio de entrada en PORTB <7:4>
colocan en “1” el bit bandera RBIF (INTCON <0>). Esta
interrupción puede ser activada o desactivada poniendo a “1” ó “0”
el bit RBIE (INTCON <3>).
7.8.4.- ALMACENAMIENTO DEL CONTEXTO DURANTE LAS
INTERRUPCIONES.
Durante una interrupción, solamente el retorno del valor del PC es
guardado en el STACK. Típicamente, los usuarios que desean guardar los
68
CAPITULO II: MARCO TEORICO
valores de los registros durante una interrupción, lo podrán hacer ahora
implementando un software para el PIC16F84.
Un claro ejemplo de esta operación se puede observar en unos pasos
que pueden ser transcritos a un programa, esto es:
a. Guardar el registro W (acumulador).
b. Guardar el registro STATUS en STATUS_TENT.
c. Ejecutar la interrupción.
d. Restaurar el registro STATUS.
e. Restaurar el registro W.
7.8.5.- WATCHDOG TIMER (WDT).
El WDT es el oscilador libre que se ejecuta internamente, el cual no
requiere ningún componente externo. Este oscilador RC está separado del
oscilador RC del pin OSC1/CLKIN, esto significa que el WDT no comenzará
hasta que el oscilador RC de los pines OSC1/CLKIN y OSC2/CLKOUT se
haya detenido por completo.
Durante la operación normal, el VDT genera un Time-out que genera
una condición de Reset para el dispositivo. Si el dispositivo está en
modalidad SEP, un WDT wake-up causará el despertar y así continuará con
69
CAPITULO II: MARCO TEORICO
la operación normal. El WDT puede ser desactivado permanentemente
mediante la programación del bit de configuración WDTE=0.
7.8.5.1– PERIODO DEL WDT.
El WDT posee un período de salida nominal de 18ms (sin pre-
escalador). Este período varía con la temperatura, el VDD y las
características CD del dispositivo. Si desea un período más amplio, se debe
asignar al WDT un rango de pre-escalador mayor a 1:128, esto se debe
realizar mediante una asignación del software implementado. Las
instrucciones CLRWDT y SEP ponen a “0” al WDT y el pre-escalador, por
otro lado, previenen al dispositivo de una condición de Reset no deseada.
7.8.5.2.- CONSIDERACIONES DE PROGRAMACIÓN DEL WDT.
Si se ha tomado en cuenta la operación del dispositivo en el peor de
los casos dentro del programa, la operación tomará unos segundos antes de
que el time-out del WDT ocurra.
7.8.6.-MODO SLEEP.
70
CAPITULO II: MARCO TEORICO
El PIC16F84 puede ser apagado momentáneamente, es decir puesto
a dormir (SLEEP) y luego levantarlo (Wake-up).
7.8.6.1.-SLEEP.
El modo SLEEP se activa mediante la utilización de la instrucción
SLEEP. Si está habilitada, el WT es puesto a cero (pero sigue trabajando), el
bit T0 (STATUS<4>) es puesto a “1”, y el manejador del oscilador es
apagado. Los puertos E/S mantienen el mismo estado que tenían antes de
que se ejecutara el modo SLEEP.
Para el menor consumo de corriente en el modo SLEEP, deben
colocarse todos los pines de E/S a VDD o Vss sin circuitería externa. Si los
puertos están manejados por altas-impedancias, entonces se debe manejar
en estado bajo o alto para evitar fluctuaciones de corriente causadas por las
entradas flotantes. El pin T0 también debe ir a VDD o Vss. El pin MCLR debe
conectarse directamente a VDD.
7.8.6.2.- DESPERTAR DEL SLEEP.
El dispositivo puede despertar del SLEEP a través de uno de los
siguientes eventos:
71
CAPITULO II: MARCO TEORICO
1. Reset externo por el pin MCLR.
2. Despertar del WDT.
3. Interrupción causada por el pin RBO/INT.
Cualquier dispositivo periférico no puede despertar al microcontrolador
de SLEEP. El primer evento causará un Reset general al dispositivo y los
otros dos eventos son considerados como continuación del programa en
ejecución. En caso de que no se desee la ejecución de la instrucción
inmediata al SEP, el usuario debe colocar un NOP antes de la instrucción
SLEEP.
7.8.6.3.-DESPERTAR MEDIANTE EL USO DE LAS
INTERRUPCIONES.
Cuando las interrupciones globales están desactivadas y cualquier
fuente de interrupción no está presente, una de las siguiente situaciones
ocurrirá:
1. Si la interrupción ocurre ante la ejecución de la instrucción
SLEEP, dicha instrucción será completada con un NOP. Por
otro lado, el WDT y el pre-escalador no serán puestos a cero,
el bit TO no será puesto a “1” y el bit PD no será puesto a “0”
tampoco.
72
CAPITULO II: MARCO TEORICO
2. Si la interrupción ocurre durante o después de la ejecución de
la instrucción SLEEP, el dispositivo se despertará del SLEEP
inmediatamente. La instrucción SLEEP se terminará
completamente después del despertar. Por otro lado, el WDT y
el pre-escalador serán puestos a “0”, el bit T0 será puesto a “1”
y el bit PD será puesto a “0” también. Para asegurar que el
WDT sea puesto a cero, es recomendable implementar la
instrucción CLRWDT antes de ejecutar un SLEEP.
8.- SISTEMAS DE MONITOREO:
Estos sistemas permiten la supervisión constante, atendiendo a una
señal que interpreta un valor específico de una variable proveniente de un
proceso de interés; este valor reflejado puede ser utilizado para atender a
una necesidad dada, como por ejemplo, el control de la variable para obtener
un resultado satisfactorio. Su utilización se puede observar en sistemas
manuales como también en procesos automatizados, pues brinda la ventaja
de poder supervisar un acontecimiento desde un sitio remoto.
9.-INTERNET:
73
CAPITULO II: MARCO TEORICO
Red Mundial de redes de computación independientes que comparten
los recursos de transmisión de datos para interconectarse mutuamente hasta
lograr un alcance global de los enlaces de comunicación por ellos servidos.
Internet basa su funcionamiento en el protocolo de transmisión de datos
TCP/IP. Internet fue desarrollada originalmente en 1971 como proyecto del
departamento de defensa de los Estados Unidos de América, por la agencia
ARPA (Agencia de Investigación de Proyectos Avanzados – Advances
Research Project Agency) a quien se le encargó la creación de una red de
transmisión de datos que mantuviera comunicados las diferentes
dependencias del departamento de defensa de los Estados Unidos de
América. El objetivo fue crear una red confiable, capaz de sobreponerse
automáticamente de fallos de energía así como interrupciones o averías en
las líneas de comunicación. Originalmente se le dió el nombre de ARPANET.
Su uso se extendió fuera de lo militar y hoy en día agrupa a más de 40
millones de usuarios de diferentes índoles, que se comunican gracias a ella
(WWW paso a paso, 1995; p.09). Donde las conexión de un conjunto de
equipos a través de un medio físico para compartir información de una forma
rápida entre diferentes localidades o nodos, conectados mediante topologías,
se llaman redes.
9.1.-Servicios Básicos del Internet:
74
CAPITULO II: MARCO TEORICO
El protocolo TCP/IP, base de la Internet, fue diseñado para que una
amplia variedad de servicios fueran diseñados a partir de el, entre los mas
difundidos hoy se encuentran.
FILE TRANSFER PROTOCOLO (FTP): permite recibir archivos
almacenados en computadores remotos.
Archie: proporciona la ubicación de un archivo dentro de un servidor
de FTP.
Gopher: sistema de información basados en menús.
Verónica: permite buscar información a través de los gopher.
Wais: permite buscar una o más palabras en documentos que circulan
por Internet.
Telnet: permite acceder a un computador remoto y ejecutar programas
en él, si es el caso.
Correo Electrónico (e-mail): permite recibir y enviar mensajes e
información a/o de cualquier usuarios de correo electrónico.
Interactive Relay Chat (IRC): permite sostener conversaciones
mediante el teclado con otros usuarios en tiempo real.
Lista de Distribución: permite recibir periódicamente información
publicada respecto de un tema elegido, se recibe como e-mail.
9.2.- Ventajas de la Internet:
75
CAPITULO II: MARCO TEORICO
Como medio de comunicación, Internet tiene ventajas notorias sobre
los medios de comunicación conocidos, entre las que se encuentran:
Comunicaciones económicas: el uso de Internet para publicación
de información, es más económico, y la comunicación mediante
correo electrónico, hace posible establecer comunicaciones locales o
internacionales por una fracción del costo vía facsímil o teléfono.
Acceso a fuentes de información en líneas: es posible obtener
respuestas a casi cualquier interrogante.
Comercio a larga distancia: con el desarrollo de nuevos protocolos
y tecnologías para seguridad, y la amplia popularidad del WWW,
actualmente es posible llevar a cabo transacciones comerciales a
través de Internet, con clientes, proveedores y compañeros de
negocios que se encuentran en lugares alejados.
Compatibilidad e interoperabilidad: la creación de sistemas de
operación que puedan comunicarse fácilmente entre diversos tipos de
computadoras, los sistemas operativos y las aplicaciones, se facilita
mucho por el uso de protocolos y estándares de Internet y WWW.
9.3.-Problemas de la Internet:
76
CAPITULO II: MARCO TEORICO
A pesar del notorio avance que representa en cuanto a
telecomunicaciones, Internet está lejos de ser la panacea de las
Telecomunicaciones, dado la libertad que en ella existe y el desarrollo
explosivo que mantiene, entre los problemas que afronta están:
Tiempo de respuesta: al aumentar la popularidad de Internet, los
enlaces de comunicación se encuentran a la vez más saturados y los
tiempos de respuesta al usuario pueden sufrir retrasos inaceptables.
Seguridad adecuada: ha habido y continuará habiendo casos de fallas
de seguridad que resultan del acceso no autorizado a datos privados
mediante líneas de Internet compartidas públicamente.
Organización y calidad de contenido: no hay un solo directorio o
servicio de búsqueda que cubra todo el contenido del Internet, ni puede
asegurarse que la información que exista sea actualizada o correcta.
Administración: la conexión de computadoras a una Red Área Local
(LAN) simple, aumenta mucho la complejidad de la administración y
mantenimiento de los recursos de información.
10. HTML.
HTML, de Hypertext Markup Language, es el método más utilizado
para publicar documentos en el WEB. Se suele traducir del inglés como
77
CAPITULO II: MARCO TEORICO
“Lenguaje de Marcas Hipertextual”, “Lenguaje Enriquecido de Hipertexto”,
“Lenguaje Marcado de Hipertexto”...
Como primera aproximación revisemos los términos implicados:
Lenguaje. Un lenguaje, por supuesto, artificial; pero, a diferencia
de lo que suele ser habitual cuando hablamos de lenguajes en
informática, HTML no es estrictamente un lenguaje de programación.
Con HTML no se crean aplicaciones sino documentos.
Marcas. Un documento HTML es un archivo de texto cuyo
contenido es enriquecido con instrucciones que un programa
navegador es capaz de interpretar. Estas instrucciones se introducen
mediante marcas a las que nos referiremos con la expresión
“etiquetas” o, en inglés, tag.
Hipertexto. Con HTML es posible definir “ zonas sensibles” en tus
documentos. Al activarlas desde un programa navegador podremos
acceder a otros documentos HTML o, en general, a otros recursos
disponibles en Internet, en una Intranet o en el propio ordenador del
usuario.
10.1.Definición Formal.
78
CAPITULO II: MARCO TEORICO
HTML 4.0 es una recomendación del W3C. El W3C es el Consorcio
del Word Wide Web que engloba varias instituciones y promueve la
elaboración y discusión de estándares de HTML y otras tecnologías
relacionadas con el WEB. Tras un período en el que se sucedieron
borradores de trabajo, HTML 4 se convirtió en una recomendación del W3C,
el dieciocho de diciembre del noventa y siete. El HTML 4 es una aplicación
SGML (Standard Generalized Markup Language) que satisface la norma
internacional 1508879.
Podemos considerar a SGML como un metalenguaje que permite
construir lenguajes de publicación y distribución de documentos electrónicos
que satisfacen unas determinadas características. En este sentido se dice
que HTML es una aplicación SGML. Como aplicación SGML, HTML se
caracteriza por ser un lenguaje de marcas y un lenguaje descriptivo.
Al decir que se trata de un lenguaje descriptivo se indica que mediante
esas marcas no se pretende determinar la presentación del texto sino
describir su estructura. Las características especiales de SGML le convierten
en un lenguaje independiente de plataforma y sistema operativo, por ello,
una aplicación de ese lenguaje, como es el HTML, fue elegida como lenguaje
de publicación en el WEB.
79
CAPITULO II: MARCO TEORICO
Existen diversos programas navegadores instalados sobre multitud de
máquinas con distintos sistemas operativos alrededor de todo el mundo,
pero, el documento HTML es legible con independencia del tipo de
ordenador, sistemas operativos y navegador que el usuario utilice para
acceder a él. Su probabilidad está en principio garantizada, algo
indispensable en el Word Wide Web que pretende ser una fuente de
recursos de información de acceso universal.
10.2. HTML 4 y HTML DINÁMICO.
Probablemente haya oído hablar de HTML dinámico (DHTML) y se
pregunte por la relación entre HTML 4 y esta nueva expresión HTML
dinámico es un concepto utilizado por Microsoft y Netscape para describir
mejoras introducidas en las últimas versiones, las versiones 4.x, de sus
programas navegadores. Por su parte, HTML 4 es la nueva versión de HTML
promovida por una organización independiente, W3C, dedicada a garantizar
la normalización de este lenguaje.
Por tanto, que un navegador soporte HTML dinámico no quiere decir
que soporte HTML 4; aunque las últimas versiones de los navegadores de
Microsoft y Netscape lo hacen en mayor o menor medida más Explorer que
80
CAPITULO II: MARCO TEORICO
Navigator-. Además, la manera en que ambos navegadores consiguen
resultados semejantes englobados bajo conceptos de HTML dinámico son en
buena medida incompatibles, con lo que la estandarización buscada con
cada nueva recomendación del W3C se rompe cuando hablamos de HTML
dinámico. Lo que sí hace HTML 4 es ofrecer soporte a los métodos
que permiten hablar de documentos HTML dinámicos sin decantarse por
ninguna de ellos.
Así, por ejemplo, soporta en general el uso de lenguajes de hojas de
estilo con documentos RTML sin determinar el uso de uno de esos lenguajes
en particular: o bien soporta el uso de lenguajes de script sin obligar a que se
utilice uno determinado.
¿Qué se consigue mediante estas técnicas? Los documentos podrán
sufrir modificaciones cuando el usuario interactúe con ellos, siendo el
software cliente, el programa navegador, el encargado de procesar estas
modificaciones sin depender del ordenador que sirve el documento.
10.3. Creación de Documentos en HTML:
Para la creación de un documento HTML es necesario un editor de
texto para crear el documento fuente y un programa navegador para
81
CAPITULO II: MARCO TEORICO
interpretarlo. Con estos dos elementos puede crear cualquier documento
HTML. Puesto que HTML 4 es muy reciente, es conveniente, que su
navegador sea de la última generación para que soporte en el mayor grado
posible las innovaciones introducidas.
Aún así, las últimas versiones de los navegadores más extendidos,
Explorer 4.X de Microsoft y Navigator 4.X de Netscape, salieron al mercado
antes de que los borradores de trabajo se convirtieran en una recomendación
oficial del W3C, por lo que, por esta u otras razones de índole comercial, no
soporta al completo la especificación para HTML 4 del W3C. Es conveniente
incluso que tenga instalados varios navegadores para poder comparar como
se interpretan los documentos HTML y cerciorarse del grado de soporte de
HTML 4.
Seguramente utilizaría procesadores de texto y otros programas
informáticos que incorporan conversores para guardar sus documentos en
formato HTML. Las últimas versiones de Microsoft Explorer y Netscape
Communicator constituyen un verdadero conjunto de programas entre los
que se incluyen herramientas e edición de documentos HTML FrontPage
Express para el Explorer, Composer para Navigator que permiten
crear páginas en un entorno muy semejante al de un procesador de texto
WYS/WYG sin que sea necesario ningún conocimiento del lenguaje HTML.
82
CAPITULO II: MARCO TEORICO
10.4. El protocolo HTPP.
Según reza en la definición dada por el W3C, el Protocolo de
Transferencia de Hipertexto (HiperText Transfer Protocol) es un protocolo de
nivel de aplicación, genérico, orientado a objetos y sin estados para la
transferencia de información hipermedia. Esta definición se ajusta bastante a
la naturaleza del protocolo y pone de manifiesto sus ventajas y tal vez sus
inconvenientes.
Como principal ventaja podemos destacar su versatilidad, al ser un
protocolo genérico y orientado a objetos puede servir como substrato para la
transferencia de información de muy diversos tipos. Http puede servir como
un protocolo base para la comunicación entre clientes (navegadores) y
proxies y gateways con otros servicios de Internet como los de correo (que
utilizan el protocolo SMTP, Simple Mail Transfer Protocol, Protocol Simple de
Transferencia de Correo), los de FTP (File Transter Protocol, Protocolo de
Transferencia de Ficheres, un protocolo simple para la transferencia de
archivos utilizando Internet) o los de TNP (servicios de grupo de noticias) y
Gopher (un protocolo de transferencia de información precursor de Web).
Por el contrario, su principal inconveniente es su simpleza, la primera
versión del protocolo, HTTP/0.9, tenía como principal misión la transferencia
83
CAPITULO II: MARCO TEORICO
de datos entre máquinas sin hacer hincapié en la naturaleza de la misma, se
transmitían datos puros. Con la versión HTTP/l.0 se mejoró el protocolo
permitiendo la transferencia de los mensajes con un formato similar a MIME
(Multipurpose Internet Mail Extensions, un estándar para la transferencia de
correo de Internet), que incluía información sobre la naturaleza del contenido
de los mensajes (texto, aplicaciones, imágenes, etc).
A pesar de ser un inconveniente, la simpleza del protocolo ha
provocado su rápida implantación en el web, hasta el punto de que mucha
gente identifica Internet con World Wide Web. La aparición de la versión 1.1
del protocolo ha supuesto una mejora importante, permitiendo el uso de
nuevas capacidades, como la comunicación entre el navegador y un proxy o
la utilización de servidores virtuales.
Normalmente, cuando se hace público un estándar en Internet (o una
revisión) se hace utilizando un documento llamado RFC (Request for
Comments, petición de comentarios en castellano), por tanto, cuando se
hace público un RFC, la comunidad de usuarios de Internet tiene la
posibilidad de acceder directamente a esa información de primera mano,
pudiendo comentar cualquier aspecto que considere oportuno. El protocolo
HTTP/1.1 fue publicado en el RPC 2068, en enero de 1997, definiendo las
pautas básicas de funcionamiento del protocolo. Este protocolo está
84
CAPITULO II: MARCO TEORICO
ampliamente extendido en Internet, aunque aún existen productos para la
anterior versión. Antes de comentar el funcionamiento básico del protocolo
hay que hacer una serie de aclaraciones en cuanto a la utilización de
términos que quizá no sean conocidos por el lector y que son establecidos
por la definición del estándar HTTP/1.1.
Cuando nos referimos a un proxy, estamos hablando de una entidad
software que hace de intermediario entre un servidor Web y un navegador. El
proxy permite traducir direcciones IP para posibilitar la comunicación entre el
cliente y el servidor. Pero la principal ventaja que podremos observar al
utilizar los servicios de un proxy es el ahorro en la conexión entre el cliente y
el servidor. El proxy mantiene un caché de páginas visitadas, de tal forma
que cuando recibe una solicitud de una página desde un cliente a un
servidor, el proxy revisa su caché para enviarla al cliente en caso de tenerla.
Esto se traduce en un ahorro en el tiempo de espera del navegador. Un
gateway (pasarela en castellano) es una entidad que actúa como
intermediario de otros servidores, a diferencia del proxy, cuando un
navegador establece una comunicación con un gateway, supone que lo hace
con el servidor, por tanto, la principal función de un gateway es la de servir
de enlace entre el navegador y el servidor, redirigiendo peticiones.
10.5. Funcionamiento del protocolo HTTP.
85
CAPITULO II: MARCO TEORICO
Se mostrará el esquema de funcionamiento básico del protocolo.
Indicando como se producen las operaciones de una manera simplificada.
Indicar en primer lugar que la comunicación se crea estableciendo una
conexión, por tanto para la transferencia de información entre ambas
entidades (navegador y servidor), es necesario establecer previamente una
conexión.
El protocolo HTTP es un protocolo de petición y respuesta, por tanto el
esquema básico se inicia con la petición de un documento HTML por el
navegador servidor, esta petición tiene un formato establecido por el
protocolo. Cuando el servidor recibe el mensaje de petición, el servidor
intentará proporcionar el recurso solicitado al cliente, indicando la causa en
caso de no poder atenderla.
Una situación más complicada se produce cuando en la comunicación
entran en juego varios intermediarios, como pueden ser proxies o gateways.
La versión de este protocolo recoge la variedad de posibles configuraciones
para el establecimiento de una comunicación. Incluyendo la posibilidad de
realizar comunicaciones entre el navegador o el servidor y algún
intermediario, esto es, algunos de los mensajes se utilizan para
comunicación entre un extremo (navegador o servidor) y un intermediario o
incluso entre intermediarios, además de la comunicación normal extremo-
86
CAPITULO II: MARCO TEORICO
extremo. Éste es un protocolo del nivel de aplicación, por tanto puede
situarse sobre TCP/IP o bien sobre otro protocolo de transporte que ofrezca
similares garantías a las de TCP. Es decir, HTTP sólo supone un protocolo
de transporte fiable, es posible utilizar una versión del protocolo adaptado a
otro protocolo de transporte.
10.6. La Norma URI.
Uno de los aspectos más importantes es la identificación de la
información en el World Wide Web, ya que de poco sirve tener complicados
motores de búsqueda que localizan la información del Web si el propio
sistema de identificación es accesible sin ambigüedades. El propósito de
esta norma es establecer un estándar para identificar un recurso.
Un URI (Uniform Resource Identifier) es una cadena de caracteres
utilizada para representar un recurso físico o abstracto, de tal forma que cada
URI representará a un único recurso, pudiendo un recurso ser representado
por distintas URIs. Las características de este sistema de identificación, que
permite su utilización por parte de cualquier aplicación de la Web son :
establecen una única sintaxis y semántica que permite separar en planos
distintos los métodos de identificación usados por las aplicaciones y los
mecanismos utilizados para localizar los recursos, así como las operaciones
87
CAPITULO II: MARCO TEORICO
que han de realizarse una vez localizados. Es decir, separarán por un lado la
identificación del recurso y por otro la localización del mismo. De tal forma,
que recursos que deben ser localizados utilizando distintos mecanismos, son
identificados siguiendo la misma norma.
Un identificador es una secuencia de caracteres que permite situar un
recurso, y su sintaxis es lo suficientemente estricta como para evitar
ambigüedades y tan flexible como para añadir nuevos métodos de
localización.
10.7. URL Y URN.
Un URI puede ser clasificado como un localizador o un nombre o
ambos. En caso de referirnos a una localización emplearemos un URL
(Uniform Resource Locator), que no es más que un subconjunto de URI que
permite la localización de un recurso utilizando una identificación abstracta
de su situación.
Por el contrario, un URN (Uniform Resource Name) utiliza un servicio
de nombres para la localización, por tanto se trata de otra forma de
identificación que intenta recoger la norma URI. El esquema seguido por la
norma URI para determinar los recursos es básicamente el siguiente:
88
CAPITULO II: MARCO TEORICO
esquema>://<ident_maquina><ident_via>?<consulta>
Donde:
ü <esquema> es el protocolo utilizado para la localización, entre ellos
podemos encontrar esquemas del tipo FTP para el protocolo de
transferencia de ficheros, http para el protocolo de transferencia de
hipertexto, entre ellos.
ü <ident_maquina> es el identificador de la máquina remota, que incluye el
identificador de la máquina y su dominio, así como el puerto por el que se
hace la conexión.
ü <ident_via> es el identificador del plath necesario para localizar el
recurso, junto con el identificado del recurso. Cuando se necesita realizar
algún tipo de consulta se incluyen los dos últimos componentes del
identificador.
Los URI pueden identificar de manera absoluta un recurso, incluyendo
el protocolo utilizado para su acceso, o bien de manera relativa. Es usual
encontrarse con que la información (el caso más usual son los
documentos HTML) que tienen el mismo propósito, es decir información
que está relacionada temáticamente, se encuentra organizada dentro del
servidor en una estructura de árbol, por tanto en estos casos la
localización de información dentro de estos servidores se puede realizar
89
CAPITULO II: MARCO TEORICO
de manera más sencilla utilizando una identificación relativa. Esto permite
hacer uso de la información independientemente del esquema de acceso
utilizando (“FTP”,”http”,”file”), incluso si el conjunto de documentos
cambian de localización, este sistema de identificación continuará siendo
efectivo.
11. Cámara Web.
La cámara capta luz y la dirige sobre una superficie sensible que
convierte las variaciones de intensidad en variaciones de carga. Las
variaciones de carga producen una señal analógica en el cual el color y el
brillo varían contínuamente. Como la cámara no tiene que grabar la señal,
puede ser más pequeña y ligera que una típica videocámara.
11.1. Digitalizador de Vídeo.
Muestrea la señal analógica para producir información digital que
puede ser manipulada por el ordenador, creando archivos AVI.
11.2. Software de Captura.
90
CAPITULO II: MARCO TEORICO
El software captura las imágenes individuales y las convierte en
formato GIF o JPEG aptos para una página Web.
11.3. Actualización en el Servidor Web.
Cuando alguien pide una página que contiene imagen en directo, el
servidor web busca la última versión. Si la imagen se actualiza cada pocos
segundos desde extensiones que poseen los navegadores de Internet se
puede enviar un flujo constante de imágenes, codificando la imagen como un
mensaje multiparte que contiene más de un bloque de datos. Cada bloque
sustituye al anterior, y el servidor envía los bloques en cuanto están
disponibles. Al otro lado de la conexión, el espectador lo que ve es una
página estática con una imagen que se va renovando constantemente.
11.4. Actualización en la Página Web.
Alternativamente, uno puede conseguir la actualización desde el
explorador de Internet, indicando al usuario que pulse RELOAD para
actualizar la imagen, o usando el cliente para recargar la página Web a
intervalos regulares. Para ello que añadir la directiva REFRESH a la
cabecera de la Página Web e instruir al navegador a que traiga la página de
nuevo en “n” segundos.
91
CAPITULO II: MARCO TEORICO
B.-ANTECEDENTES DE LA INVESTIGACIÓN:
Lopez G. Ana Isabel, y Saras A. Rodolfo Enrique. (1999)
realizaron el Desarrollo de una tarjeta de control de procesos
multipropósitos para el laboratorio de Electrónica de la Universidad Dr.
Rafael Belloso Chacín. Maracaibo Edo. - Zulia.
La investigación fue de tipo descriptiva, no experimental .De esta
manera esta investigación difiere con el desarrollo de una tarjeta electrónica
para el monitoreo de señales múltiple naturaleza, utilizando una PC en el que
esta no desarrolla un monitoreo de señales a través de un computador sino
que simplemente realiza una orden a través de este y que en la salida de
este se resalten el hecho de la necesidad de llevar las señales de entradas
analógicas a señales digitales para realizar los procesos de ambos
proyectos.
Esta investigación arrojó como resultado que el sistema desarrollado
no posee una lógica inteligente propia para controlar un proceso específico;
lo cual permite al usuario desarrollar sus propios programas de aplicación de
tal forma que la tarjeta pueda ser utilizada para múltiples y varios fines.
92
CAPITULO II: MARCO TEORICO
Roberto Olivar. (1998). Realizó la Implantación de una Tarjeta
Controladora para el Encendido y Apagado de Equipos
Electrodomésticos. Universidad Dr. Rafael Belloso Chacín. Maracaibo -
Edo. Zulia.
El propósito de esta investigación tecnológica aplicada fue la
implantación de una tarjeta controladora para el encendido y apagado de
equipos electrodomésticos. Esta implantación vendría a resolver el problema
de los altos costos de la energía eléctrica en el hogar, por esta razón consta
de varios dispositivos y entre ellos está el microcontrolador PIC16F84 que es
el que va a realizar todas las operaciones de control en el momento que se
apague el computador personal dando a la tarjeta cierta autonomía sobre los
procesos a realizar, como lo son: El encendido de luminarias, de
acondicionado es de aire, motores, entre otros. Para lograr la implantación
de esta tarjeta se partió de los objetivos iniciales y los conocimientos en el
área de electrónica y técnicas de programación. Esto permitió obtener una
tarjeta de control con poco hardware a un bajo costo que pudiera cumplir con
el trabajo de minimizar los gastos de energía eléctrica. La tarjeta es capaz de
cumplir con su objetivo, el cual es prevenir las omisiones humanas. Por lo
cual se logró cumplir con los objetivos de esta investigación que era obtener
un producto fácil de instalar a muy bajo costo.
93
CAPITULO II: MARCO TEORICO
Jorge Rodríguez Lefebres. (1998). Realizó la Implantación de una
Tarjeta Universal para las pruebas de Microcontroladores de la Familia
PIC-16.. . Universidad Dr. Rafael Belloso Chacín. Maracaibo - Edo.
Zulia.
La investigación fue del tipo exploratoria, ya que tiene por objetivo
esencial familiarizarse con un tópico novedoso como es la Implantación de
una tarjeta Universal para las pruebas de los Microcontroladores de la
Familia del PIC-16.
Para el desarrollo del sistema se necesitaron dos partes esenciales; el
hardware que consta principalmente de elementos de avanzada como lo son
los Microcontroladores de la serie PICSTAR con las diferentes dimensiones
para los diferentes encapsulados existentes, y el software que está
desarrollado en un lenguaje de bajo nivel como lo es el lenguaje de
máquina.
Este sistema brinda como resultado el hecho de que es de gran
utilidad en el desarrollo de sistemas electrónicos de avanzada, dando paso a
la inversión de alta tecnología como lo son los Microcontroladores. Además,
va a permitir un alto índice de ahorro de tiempo y dinero para los desarrollos
94
CAPITULO II: MARCO TEORICO
relacionados con los Microcontroladores de la Flia. PIC-16, ya que esta no
necesita tener asociado hardware para poner a prueba el sistema del
Microcontrolador.
Para concluir se puede establecer que el contar con una tarjeta de
prueba como esto, servirá para actualizar en lo que respecta a la electrónica
de avanzada y ayudará a futuras investigaciones, reduciendo de esta manera
la importación de tecnología.
C.-DEFINICIÓN DE TÉRMINOS BÁSICOS:
- ALU: (Aritmetic logic unit). Unidad aritmética y lógica; parte de una
Unidad central de proceso que se encarga de realizar operaciones
aritméticas lógicas (Electrónica Moderna Practica, Tomo 4, 1995, p;09).
- CONTROLADOR: Señales que pierden sus características
diferenciativas, por lo cual se pierda totalmente la información que
transmitían.
- EPROM: Siglas que denotan memoria de solo lectura y borrable, cuyo
contenido puede establecerse a través de un proceso de programación
95
CAPITULO II: MARCO TEORICO
por inyección de electrones y que puede borrarse por exposición a la
acción de los rayos ultravioleta, (Electrónica Moderna Práctica, Tomo 4,
1995, p:112).
- FILE TRANSFER PROTOCO (FTP): son las iniciales de Protocolo de
transferencia de archivos. También con este nombre se conoce el
servicio de transferencia de archivos en Internet (WWW serie de Paso
a paso, 1995).
- INTERNET: Es el resultado de comunicar miles de redes de
computadoras entre sí. Permite conectar diferentes tipos de redes que
pueden ser de área local o de área extensa, utilizando protocolos como
TCP/IP, que identifican los datos aunque proceden de diferentes tipos
de equipos y usan sistemas operativos anteriormente incompatibles
como Unix, Ms-Dos, OS/2, System 7, Xenix, entre otros. Pero lo más
importante es que en la Internet se comparten o intercambian
información más de 30 millones de personas mediante unas tres
millones de computadoras conectadas a través de más de 20 mil redes
de aproximadamente 130 países de todo el mundo. (Ferreira, 1994,
pag:34).
96
CAPITULO II: MARCO TEORICO
- MICROCONTROLADOR: Dispositivo digital integrado, programable y
de actuación secuencial. Funcionalmente es un dispositivo lógico que
permite el tratamiento de la información almacenada en forma de
“programa de instrucciones”. Este es capaz de interpretar estas
instrucciones y ejecutarlas controlando las unidades implicadas en su
composición. Básicamente está formado por la unidad de
procesamiento central (CPU), la unidad de control, la unidad aritmética
lógica (ALU), puertos y dispositivos de memoria (Microprocesadores y
microcontroladores aplicados a la industria Manual Torres Portero,
Madrid-España 1989, p.05).
- RAM: Memoria de acceso aleatorio, Almacenamiento concebido para
proporcionar un tiempo de acceso constante para cualquier posición
direccionada, (Electrónica Moderna Practica, Tomo 4, p.257).
- RED: se le dá este nombre a la interconexión de computadores, que
permiten compartir archivos y dispositivos entre los computadores
conectados a ésta (Freedman, Alan., 1995).
- ROM: Memoria de solo lectura, Dispositivo capaz de retener datos, los
cuales no se pueden alterar por instrucciones del programa,
(Electrónica Moderna Practica, Tomo 4, p.286).
97
CAPITULO II: MARCO TEORICO
- SISTEMA: Grupo de componentes relacionados que interactúan para
realizar una tarea (WEBSTER, 1997, p.372).
- L.A.N (RED DE AREA LOCAL-LOCAL AREA NETWORK): son las
redes que se encuentran en un área geográficamente limitada.
Topologías más comunes: bus, anillo, entre otras.
- WWW: mejor conocido como World Wide Web. Es una parte de
Internet, basada totalmente en documentos de hipertexto, pero con la
capacidad de desplegar imágenes, sonido y vídeo. En el WWW, el uso
de la palabra hipertexto es reemplazada por hipermedia (WWW, Paso
a paso, 1995).
D.-SISTEMAS DE VARIABLE:
1.-DEFINICIÓN CONCEPTUAL Y OPERACIONAL:
1.1.-Definición Conceptual (Tarjeta Controladora)
Según la enciclopedia SANTILLANA (año 1995 CD-ROM) “ Una tarjeta
controladora es un conjunto de elementos interrelacionados entre sí, cuya
función es ejercer una acción sobre un elemento preseleccionado”.
98
CAPITULO II: MARCO TEORICO
1.2.-Definición operacional:
Una tarjeta controladora es un sistema de control a lazo cerrado, el
cual consta de unos dispositivos que se encargan de encender o apagar al
objeto seleccionado, interrelacionados entre sí.
2.1.-Definición Conceptual (Señales Digitales)
Son señales donde la información está codificada entre dos niveles
fijos de tensión, también llamados niveles lógicos y que son básicamente
trenes de pulsos. Al igual que las señales analógicas pueden ser periódicas o
no periódicas.
2.2.-Definición Operacional:
Una señal digital es la entrada requerida encargada de hacer
funcionar la tarjeta de control a través de dos niveles fijos de tensión los que
actúan a través de un dispositivo (PIC16F84) para encender y/o apagar un
objeto seleccionado por medio de un pulso del reloj.
99
CAPITULO II: MARCO TEORICO