Está en la página 1de 21

Cerradura Electrnica

Diseo con Microprocesadores


Alumnos: Roberto Canavides Reynaldo Crdoba Diego Moscoso Profesor: Ing. Daniel Cohen Ao: 2001

Introduccin :

El siguiente trabajo fue realizado por los alumnos Reynaldo Cordoba, Roberto Canavides, Diego Moscoso, para la materia Diseo con Microprocesadores dictada por el Ingeniero Daniel Cohen de la Carrera Ingeniera en Computacin de la Facultad de Ciencias Exactas y Tecnologa de la Universidad Nacional de Tucumn. El tema a desarrollar es Diseo de una Cerradura Electrnica, el mismo fue seleccionado debido a que engloba los conceptos vistos en la materia: - Descripcin funcional de la estructura del Z-80 - Formato de la instruccin, modo de direccionamiento, programacin del Z-80, tipos de instruccin - Instrucciones de control - Stack del Z-80 - Estructura interna del Z-80 - Sistema de Micro computador, - Memoria RAM y ROM, mapas de memoria, conexin de memoria al microprocesador, - Conexin de otros dispositivos - Sistemas de interrupciones - Sistema de Entrada y Salida Adems de la posibilidad de conexin con una computadora mediante un SIO (Serial Input Output). Otro aspecto importante a considerar es que el Tema debe ser un problema de aplicacin real. Con este sistema se pretende dar una solucin al problema de las puertas de seguridad, hoy en da dichos sistemas son muy utilizados. Este proyecto est pensado para aquellos locales que cuenta con diversas puertas de acceso restringidos, donde se lleva un control del ingreso y egreso de las personas a travs de las mismas. A continuacin desglosaremos las diferentes partes del proyecto, comenzando por la definicin del mismo, los objetivos, algunas generalidades, luego se da una visin general, el detalle del Hardware necesario, el diseo lgico del sistema, finalmente se muestra un esquema de conexin de los circuitos, acompaado por los correspondientes mapas de memoria y de Entrada Salida.

Cerradura Electrnica

ACCESO RESTRINGIDO SOLO PERSONAL

Objetivos: El objetivo es Disear una cerradura electrnica destinada para aquellas puertas de accesos restringidos. Cada puerta tiene dos teclados, uno para el ingreso y otro para el egreso. Cada persona autorizada tiene un nmero de usuario y un nmero de clave. Cada usuario tiene una franja horaria asignada para poder acceder, fuera de esa franja, el usuario no podr hacerlo. Una PC conectada al sistema, se encarga de controlar el ingreso de usuarios en las franja s horarias correspondientes. Un usuario puede cambiar su clave desde cualquiera de los dos teclados y en cualquier momento del da. Cuando la puerta esta abierta, sin haber sido autorizada para estarlo se activa una alarma Al tercer intento fallido de ingreso de clave, la puerta se bloquea durante un tiempo, y se le avisa a la PC, de lo sucedido. Generalidades: Un sensor controla el estado de la puerta (Abierto/Cerrado). Cada puerta tiene asignado 50 usuarios (con posibilidad de expansin). Un usuario tiene asignado un nmero de usuario de dos dgitos, adems tiene un nmero de clave de 5 dgitos. Cuando el sensor detecta que la puerta esta abierta, sin haber sido autorizado por el Z80, suena una alarma, y se le enva un mensaje de aviso a la PC. Cada vez que se reinicia el sistema, hay dos opciones: 1) Se resetean las claves (mantenemos el nusuario), cuando por algn motivo (sobre tensin por ejemplo), se pierden o se ensucian las claves en memoria, entonces hay que volver a cero todos los nclaves, (luego cada usuario deber cambiar su clave), esto solo ocurre en casos extremos. Solo personal autorizado puede reiniciar la cerradura. 2.) Se las mantiene. Poltica de Entrada: ero Para ingresar a una puerta, el usuario debe ingresar el nm desde el control de entrada, se enva un mensaje a una PC,este mediante un Programa verifica si el nusuario corresponde a esa hora. Luego

