Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cerradura Electronica
Cerradura Electronica
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
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.
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
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
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
SI
Sensor = FFH
NO
Alarma
Call Scan
NO
A = 00H
SI
Decode
Rutina Alarma
Alarma
Retorna
mas filas?
Si
A = FF
Ret
Activo
Imagen no Activa
Prox Column Si Mas Columnas No
HL = 16
No No
Activo1 = 1
Si
Activo2 = 1
Si
A = FF
Ret
Ret
Ret
Saltar a la Accin
X=10
Aceptar
X=11 Main
*CC
MAIN
;GUARDO EL ESTADO DE A
;RECUPERO EL ESTADO DE A
DECOD
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
Desactivar Alarma
Ret
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
Recibido = 00 RET
No
Clave
No
Falla
Nro Usuario 6 6 6 6 6
No Ret
NClave
Nro Clave
Tabla de Claves
Inicio
No C=1
Funcin Cambio de Claves Cambio de Clave Cuenta = 0 Ingrese la Clave Si FALLA? Apagar Led Activo Apagar Led Main
Si Cuenta<=3 No
Mandar INFO a la PC 1 Minuto Apagar Led Activo Apagar Led Aceptar Encender Led Error Main Main
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
Cont = Cont + 1
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
0000H
ROM (8K x 8)
1FFFH
RAM (4K x 8)
7FFFH
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
Address Bus
Z 8 0
ROM .
RAM .
REG SEN S
REG AL/AC
REG LEDs
S.I.O .
Tx Rx GND
Buffer
Buffer
Buffer
Data Bus
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