devuelve un respuesta, diciendo si el el acceso es permitido o no, si lo es se debe ingresar el nde clave, luego esta es buscada en la memoria conectada al Z80. Si la clave es correcta, entonces la puerta se abre, el usuario tiene un determinado tiempo para cerrarla, pasado este tiempo, se activa la alarma, hasta que el usuario cierre la puerta. En el momento en que se abre la puerta, se enva un mensaje a la PC, para que registre el ingreso, de ese usuario y la hora en que se produjo. Luego del tercer intento fallido de ingreso de clave, la puerta se bloquea durante un tiempo,y se enva un mensaje a la PC, avisndole de un posible peligro. Poltica de Salida: Es la misma poltica usada en la de entrada, solo que, la PC en vez de controlar la franja horaria debe controlar si el usuario esta registrado como que ingres, si no lo est, hay un posible riesgo, entonces no se le permite la Salida. Y si esta registrado como que entro, el procedimiento es el mismo que para la entrada. Poltica de Cambio de Clave: Cuando alguien quiere cambiar su clave debe ingresar n de usuario y nclave, luego es controlado para ver si existe, si no existe se cancela la operacin, y si existe debe ingresar la nueva clave , y reconfirmarla. El cambio de clave se puede hacer desde el panel de ingreso como de egreso.

Sensor de puerta abierta Panel de Entrada

Panel de Salida Actuador Llave Sensor

Paneles de Entrada y Salida Caneles de Control Consta de tres leds indicadores: Led rojo: Indicador de sistema activo. Led verde: Indicador de operacin correcta. Led amarillo: Indicador de errores. Teclas de funciones. Teclado numrico. Llave reset (inicializa el sistema).
ACTIVO O.K. FALLA

1 4 7 A

2 5 8 0

3 6 9 *

LLAVE Acciones del teclado: Abrir la Puerta: Para abrir la puerta se deben seguir los siguientes pasos; introducir el numero de usuario (para nuestro sistema debe ser de dos digitos y no mayor de 50 ya que definimos 50 usuarios), seguido de la tecla A (aceptar) luego el numero clave y la tecla A nuevamte. Cambio de clave: para cambiar la clave se deben seguir los siguientes pasos; introducir el numero de usuario seguido de la tecla * ,luego se debe ingresar la clave vieja ,apretar de nuevo la tecla * e ingresar la nueva clave y apretar la tecla * ,para reconfirmar la nueva clave y apretar finalmente la tecla *.

Matriz de Entrada:

R e g i d s e t r o

E n t r a d a s

0 8

1 9

2 ....

...
Registro de Salida

63

Asignacin de Input

Posicin de la matriz

Nmero

Funcin

00 ... 09 10 11 ... 16 ... 25 26 27


Asignacin de Salida 3 Registros de 8 BIT cada uno

00 ... 09 10 11 ... 16 ... 25 26 27

Llave 0 ... Llave 9 Aceptar(in) Cambiar Cdigo ... Llave 0 ... Llave 9 Aceptar(out) Cambiar Cdigo

Actuador Registro

SIO
Alarma

Leds

Esquema General del Sw Inicializar sistema Main Revisar hasta hallar cambios Decodificacin del teclado Saltar a la accin necesaria
Enviar y Recibir de PC Activar Alarma Desactivar Alarma

* Cambiar
Cdigo

Abrir puerta

Main

Estructura de Datos Switch_In: L0 ... L9 Switch_out: L0 ... L9 Keys: K_acep_in K_c.c._in K_acep_out K_c.c._out Null: 40 Bytes libres

Flags El dato fue recibido? (Si / No) Recibido = FFH / 00H El dato fue enviado? (Si / No) Enviado = FFH / 00H Teclado de Entrada? (Si / No) Activo1 = FFH / 00H Teclado de Salida? (Si / No) Activo2 = FFH / 00H Total de la estructura de datos = 68 Bytes

Inicializacin

INIT
Inicializar SP
Apagar las luces del panel Apaga alarmas

Sensor de cerradura esta

Borrar R.A.M.

N Aviso PC
Enciendo leds activo

Programa Principal Recorremos la entrada para encontrar cambios significativo. Un contacto activo ocurre cuando hay contacto en la matriz El valor anterior de los contactos estn en la tabla : FFH= Activo Al primer cambio A=0 HL Posicin Contacto Tabla Si no hay cambio, retorna A = FF H

Main Activo1 = 1 Activo2 = 1

SI

Sensor = FFH
NO

Alarma

Call Scan
NO

A = 00H
SI

Decode

Rutina Alarma

Alarma

Activar Alarma Enviar informacin a la PC

1 minuto Desactiva Alarma

Retorna

Rutina SCAN: Scan 5 ms Fila = 8 Prox Fila


No

mas filas?
Si

A = FF

Ret

Columna = 7 Leer Matriz


No Si No Estaba Activo? Si No Si

Activo

Imagen Activa A=0 HL <- Pos Contacto

Imagen no Activa
Prox Column Si Mas Columnas No

HL = 16
No No

Activo1 = 1
Si

Activo2 = 1
Si

A = FF

Activo2 = 0 (IN/OUT) <- 00

Activo1 = 0 HL<- HL-16 (IN/OUT) <- FF

Ret

Ret

Ret

Saltar a la Accin

Decode X<10 N Usuario

X=10

Aceptar

X=11 Main

*CC

Combinando MAIN con Decod en Assembler

MAIN

PUSH AF LD A , SENSOR CP FF JP Z , ALARMA POP AF CALL SCAN INC A JR C , MAIN

;GUARDO EL ESTADO DE A

;RECUPERO EL ESTADO DE A

DECOD

LD A , L CP 10 JP N , NUSUARIO JP Z , ACEPTAR CP 11 JP Z, * C C JP MAIN

Rutina de ingreso del nmero de usuario

N Usuario
IY <- NUSR (IY) <- X IY <- IY + 1 B=1

NUS R Clav e

Call Scan
C=C+1
No No

A =0
Tecla Num
Si No

C = FF
Falla

( IY ) <- L IY = IY + 1 B = B- 1
No
B=0

Return
Si

Call Scan
No

C=C+1 A =0
Si No Si
C=FF

X = 10
Si

Aceptar

X = 11

*CC

Rutina Aceptar

Aceptar Mandar Info a PC No Enviado = FF Leer Registro de PC No Recibido = FF Apagar Led Activo Apagar Led Aceptar Encender Led Error Ret

Cuenta=0 Ingrese la clave Si FALLA? Apagar Led Activo Apagar Led Aceptar Encender Led Error Ret Buscar clave en memoria Cuenta= Cuenta +1 Se encontr clave Abrir Puerta Mandar Info a PC Tiempo Apertura Cerradura (Sensor) = FFH No Si Si Activar Alarma No (Sensor) = FFH No Cuenta =< 3 Si No

Mandar Info a PC 1 Minuto Ret

Desactivar Alarma

Ret

Rutina mandar informacin a la PC

Mandar Info a PC
C=0

Si N=0
Enviado = FF Out (PC) , Direc Direc = Direc + 1 N=N - 1
In reg,(DirControl)

Ret

C=C+1
Si

C = FFH No No Transmitido Si

Enviado = 00

Ret

Funcin Leer Registro de la PC Podemos conectar hasta 254 estaciones debido a que reservamos 00H: negativa FFH: afirmativa Leer Registro de la PC Cont 0 Cont Cont +1 IN Reg1,(RegControl) No

Dato Recibido

Cont=FF

No Si

Si IN Reg2,(RegDato) No Dato es Mo Si IN Reg3,(DatoPC) Cont Cont+1

Recibido = 00 RET

Dato Recibido Si Recibido = FF RET

No Cont=FF Si Recibido = 00 RET

No

Rutina: Ingrese la clave

Ingrese la clave NUSR B=5 IY <- Clave Call Scan A =0 No

Clave

Tecla Num Si ( IY ) <- L

No

Falla

Ret IY = IY + 1 B = B- 1 No B=0 Si Ret

Rutina Buscar Clave en Memoria

Buscar Clave en Memoria IXPuntero IX Inicio + {M(NUSR)*10 + M(NUSR+1)}*5 Temporal


NUSR

Nro Usuario 6 6 6 6 6

No Ret

IX>Inicio And IX<FinTabla Si C0 B5 IY Clave

NClave

Nro Clave

Tabla de Claves
Inicio

Clave del Usuario 00 M(IX)=M(IY) Si BB-1 IXIX+1 IYIY+1


FinTabla

No C=1

Clave del Usuario 49

No B=0 Si C=0 No (Clave)00 RET Si (Clave)F FH IXIX-6

Funcin Cambio de Claves Cambio de Clave Cuenta = 0 Ingrese la Clave Si FALLA? Apagar Led Activo Apagar Led Main

Buscar Clave en RAM

Cuenta = Cuenta + 1 (clave)=FF H Si Ingrese la FALLA? Si No

Si Cuenta<=3 No

Mandar INFO a la PC 1 Minuto Apagar Led Activo Apagar Led Aceptar Encender Led Error Main Main

Call Scan Main No X=1 Si Confirmar Clave

C=1 Si FALLA

No

IYClave (IX) (IY) (IX+1) (IY+1) (IX+2) (IY+2) (IX+3) (IY+3) (IX+4) (IY+4)

Main

Rutina Confirmar clave

Confirmar Clave B 5, C 0 IY Clave

Cont = Cont + 1

Call Scan A=0 No

No Cont = FF

S TeclaNum Si L=M(IX) Si B B+1 IY IY+1 No Si No C=0 Si RET Falla RET B=0 No C1 No Falla RET

Mapa de Memoria (64 KBytes)

0000H

ROM (8K x 8)

1FFFH

1) R.O.M. (8K x 8) 2) R.A.M. (4K x 8)

RAM (4K x 8)

7FFFH

Mapa de I / O (256 Bytes) 1 2-12 13-14 15-16

00 H 0F H 1F H 2F H 3F H 4F H 5F H 6F H 7F H 8F H 9F H AF H BF H CF H DF H EF H FF H

1) Bit 0: Registro Sensor Puerta. Bit 1: Registro Sensor Llaves. 2-9) S.I.O. (escritura) 10-12 ) S.I.O. (lectura) 13) Registro de teclado de IN 14) Registro de teclado de OUT 15) Registro leds 16) Registro actuador

Interconexin de los Integrados

Address Bus

Z 8 0

ROM .

RAM .

REG SEN S

Reg . buff er (In)

REG AL/AC

REG LEDs

S.I.O .

Tx Rx GND

Buffer

Registro buffer (Out)

Buffer

Buffer

Data Bus

Sensor de Puerta y Sensor Llave 5[V] 5[V]

REGISTRO

Enable

DB

Arquitectura del S.I.O. (1): Tiene 8 registros de escritura y 3 de lectura. En las interrupciones el canal A tiene mayor prioridad que el B y dentro de cada canal las prioridades son: Recepcin, Transmisin y External/Status interrupt. El receptor tiene un buffer de 3 registros de 8 bits en forma de FIFO y adems un registro de desplazamiento de 8 bits. Cada registro del buffer tiene asociado su correspondiente registro de estado. Inicializacin El programa debe inicializar al SIO con: Paridad Modo de reloj x1 8 o 16 bits de sincronismo Polinomio CRC Transmisor habilitado Request To Send Data Terminal Ready Longitud de los caracteres.

Modos de Interrupcin

Conclusiones: Los conceptos vistos en la materia son necesarios, para poder llevar cabo e desarrollo del proyecto, adems de otros temas como conexin del Z-80.con una PC. El sistema es sencillo, modular y de bajo costo. Surge un problema para conectar muchas puertas a una PC, una posible solucin seria una conexin tipo Daisy Chain con los SIOs de cada una de las estaciones utilizando ambos puertos de los mismos, uno como entrada y el otro como salida. El sistema tiene un grado de complejidad medio. Podramos considerar las siguientes posibles mejoras: - PC encueste a las estaciones, para ver si tienen alguna novedad, para evitar problemas de concurrencia en el puerto de la PC. - En caso de una puerta importante se utilizan dos llaves que deben accionarse al mismo tiempo. - Controlar la posibilidad de entrada por una puerta y la salida por otra La PC almacene la clave de los usuarios, de manera de que cuando reseteamos el sistema se recuperen fcilmente las claves

Reynaldo Cordoba Roberto Canvides Diego Moscoso

También podría gustarte