sistema de autenticacion biométrica

Upload: fredy-bonilla

Post on 15-Jul-2015

337 views

Category:

Documents


0 download

TRANSCRIPT

INGENIERA ELECTRNICAPROYECTO FIN DE CARRERA

Sistema de Autenticacin Biomtrica de Huella Dactilar asistido por Interfaz de Voz para el Control de Accesos

AUTOR: D. JUAN JOS GARCA GARRIGS DIRECTORES: D. CARLOS FERRER ZAERA D. JESS SORET MEDEL

Tribunal: Presidente: Vocal 1:

Vocal 2:

Vocal 3:

CALIFICACIN: ................................. FECHA:

ndiceResumen. Nota del Autor. 1. Introduccin. V VII 1

1.1. Objetivos. . 1 1.2. Justificacin. 3 1.3. Metodologa. ... 5

2. Estudios Preliminares. 2.1. Introduccin a los Sistemas de Autenticacin Biomtrica de Huella Dactilar y Reconocimiento de Voz. 2.1.1. Autenticacin Biomtrica de Huella Dactilar.

7

7 7

2.1.2 Reconocimiento de Voz. . 12 2.2. Opciones de Integracin. Tecnologas de Autenticacin Biomtrica de Huella Dactilar y Reconocimiento de Voz. . 14 2.3. Seleccin de los Sistemas de Autenticacin Biomtrica de Huella Dactilar y Reconocimiento de Voz. . 17

3. Arquitectura.

25

3.1. Diseo Hardware del Dispositivo Controlador de Acceso. . 25 3.1.1. Microcontrolador del Sistema (mC) / Procesador de Voz. .. 27 3.1.2. Memoria de Programa y Datos del Sistema. 28 3.1.3. Mdulo de Autenticacin por Huella Dactilar. Comunicacin Interna y Externa. . 30 3.1.4. Compatibilidad entre Componentes Digitales. Niveles Lgicos. .. 37 3.1.5. Entrada y Salida de Audio. .. 41 3.1.6. Seales de Control de Puerta de Acceso. . 43 3.1.7. Alimentacin y Consumo de Corriente del Dispositivo. . 45

I

3.2. Infraestructura de la Red de Terminales de Control de Acceso Biomtrico. . 47 3.2.1. Capa Fsica de la Red. Protocolo RS-485. .. 3.2.2. Estructura y Caractersticas de la Red tCAB. . 47 48

4. Funcionamiento y Desarrollo Software.

57

4.1. Funcionamiento del Controlador de Acceso Biomtrico. 57 4.1.1. Funcionamiento Normal del Controlador de Acceso. .. 61 4.1.2. Configuracin del Controlador de Acceso. .. 66 4.2. Programa del Controlador de Acceso Biomtrico (Firmware). .. 78 4.2.1. Estructura y Archivos del Firmware. 78 4.2.2. Descripcin del Programa Principal. Flujogramas. .. 83 4.2.3. Protocolos de Comunicacin: Protocolo de Comandos del Mdulo de Autenticacin Biomtrica y Protocolo de Enlace de Red tCAB. . 102 4.2.4. Mapa de Memoria y Programacin del Dispositivo. . 123 4.3. Aplicacin de Gestin de la Red tCAB. ... 126 4.3.1. Dilogo de Autenticacin del Administrador por Huella Dactilar. 128 4.3.2. Panel Principal. .. 129 4.3.3. Dilogos Asociados a Operaciones sobre los Terminales. 137 4.3.4. Dilogos Asociados a Operaciones sobre los Usuarios. 140 4.3.5. Otras Ventanas de Dilogo. ... 144

5. Pruebas de Prototipos y Conclusiones.

147

5.1. Pruebas de los Prototipos del Controlador de Acceso. . 147 5.2. Pruebas de la Red tCAB. .. 153 5.3. Conclusiones. 154

Apndices A. Bibliografa. B. Diagrama de Bloques [Arquitectura]. 157 159

II

C. Interfaz de Usuario por Voz [VUI].

161

C.1. Mensajes de Voz del Dispositivo tCAB. . 161 C.2. Vocabularios del Dispositivo tCAB. 165

III

ResumenEn este Proyecto de Ingeniera realizado para la empresa Fermax Electrnica S.A.E., se presenta el desarrollo de un sistema electrnico digital para el control de accesos basado en la tecnologa de autenticacin biomtrica de huella dactilar. Este sistema pretende facilitar el acceso a inmuebles de los usuarios, que, en lugar de las clsicas llaves u otros objetos con la misma funcin, slo tendrn que desplazar su dedo sobre un lector de huella dactilar para poder abrir la puerta, despus de su autenticacin como usuario autorizado. De este modo, tambin se incrementar la seguridad del acceso en muchos aspectos, al ser la huella dactilar mucho ms difcil de duplicar que otros objetos llave. En una primera fase del proyecto, se dise un dispositivo controlador de acceso en el que se dispone de los modos de autenticacin de identificacin y verificacin del usuario mediante su huella dactilar, la cual ser capturada por un lector de huella trmico por desplazamiento. En todo momento este dispositivo ejercer el control de la puerta de acceso, y en caso de autenticacin positiva de un usuario le permitir acceder al inmueble abriendo la puerta. En la memoria del dispositivo habr capacidad para, aproximadamente, 1000 usuarios, los cuales registrarn sus huellas para poder ser autenticados posteriormente. Esta operacin, al igual que la de borrar, o dar de baja al usuario, adems de otras opciones de configuracin del controlador de acceso, se podrn realizar gracias a un men de opciones entre las que se encuentran las mencionadas, y que solamente ser accesible para la persona registrada como administrador del sistema. En consecuencia, el dispositivo podr funcionar de forma totalmente autnoma sin depender de otro sistema externo para realizar dichas operaciones. La interfaz de usuario del dispositivo, adems del lector de huella, est compuesta por una Interfaz de Voz, consistente en la capacidad del dispositivo para reconocer comandos de voz a travs de un micrfono; y, un altavoz que permitir al usuario escuchar mensajes de informacin e indicaciones de uso. Dicha interfaz de voz, desarrollada en castellano e ingls, estar disponible, sobretodo, para navegar por el men de configuracin del dispositivo, aunque tambin ser til en el modo de verificacin de usuario por huella dactilar, donde se requiere al usuario que introduzca su nmero de identificacin personal (PIN) pronunciando los nmeros que lo forman. En la segunda fase del proyecto, se desarroll una red para controlar varias puertas de acceso compuesta por estos dispositivos, ahora como terminales de control de acceso biomtrico (tCAB), y que ser gestionada desde una aplicacin sobre PC, mediante un protocolo de comunicaciones especfico.

V

Nota del AutorDebido a razones de Confidencialidad de la empresa Fermax Electrnica S.A.E., donde fue desarrollado este proyecto, en la memoria que se presenta se han realizado los siguientes cambios u omisiones: (i). Los Nombres Comerciales de algunos componentes del dispositivo diseado se han sustituido por nombres ficticios. (ii). Se han omitido las referencias bibliogrficas correspondientes a los Datasheets de los componentes afectados por el punto (i). (iii). No se han incluido en esta memoria, ni el Cdigo Fuente del Software desarrollado (Firmware del Dispositivo y Aplicacin de Gestin de Red); ni, tampoco, el Esquema Elctrico (Esquemtico) correspondiente al diseo del dispositivo.

VII

Captulo 1Introduccin1.1. Objetivos.En esta memoria se describe y detalla el proyecto de ingeniera en el que se desarrolla e implementa una red de dispositivos para el control de acceso a inmuebles o estancias gestionada mediante una aplicacin sobre PC. Donde, cada dispositivo controla independientemente el acceso mediante autenticacin biomtrica de huella dactilar y cuya interfaz de usuario, adems del lector de huella, consiste en el reconocimiento de comandos de voz independientes del locutor. Para la realizacin del proyecto se propuso la consecucin de los siguientes objetivos, enmarcados en tres fases:

En una primera fase de desarrollo se plantea el diseo y construccin del prototipo controlador de acceso. ste debe incorporar las siguientes funcionalidades: Autenticacin biomtrica de usuario mediante lector de huella dactilar. Control de la puerta de acceso: actuador (rel) abre-puertas, botn de salida, y sensor de deteccin de puerta abierta. Interaccin con el usuario mediante mensajes de voz pre-grabados y reconocimiento de comandos de voz independientes de locutor que constituyan la interfaz de usuario del dispositivo. Adems, cuando el dispositivo controlador no pertenezca a una red de controladores de acceso, se pretende que funcione de forma totalmente autnoma,

1

2

Introduccin

sin necesidad de depender de un sistema central para su gestin. Por tanto, el dispositivo controlador debe disponer de un men de configuracin, que sea de fcil navegacin y que proporcione al dispositivo la suficiente flexibilidad de configuracin para poder funcionar de forma independiente. Este men ser accesible slo para el administrador y sus opciones permitirn: aadir y borrar usuarios, cambiar el administrador y configurar los diferentes parmetros del sistema, como son los tiempos de control de puerta y la seleccin de modos de funcionamiento. La navegacin por este men de configuracin se realizar por medio de la interfaz de voz que, gracias al reconocimiento de comandos de voz permitir seleccionar las diferentes opciones del men y cuyos mensajes pregrabados servirn de gua para el administrador.

Como segunda fase del proyecto se propone desarrollar la red de controladores de acceso. sta ser de tipo centralizado, estar basada en el bus RS-485 y tendr como host central a un PC, donde se ejecutar la aplicacin de gestin de la red de controladores. Para realizar dicha red y permitir la gestin de la misma, debe disearse un protocolo de comunicaciones especfico para este sistema e implementarlo en el firmware del dispositivo controlador. Conjuntamente, para completar el desarrollo del sistema de control de acceso, se planea la realizacin de dicha aplicacin de gestin de la red de controladores. Para su funcionamiento ser necesario un lector de huella, para PC, con el que recoger las huellas dactilares de los usuarios, y en la que habr de implementarse fundamentalmente, una base de datos con todos los usuarios en cada dispositivo de la red y sus caractersticas (nmero de identificacin, nombre, patrones de huella y controladores en los que est autorizado); adems de las siguientes acciones: Aadir y borrar usuarios en la base de datos de la aplicacin. Autorizar y desautorizar el acceso de los mismos en cada controlador. Configurar los diferentes parmetros de cada dispositivo controlador de la red. La aplicacin, y por tanto la red de controladores de acceso, ser gestionada por un grupo limitado de administradores del sistema de los que se almacenarn tambin sus caractersticas incluyendo sus patrones de huella respectivos. El acceso a la misma estar restringido a los administradores del sistema que debern autenticarse antes de comenzar cada sesin de trabajo.

Por ltimo, en la tercera fase, se producir puesta en marcha del sistema de control de accesos, despus de haber construido los prototipos y descargado su firmware. Este sistema consistir en una red integrada por al menos dos prototipos controladores, y estar gestionada por la aplicacin PC desarrollada. Conjuntamente, se verificar el funcionamiento, primero del prototipo y despus de la red, realizando los cambios en el hardware del sistema que sean necesarios, as como la

Introduccin

3

depuracin del programa del prototipo controlador de acceso y de la aplicacin de gestin de la red.

1.2. Justificacin.El presente proyecto se enmarca dentro de las actividades del Departamento de Nuevas Tecnologas, cuyo director es el Dr. Carlos Ferrer Zaera, perteneciente a la empresa Fermax Electrnica S.A.E.; y supervisado por el Dr. Jess Soret Medel del Departamento de Ingeniera Electrnica (ETSE) de la Universidad de Valencia. En el Dpto. de Nuevas Tecnologas de Fermax nace el proyecto como una iniciativa para desarrollar un nuevo sistema de control de accesos basado en tecnologa biomtrica de huella dactilar, dentro de la lnea de producto ya existente y cuya responsabilidad recae dentro de este departamento.

Estado del Arte en Sistemas de Control de Accesos Gracias al auge y madurez que ha alcanzado la tecnologa de reconocimiento de huella dactilar, actualmente en el mercado estn empezado a aparecer dispositivos que aplican esta tecnologa biomtrica para autenticar usuarios en el acceso a inmuebles, viviendas u otras estancias. Estos sistemas presentan una mejora de seguridad y comodidad frente a clsicos sistemas de control de accesos, como llaves y tarjetas magnticas o dispositivos emisores de infrarrojos y radiofrecuencia, puesto que el usuario no se necesita ningn objeto llave o dispositivo externo que deba portar para autenticarse y que, adems, pueda extraviar y ser utilizada por otras personas; digamos que el usuario lleva incorporado desde su nacimiento su propia llave, lo cual es la base de la autenticacin en todos los sistemas biomtricos y que evita los problemas mencionados anteriormente. Respecto a otros sistemas que utilizan una interfaz de teclado numrico y una clave de usuario para su autenticacin, esta tecnologa al utilizar la identificacin de la huella dactilar del usuario no es imprescindible emplear una clave que deba ser memorizada por el usuario por lo que es mucho ms cmodo para cualquier persona. Tambin incrementa la seguridad del acceso en cuanto a que la clave, usualmente de 4 dgitos y nica barrera para restringir el acceso, podra ser desvelada mediante muy diversos mtodos; mientras que el patrn de huella o la huella en si, requerira de medios mucho ms sofisticados para ser reproducida y as violar la seguridad del acceso; adems, siempre se podra reforzar la seguridad con una clave de usuario lo que elevara an ms el nivel de seguridad. En este terreno existen ya algunos sistemas de autenticacin de huella dactilar aunque con caractersticas bastante limitadas. Por ejemplo, existen dispositivos de control de acceso que utilizan algn elemento externo y portable para su autenticacin, como tarjetas o llaveros magnticos en los que almacenan el patrn de huella del usuario. stos dispositivos realizan slo una verificacin de la huella introducida en el

4

Introduccin

lector con la huella del usuario almacenada en el elemento magntico. Tambin hay dispositivos con una memoria interna donde almacenan los patrones de huella de los usuarios, y que realizan una verificacin de la huella del usuario capturada por el lector con la huella indicada mediante una clave de usuario o pin para autenticar su acceso. En ambos casos, estos sistemas utilizan slo la verificacin de la huella del usuario con una huella almacenada, por lo que siempre se necesita algn mtodo extra de pre-identificacin del usuario para poder realizar la autenticacin. La mayora de estos sistemas actuales no realizan una identificacin de usuario, es decir que no realizan una bsqueda o verificacin 1:N en una base de datos de patrones de huella, debido a que ello requiere de un mayor procesado y conlleva unos altos tiempos de respuesta que no son operativos.

Motivacin. Dado el estado de los sistemas de control de accesos en el mercado actual, la motivacin era desarrollar y construir un dispositivo de control de acceso utilizando una tecnologa de reconocimiento de huella dactilar que mejorase las prestaciones de los sistemas de control de accesos existentes en general, y de este modo facilitar el acceso de cualquier persona a diferentes inmuebles, as como aumentar la seguridad en el acceso utilizando dicha autenticacin biomtrica. Se pretenda disear un dispositivo verstil, dirigido tanto al acceso a edificios vecinales, un solo acceso con muchos usuarios; como al acceso a estancias interiores de inmuebles o a diferentes zonas de un recinto industrial, que correspondera al caso de una red de varios accesos, con capacidad tambin para muchos usuarios por acceso. Para ello, en la situacin de un solo acceso, el dispositivo debera poder funcionar autnomamente sin necesidad de instalar una red con un nodo central para gestionarla, y adems disponer de una base de datos grande para los patrones de huella de los usuarios, unido a una autenticacin de usuario que se pudiera realizar mediante el proceso de identificacin de huella dactilar en tiempos razonablemente pequeos y operativos garantizando, adems, una elevada seguridad y fiabilidad en dicho proceso. ste no era el caso de los sistemas ya existentes que deban pertenecer necesariamente a una red o cuyo nmero de usuarios era muy limitado. Para construir la red, en el caso de varios accesos, se pens en desarrollar una aplicacin ejecutada sobre PC que gestionara la red, basada en RS-485, como host o nodo central; pudiendo as escalar la red a las necesidades del entorno y dando al operador o administrador del sistema una herramienta para su gestin, amigable y de fcil uso. Esta escalabilidad del sistema completo, desde el caso de un dispositivo autnomo para el control de un acceso con una instalacin mnima, hasta la instalacin de una red de controladores para muchos accesos; dara una mayor salida al mercado del producto, incrementando as su rentabilidad. Dado el funcionamiento autnomo que el sistema deba poseer, se necesitaba una interfaz de usuario con el dispositivo controlador adecuada, que permitiese realizar las operaciones fundamentales de alta y baja de usuarios, introducir claves auxiliares de acceso, y configurar diversos parmetros del sistema. Era necesario plantearse, por

Introduccin

5

tanto, cmo se iba a implementar el medio de interaccin con el usuario que, junto con el lector de huella, conformase dicha interfaz de usuario. Se pens en utilizar una interfaz de comandos de voz, que sera posible implementar gracias a la tecnologa de reconocimiento de voz para sistemas embedded o embarcados que existe actualmente. Teniendo en cuenta la motivacin principal, para el desarrollo de este sistema de C.AA., de mejorar la accesibilidad a inmuebles, adems de garantizar un control de acceso seguro, a cualquier persona; este tipo de interfaz de usuario presenta una gran facilidad de uso, en especial para usuarios invidentes, puesto que se establecen dilogos consistentes en mensajes, que guan e indican al usuario en el manejo del dispositivo, y comandos de voz para introducir datos, navegar por el men de configuracin, etc. La interfaz de voz, a parte de suponer un ejemplo de empleo de esta nueva forma de interaccin hombre-mquina, presentaba una ventaja adicional para su eleccin en nuestro dispositivo, como es la de construir un dispositivo ms compacto y modular para su integracin en placas de calle de Fermax, debido a la simplificacin que resulta de sustituir un teclado numrico ms pantalla LCD por dicha interfaz de voz.

1.3. Metodologa.Para desarrollar este proyecto y conseguir los objetivos mencionados anteriormente, se han realizado las siguientes tareas siguiendo la metodologa clsica de la ingeniera: Estudio, valoracin y eleccin de los componentes principales del dispositivo controlador, como son los elementos de proceso (micro-procesador/es), memoria e interfaz de usuario (lector de huella, micrfono, etc.) que permitan la gestin del sistema, as como la implementacin del reconocimiento de huella dactilar y de comandos de voz independiente del locutor. Y a su vez, definicin de la arquitectura, tanto del dispositivo controlador como de la red de control de accesos. Inicio y desarrollo de modelos preliminares para la estructura del firmware del dispositivo controlador, y pruebas de stos sobre las plataformas hardware de evaluacin de los elementos proceso proporcionadas por los fabricantes. Diseo hardware de la arquitectura de la placa madre del dispositivo controlador.

Diseo del firmware del sistema incluyendo el protocolo de comunicaciones necesario para su funcionamiento en la red de dispositivos controladores gestionada desde un PC. Diseo CAD de la placa de circuito impreso (PCB) y construccin del prototipo del dispositivo controlador.

6

Introduccin

Ensayos de verificacin del prototipo trabajando en modo autnomo y en modo de red, pruebas del protocolo de comunicaciones con el PC. Depuracin del firmware del sistema y del protocolo de comunicaciones. Desarrollo e implementacin de la aplicacin PC para la gestin de la red de dispositivos controladores de acceso. Puesta en marcha de la red gestionada por la aplicacin desde el PC; pruebas y ajustes finales del sistema completo.

Captulo 2Estudios PreliminaresEn este captulo se explicarn las razones para la eleccin de los componentes o elementos principales y necesarios para el diseo e implementacin de nuestro sistema de control de acceso, descrito en el captulo anterior. En ste se emplean dos tipos de tecnologas, como son la de autenticacin biomtrica de huella dactilar, elemento fundamental de nuestro dispositivo de control de acceso; y la de reconocimiento de voz, que servir para implementar la interfaz de usuario mediante comandos de voz. Aqu se detallarn tambin las caractersticas y parmetros tcnicos de ambas tecnologas, as como del microcontrolador del sistema y necesidades de memoria, lo que vertebrar la arquitectura del dispositivo controlador de acceso.

2.1. Introduccin a los Sistemas de Autenticacin Biomtrica de Huella Dactilar y Reconocimiento de Voz.2.1.1 Autenticacin Biomtrica de Huella Dactilar [1] [2] [3].

Dentro del campo multidisciplinar del Reconocimiento de Formas destacan las aplicaciones biomtricas que consisten en la medida, el procesamiento y anlisis estadstico de datos identificativos biolgicos de los seres humanos. Un Sistema Biomtrico es esencialmente un sistema de reconocimiento de formas que reconoce a una persona mediante la autenticidad de caractersticas fisiolgicas y/o de comportamiento que posee. Un tema importante en el diseo de sistemas biomtricos es determinar cmo va a ser reconocida cada persona. Dependiendo del contexto de la aplicacin, o de las circunstancias de empleo, un sistema biomtrico puede tener dos modos de operacin, como sistema de verificacin o de identificacin:

7

8

Estudios Preliminares

Un Sistema de Verificacin autentica la identidad de la persona comparando la caracterstica biomtrica capturada, con su propio patrn (o patrones) previamente almacenados en el sistema. ste realiza la comparacin uno a uno (1:1) para determinar si la identidad declarada por la persona, normalmente mediante un nmero de identificacin personal o PIN, es cierta. El sistema de verificacin aceptar o rechazar esta afirmacin de identidad para la que (Soy quien digo que soy?). Un Sistema de Identificacin reconoce a una persona a travs de la bsqueda en la base de datos de patrones de una coincidencia con el patrn capturado. ste realiza comparaciones uno a muchos (1:N) para establecer la identidad del sujeto (o el resultado de la bsqueda es negativo si el sujeto no est registrado en la base de datos), en este caso, sin necesidad de que la persona tenga que declarar su identidad previamente (Quin soy?).

El trmino Autenticacin es frecuentemente usado en el campo de estudio de sistemas biomtricos, a menudo como sinnimo de verificacin; en realidad, en lenguaje de las Tecnologas de la Informacin, autenticar a un usuario significa dejar al sistema averiguar la identidad del usuario independientemente del modo (verificacin o identificacin). Todo lo dicho se aplica a cualquier sistema de autenticacin biomtrica por lo que es vlido, tambin, para un sistema biomtrico basado en la autenticacin por huella dactilar; el cual, es un caso particular de estos sistemas en el que las caractersticas y patrones biomtricos se extraen de la huella dactilar de las personas, en lugar de otras caractersticas biomtricas como son el rostro humano, en reconocimiento facial, el iris o retina, en reconocimiento ocular, o la forma de escribir en un teclado, como ejemplo de reconocimiento de la dinmica de un determinado comportamiento humano. En los diagramas de la figura 2.1 se muestran los procesos de los modos de verificacin e identificacin de usuarios, as como, el proceso de registro de las huellas de un usuario en la base de datos del sistema, que siempre ser necesario para el funcionamiento de un sistema basado en cualquiera de los dos modos de autenticacin. Aqu tambin se explican, brevemente, las tareas intermedias llevas a cabo en el interior del sistema para implementar ambos modos de autenticacin. Entendiendo que la huella dactilar, a causa de pliegues formados sobre la piel, est dibujada por una serie de lneas de cresta y de valle, la Representacin de la huella consiste en la eleccin o extraccin de unas determinadas caractersticas de este dibujo de lneas, a partir de la imagen capturada por el lector y posteriormente digitalizada en escala de grises; para formar el patrn de huella con el que trabajar el sistema (proceso realizado en bloque Feature Extractor, ver fig. 2.1). Estas caractersticas deben ser invariantes en la huella del individuo, as como, localizables por el sistema para ser extradas de la imagen de la huella con relativa facilidad. En lo que juega un papel crucial la calidad de la imagen tomada por el lector, conjuntamente al pre-procesado posterior de esta imagen.

Estudios Preliminares

9

Figura 2.1: Procesos de un Sistema de Autenticacin Biomtrica por HuellaDactilar. Los algoritmos de reconocimiento de huella dactilar implementan las tareas mostradas en gris: Feature Extractor, extraccin de caractersticas de la huella dactilar para formar el patrn de huella; Matcher, comparacin estadstica del patrn de huella capturada con el o los patrones de huella almacenados en la base de datos del sistema (DB); y, Quality Checker, valoracin de la calidad de la huella dactilar capturada en el lector de huella.

Normalmente, los algoritmos de reconocimiento de huella basan la extraccin de caractersticas de la huella segn la posicin y orientacin relativa de unos puntos especiales de sta llamados Minutiae o Minucias, tales como, terminacin y bifurcaciones de lneas de cresta (ver Fig. 2.2[a]), y Puntos Singulares con forma de delta y de bucle (ver Fig. 2.2[b]); los cuales forman una Constelacin de puntos cuyas

10

Estudios Preliminares

coordenadas (posicin y orientacin) se almacenan en el patrn de huella (ver Fig. 2.3). Para mejorar los resultados de estos algoritmos basados en minucias (minutiae-based approach), y superar las dificultades que supone slo emplear la informacin local de la huella proporcionada por dichos puntos, en el patrn de huella se incorporan tambin caractersticas globales de la huella como la forma exterior de la huella, orientacin de las lneas y frecuencia de aparicin de determinados puntos caractersticos; y se implementan tcnicas de correlacin de estas caractersticas (correlation-based approach).

Figura 2.2[a]: Ejemplos de Minucias (Minutiae): Punto de Terminacin (izqda.), y, Punto de Bifurcacin (drcha.), de lneas de cresta.

Figura 2.2[b]: Ejemplos de Puntos Singulares de la huella: a) Bucle a izquierdas; b) Bucle a derechas; c) ncleo de la huella o espiral; d) arco; e) arco en tienda de campaa; los cuadrados denotan tipos de puntos singulares de Bucle, y los tringulos los de tipo Delta.

Estudios Preliminares

11

Figura 2.3: Ejemplo de Imagen de Huella Dactilar en la que se indican lasMinucias, y que forman la Constelacin del patrn de huella extrado de la imagen de huella capturada (izqda.). Comparacin de Constelaciones entre dos imgenes de huella dactilar (drcha.).

Debido a que el proceso de comparacin de patrones de huellas, en el bloque del sistema denominado Matcher, supone que nunca va a haber una coincidencia exacta entre patrones de huella como es natural, los algoritmos de comparacin de las huellas implementados en el Matcher son de carcter estadstico para lo que se define un parmetro de puntuacin de la coincidencia, o Matching Score (parmetro probabilstico en el rango [0..1]); entonces, si ste supera cierto umbral definido el sistema tomar la decisin de aceptar la coincidencia entre patrones de huella resultando en una autenticacin positiva del individuo. Precisamente, por tratarse de un proceso de comparacin estocstico, como no puede ser de otra manera, nunca habr certeza en la coincidencia de huellas, es decir, Matching Score igual a 1. Esto significa, entonces, que el sistema cometer errores de autenticacin. En consecuencia, se definen unos parmetros, tambin de carcter probabilstico, para especificar estos errores y por ello, tambin, la bondad del reconocimiento de huella ejecutado por un sistema en concreto. Los ms utilizados principalmente en sistemas comerciales son: FAR (False Acceptance Rate), Tasa de Falsas Aceptaciones correspondiente a la probabilidad de autenticar o reconocer positivamente la huella de un usuario que realmente no existe en la base de datos del sistema; y, FRR (False Rejection Rate), Tasa de Falsos Rechazos correspondiente a la situacin inversa, en que no se autentica positivamente a un usuario cuyas huellas s estn registradas en el sistema. A la vista de estas definiciones se puede comprender que el Nivel de Seguridad de un sistema de autenticacin positiva (aceptacin de un usuario que existe en la base de datos y rechazo del que no existe) vendr determinado por el FAR. Entonces lo que interesa en principio es disminuir el FAR (aumentar el nivel seguridad) lo ms posible; sin embargo, hay que tener en cuenta que, en consecuencia, se elevar el FRR al estar

12

Estudios Preliminares

inversamente relacionados, con lo que, si se aumenta demasiado el FAR, un elevado FRR dificultar el uso del sistema al rechazar en exceso a usuarios autorizados.

2.1.2

Reconocimiento de Voz [1] [2] [4].

El Reconocimiento de Voz (Speech Recognition) consiste esencialmente en el proceso de interpretacin de una palabra(s) pronunciada por una persona, perteneciente a un conjunto determinado de palabras, despus de capturar la seal acstica que corresponde a la pronunciacin de esta(s) palabra(s) a travs de un micrfono. Las palabras interpretadas o reconocidas son los resultados finales del proceso de reconocimiento de voz, que pueden servir para iniciar diversas acciones en un sistema, a partir de la palabra reconocida como comando de voz; y, tambin, para introducir datos e informacin que corresponda justamente a la palabra reconocida, por ejemplo, la introduccin de nmeros en un sistema empleando las palabras del 0 al 9. Los sistemas de reconocimiento de voz pueden ser caracterizados por muchos parmetros, algunos de los ms importantes son: Modo del Habla: desde Palabras Aisladas (Isolated-Words) al Habla Continua (Continuous Speech). Clasificacin del sistema en funcin del tipo de Locutor: Dependiente de Locutor (Speaker-Dependent): los usuarios del sistema o locutores necesitan registrar su voz en el sistema para que las palabras que pronuncie sean reconocidas. Independiente de Locutor (Speaker-Independent): los usuarios del sistema o locutores puede ser cualquier persona que

Tamao del Vocabulario o Conjunto de Palabras Reconocidas: desde pequeos vocabularios (20.000 palabras). Modelo Acstico o de Lenguaje: desde modelos provenientes del campo de reconocimiento geomtrico de formas como por ejemplo, Redes Neuronales o Clasificadores basados en Mixturas de Gaussianas; a modelos basados en el reconocimiento de formas sintctico como, Modelos de Estados Finitos (FSM) o Gramticas Sensibles al Contexto. Un modelo que no pertenece exclusivamente a ninguna de las disciplinas anteriores pero muy utilizado en sistemas de reconocimiento de voz son los Modelos Ocultos de Markov (HMM). Estos modelos suelen ser de carcter estadstico y se pueden aplicar de forma general a diversas tareas de reconocimiento de formas, pero aplicados al reconocimiento de voz es donde la mayora de ellos ha dado los mejores resultados hasta ahora.

Estudios Preliminares

13

Relacin Seal-Ruido (SNR): Alto (>30 dB) o Bajo (Tap] y SP [Cerrada]

1

[Alarma Apagada] Activacin Rel Abre-Puerta SP [Abierta] Temporizacin (t) Rel Abre-Puerta Mens. Info:Puerta Abierta. Por favor, cierre despus de entrar (No Emitido durante Salida Usuario, BS)

[t Tsen] y SP [Abierta] SP [Cerrada] SP [Cerrada] SP [Abierta]

1

[t >Tsen] y SP [Abierta] Temporizacin (t) Alarma Puerta Abierta

Alarma

Mens. Info: Sensor de Puerta SP Tiempo Apertura Tap: Tap = 5s, por defecto; Si Tap = 0s Puerta Bloqueada.Puerta Abierta. Cierre la Puerta

Tiempo Sensor Tsen: Tsen = 10s, por defecto; Si Tsen = 0s Alarma Puerta Abierta Apagada.

1Pulsacin Botn Salida(BS) Salida del Usuario

Figura 4.5: Secuencia de acciones de apertura y control de la puerta de acceso.

Funcionamiento y Desarrollo Software

65

Acciones de Control sobre la Puerta de Acceso. En la figura 4.5 podemos ver detalladamente la secuencia de control de puerta, iniciada despus de comprobar que el usuario est autorizado para el acceso, y en consecuencia, activar el rel abre-puerta, para que el usuario pueda abrir la puerta, durante un tiempo determinado al que denominamos Tiempo de Apertura (Tap). El sistema detectar si la puerta est abierta o cerrada por medio del Sensor de Puerta (SP). ste permite al dispositivo decidir si hace sonar el sonido de alarma y el mensaje informativo de Puerta Abierta, en caso de agotarse el tiempo mximo de puerta abierta, o Tiempo Sensor (Tsen), despus de que el usuario haya abierto la puerta para entrar en el inmueble. La alarma y el mensaje de puerta abierta se repetir peridicamente, como medida de seguridad, hasta que el sensor de puerta detecte que la puerta se ha cerrado. El administrador del sistema podr ajustar la temporizacin de apertura (Tap) y de la alarma (Tsen) seleccionando la opcin Tiempos del men de configuracin, como se explicar en el siguiente punto (fig. 4.9). Por defecto, el sistema asigna un tiempo de apertura de 5s, y 10s para el tiempo mximo del sensor en estado de puerta abierta. Si el administrador ha configurado el tiempo Tsen=0s, la alarma de puerta abierta permanecer apagada. Del mismo modo, si Tap=0s, la puerta de acceso quedar bloqueada denegando el acceso a cualquier usuario. Para abrir la puerta desde el interior del inmueble el usuario dispone del Botn de Salida. El sistema detectar su pulsacin, desde el estado de reposo, y se iniciar la misma secuencia de apertura y control de puerta que en el acceso, a excepcin del mensaje emitido al abrir la puerta, como se puede ver en la siguiente figura. Hay dos situaciones, no detalladas en los diagramas de funcionamiento, en las que se disparar la alarma de puerta abierta inmediatamente: (i) si el sistema se inicia con la puerta abierta; (ii) si, en algn momento durante su funcionamiento normal, se detecta que se ha abierto la puerta de forma forzada.

66

Funcionamiento y Desarrollo Software

4.1.2. Configuracin del Controlador de Acceso.A continuacin se expone el men de configuracin con todas las opciones disponibles y sus funciones, as como, se describe la forma de navegar por ste y por el interior de las diferentes opciones, despus de haber sido seleccionadas en el men principal. Del misma manera que en el punto anterior, de funcionamiento normal del controlador de acceso, podremos ver el procedimiento de uso y funcionamiento del modo configuracin en los sucesivos diagramas. Respecto a los diagramas de las figuras 4.3 a 4.12, hay que comentar que conservan una relacin de continuidad entre ellos, indicada por los puntos de conexin que all aparecen, facilitando as la visin general del funcionamiento del dispositivo.

Men Principal de Configuracin (Fig. 4.6). El acceso al men de configuracin se realiza, por los mismos procedimientos de autenticacin que para el acceso normal al inmueble, expuestos anteriormente (fig. 4.3, 4.4), pero slo ser accesible para el administrador del sistema. Por tanto, como se puede observar en las figuras mencionadas, el administrador o mster utilizar su dedo mster, cuyas huellas se han registrado previamente como tal (en Opcin Men: Mster), para autenticarse, mediante el modo de identificacin o de verificacin, y as entrar en modo configuracin. Recordar que, para el modo de verificacin, adems de introducir su huella el administrador deber decir la palabra clave Mster para pre-identificarse por voz, como se muestra en los diagramas de flujo de los modos de autenticacin. El diagrama de la figura 4.6 muestra cmo seleccionar las opciones de configuracin del sistema, correspondientes a los comandos de voz aceptados en el vocabulario de la interfaz de voz (VUI), y que conforman el men de configuracin. Seguidamente, listamos todas las opciones disponibles en el men de configuracin y la descripcin de sus funciones respectivas: Opcin [Aadir]: registro de las huellas de un Nuevo Usuario para que, en adelante, pueda acceder al inmueble despus de autenticarse como usuario autorizado. Opcin [Borrar]: permite borrar usuarios, de uno en uno indicando su PIN, o bien, borrar toda la base de datos de patrones de huella de usuarios. Opcin [Tiempos]: permite modificar los tiempos de Apertura (Tap) y Sensor (Tsen), correspondientes, respectivamente, al tiempo de activacin del rel abre-puerta; y, al tiempo mximo antes de emitir la alarma y el aviso de puerta abierta despus de entrar al inmueble.

Funcionamiento y Desarrollo Software

67

Config

[Modo Operacin: Red (Network)]

1Mens. Info:Operacin Prohibida

4

[Modo Operacin: Autnomo (Stand-Alone)] Mens. Info.:Nmero de Usuarios: < # # # >

5

5Mens. Info.:

[No Reconocido]Tono

5Mens. Error:No lo he entendido, repita por favor Eleve su voz, repita por favor

Diga un Opcin de Configuracin

[Ayuda] Mens. Info.:OPCIONES DE CONFIGURACIN: Aadir, Borrar, Tiempos, Voz, Segundo Dedo, Identificar Usuario, Mster y Salir

Entrada Comando de Voz*

Anlisis (Tiempo Espera = 3s) Comando de Voz*Vocabulario: *Vocabulario:

[Salir/Adis]

Aadir Aadir Borrar Borrar Tiempos Tiempos Voz Voz Segundo Dedo Segundo Dedo Identificar Usuario Identificar Usuario Mster Mster Salir/Adis Salir/Adis Ayuda Ayuda

SALIR

AADIR

BORRAR

TIEMPOS

VOZ

2ODEDO

IDENTIFICAR

MASTER

Men Principal de ConfiguracinSALIR

[Cancelar] Mens. Info.:

5Operacin Cancelada

Mens. Info.:

Entrada Comando de Voz*

FINALIZACIN (Tiempo Espera = 1s) Comando DEL MODO CONFIGURACIN

Anlisis [No Reconocido] de VozTono

1

5

[Mx. Nm. Intentos = 4]

Mens. Info.:

1

*Vocabulario: *Vocabulario:

Nmero de Intentos Superado. FINALIZACIN DEL MODO CONFIGURACIN

Cancelar Cancelar

Lmitacin de Intentos: Seleccin Opcin del Men

Cancelacin de la Operacin

Figura 4.6: Procedimiento de seleccin de las opciones del Men deConfiguracin empleando la Interfaz de Voz (VUI).

68

Funcionamiento y Desarrollo Software

Opcin [Voz]: cambio del modo de autenticacin de usuario, entre el Modo de Identificacin (Pre-identificacin por Voz: Desactivada) y, el Modo de Verificacin (Pre-identificacin por Voz: Activada). Opcin [Segundo Dedo]: afecta a la opcin de aadir usuarios. Si esta opcin est activada, permitir el registro de la huella de un dedo auxiliar del usuario, una vez terminado el registro de las huellas del dedo que el usuario vaya a emplear habitualmente. Opcin [Identificar Usuario]: permite identificar a un usuario registrado facilitando su PIN, y as poder recuperarlo en caso de prdida u olvido. Opcin [Mster]: mediante un procedimiento similar al de aadir usuarios, esta opcin permite sustituir al administrador o mster actual por otro. Tambin, en caso de no existir administrador, se utilizar esta opcin para registrar al nuevo mster del sistema. Opcin [Salir/Adis]: finaliza o sale del men de configuracin, volviendo al funcionamiento normal. El sistema, despus de emitir un mensaje seguido por un tono, indica que est listo para su operacin normal. Opcin [Ayuda]: enuncia las opciones de configuracin disponibles para recordrselas al administrador en caso de duda.

Opcin de Configuracin: AADIR (Fig. 4.7). Despus de seleccionar por voz la opcin Aadir empieza el procedimiento del registro de las huellas del nuevo usuario, que estar guiado, en cada momento, por los mensajes incorporados en la VUI. El nuevo usuario se aadir como usuario autorizado registrando, por defecto, 2 huellas del dedo que vaya a emplear habitualmente. Si la opcin Segundo Dedo est activada significa que, despus de registrar el primer dedo, el sistema pedir al usuario que introduzca 2 huellas ms de un dedo auxiliar. En este caso, slo se almacenar un patrn de huella que corresponder a la huella capturada de mayor calidad. Por tanto, el nuevo usuario se registrar con 2 3 patrones de huella. Obligatoriamente, con 2 patrones de huella del primer dedo, y de manera opcional, con 1 patrn de huella extra correspondiente al segundo dedo. Al terminar con xito la introduccin y almacenamiento de los patrones de huella del nuevo usuario, el sistema asignar el nmero de identificacin personal (PIN) de forma automtica. El PIN se utilizar para acceder al inmueble slo en modo verificacin, as como, para borrar al usuario de la memoria del dispositivo. Debido a que, en general, el sistema puede interpretar errneamente los comandos de voz, correspondientes a las diferentes opciones del men de configuracin, y, por

Funcionamiento y Desarrollo Software

69

tanto, seleccionar una opcin no deseada; siempre existir la posibilidad de cancelar la operacin, iniciada por error, empleando el comando Cancelar. En este caso, el comando de cancelacin de la operacin se podr decir justo despus de escuchar el mensaje de la opcin seleccionada: Aadir Nuevo Usuario; como se muestra en el siguiente diagrama de funcionamiento.

AADIR

[Cancelar] Mens. Info.:Aadir Nuevo Usuario

5Mens. Info.:Operacin Cancelada

[No Reconocido]

A1

Entrada Comando de Voz*(Tiempo Espera = 1s)

*Vocabulario: *Vocabulario:

Anlisis Comando de Voz

Cancelar Cancelar

Cancelacin de la Operacin

Bucle de Entrada (2 veces) 2 Huellas Nuevo Usuario Mens. Error: Mens. Info.:Memoria Llena

5

A1

Tono

El nuevo usuario debe desplazar su dedo sobre el lector de huella Desplace, otra vez, su dedo sobre el lector de huella

Mens. Error:La operacin ha fallado, intntelo de nuevo

Mens. Error:Tono Tiempo de espera agotado, intntelo de nuevo

Entrada/Escaneo Huella Dactilar(Tiempo Espera = 10s)

Registro Patrn Huella Dactilar

[i] Mens. Info.:AADIR SEGUNDO DEDO

A1

Patrones de Huella (guardados) por Usuario: 1er Dedo (obligatorio): 2 Pat. Huella; 2 Dedo (opcional): + 1 Pat. Huella. [i] Si Opcin: [Segundo Dedo] Activada. [ii] Informa del PIN (Asignacin Automtica), y Fin de la Operacin Aadir Usuario.

[ii] Mens. Info.:USUARIO AADIDO con el Nmero de Identificacin:

4

Figura 4.7: Opcin Men Configuracin: [Aadir]. Procedimiento de uso.

70

Funcionamiento y Desarrollo Software[Mx. Nm. Intentos = 3] BORRAR

B1Mens. Info.:Diga el identificador del usuario. Borrar Todo, para borrar a todos los usuarios

5Mens. Info.:Nmero de Intentos Superado, intntelo otra vez BORRAR

Bucle de Entrada (4 veces) PIN

[No Recdo.] Mens. Error:

B1

Tono

No lo he entendido, repita por favor Eleve su voz, repita por favor

B2[i]

[Cancelar] Mens. Info.:

Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario:

Desea Cancelar la Operacin?

Anlisis Comando de Voz

[] Mens. Info.:

[ii]

0, 1, ,9 0, 1, ,9 Borrar Todo Borrar Todo Cancelar Cancelar

Ej. PIN Usuario (4 Cifras): 0-1-7-9

Realmente desea Borrar al Usuario: ?

[Borrar Todo] Mens. Info.:

[iii]

Sub-Men Borrar Usuarios

Realmente desea Borrar a Todos los Usuarios?

B2

[No Recdo.]Tono

BORRAR

Mens. Error:No lo he entendido, repita por favor Eleve su voz, repita por favor

Mens. Info.:Repita por favor

Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario:

[No] para ([i]-[ii]-[iii]) [ii]-[iii] [Cancelar] [S] [ii]-[iii] [i] Mens. Info.:Operacin Cancelada

Anlisis Comando de Voz

[i]

S, No S, No Cancelar Cancelar

5

Confirmacin de la Operacin

Mens. Error:[ii] Usuario No Encontrado [ii] Operacin Prohibida (Si []=[] = [9999]) [iii] La Operacin ha fallado, intntelo de nuevo

Eliminar Huellas Usuario/s

4Mens. Info.:[ii] USUARIO BORRADO [iii] Todos los Usuarios Borrados. MEMORIA VACA

Figura 4.8: Opcin Men Configuracin: [Borrar]. Procedimiento de uso.

Funcionamiento y Desarrollo Software

71

Opcin de Configuracin: BORRAR (Fig. 4.8). Para eliminar o borrar a un usuario y todas sus huellas de la memoria, el administrador deber introducir su PIN, empleando la VUI, de la forma indicada en el diagrama de abajo. Asimismo, en caso de querer borrar a todos los usuarios, en el vocabulario activo de esta opcin se dispone del comando de voz Borrar Todo. Esta operacin y debido a la posible interpretacin errnea del PIN del usuario a borrar, o de cualquier otro comando disponible, siempre deber ser confirmada tal y como se indica en el bloque de la VUI de Confirmacin de la Operacin. Vemos tambin, que el sistema ofrece al mster la posibilidad de cancelar la operacin en diferentes momentos de la misma, usando el comando Cancelar. Para evitar borrar al mster, ante la posible introduccin de su PIN = [9999] de forma accidental, el sistema no permitir esta operacin. Aunque s podr ser borrado, si ejecutamos la operacin de Borrar Todo, usualmente, con el propsito de reiniciar el sistema. En la opcin Mster se podr restaurar al administrador o mster del sistema en esta situacin.

Opcin de Configuracin: TIEMPOS (Fig. 4.9). Primero se seleccionar la opcin, incluida en el vocabulario activo, del tiempo que se quiera modificar: Apertura (Tap) o Sensor (Tsen) (ver fig. 4.9[a]). Al igual que en el resto de opciones del men de configuracin, se incluye el comando de Cancelar en este vocabulario por si esta opcin se ha seleccionado por un error de interpretacin del sistema. Seguidamente se confirmar la opcin seleccionada y en caso afirmativo, para la modificacin de los tiempos de apertura o sensor, el sistema pasar a preguntar el valor del nuevo tiempo, habiendo indicado antes su valor actual (ver fig. 4.9[b]). La introduccin del valor del tiempo de apertura o sensor se realiza de forma parecida a la introduccin del PIN del usuario. Aunque en este caso, si el valor que se quiere modificar es de una cifra, como en el ejemplo mostrado en la figura 4.9[b], no ser necesario introducir el 0 como primera cifra, bastar slo con decir la cifra del valor del tiempo, para mayor comodidad del administrador. A continuacin, el sistema pedir de nuevo la confirmacin del valor introducido, ofreciendo, tambin, la opcin de cancelar la operacin. Aprovechamos la descripcin de esta opcin, que, por otra parte, es la ms compleja de todas, para resaltar que el Nmero de Intentos, en la seleccin de las opciones e introduccin de datos o huellas, est limitado. Caracterstica presente en todos los procedimientos de uso, y necesaria para la situacin en que el administrador deje de interaccionar con el sistema; el cual, despus de superar el nmero de intentos establecido, abandonar la opcin de configuracin en la que se encuentre, y tambin, en ltima instancia, el modo configuracin volviendo al estado de espera de su funcionamiento normal.

72

Funcionamiento y Desarrollo Software

Adems, para evitar la desorientacin del administrador durante la navegacin por el interior de las opciones de configuracin, se observa que, despus de un error en la interpretacin de un comando de voz o de captura de la huella dactilar, el sistema siempre volver al inicio de la opcin, nunca a un punto intermedio de la operacin.

TIEMPOS [Mx. Nm. Intentos = 3]

5Mens. Info.:Nmero de Intentos Superado, intntelo otra vez

[No Recdo.]TIEMPOS Tono

Mens. Info.:Diga Apertura o Sensor, para cambiar sus Tiempos

Mens. Error:No lo he entendido, repita por favor Eleve su voz, repita por favor

[Cancelar] Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario:

T1

Mens. Info.:Desea Cancelar la Operacin?

Anlisis Comando de Voz

[Apertura] [Sensor] Mens. Info.:

T2

Apertura Apertura Sensor Sensor Cancelar Cancelar

[Apertura] Tiempo Actual de Apertura: Segundos [Sensor] Tiempo Mx. Actual de Puerta Abierta: Segundos

Sub-Men Seleccin Tiempo de Control PuertaTIEMPOS

[No Recdo.]

T1

Tono

Mens. Error:No lo he entendido, repita por favor Eleve su voz, repita por favor Mens. Info.: Repita por favor

Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario:

[No]

Anlisis Comando de Voz

[Cancelar] [S] Mens. Info.:Operacin Cancelada

5

S, No S, No Cancelar Cancelar

Confirmacin de Cancelar la Operacin

Figura 4.9: [a] Opcin Men Configuracin: [Tiempos]. Procedimiento de seleccin de la opcin del tiempo a modificar del sub-men: [Apertura]/[Sensor].

Funcionamiento y Desarrollo Software

73

T2Mens. Info.:

T3[Apertura] Diga el Nuevo Tiempo de Apertura del Rel Abre-puertas [Sensor] Diga el Nuevo Tiempo Mximo de Puerta Abierta

Bucle de Entrada (2 veces) Tap/Tsen

[No Recdo.]TIEMPOS

Mens. Error:

T3

Tono

No lo he entendido, repita por favor Eleve su voz, repita por favor

T4[i]

[Cancelar] Mens. Info.:

Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario: 0, 1, ,9 0, 1, ,9 Cancelar Cancelar

Desea Cancelar la Operacin?

Anlisis Comando de Voz

[] Mens. Info.:

[ii]

Ej. Tap/Tsen (2 Cifras): (0-5) o (5)

Realmente desea Cambiar el Tiempo a: Segundos?

Sub-Men Cambiar Tiempos de Apertura / SensorTIEMPOS

[No Recdo.]

T4

Tono

Mens. Error:No lo he entendido, repita por favor Eleve su voz, repita por favor

Mens. Info.:Repita por favor

Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario:

[No] para ([i]-[ii]) [ii] [Cancelar] [S] [ii] [i] Mens. Info.:Operacin Cancelada

Anlisis Comando de Voz

[i]

S, No S, No Cancelar Cancelar

5

Confirmacin de la Operacin Tiempo Apertura Tap: Tap = 5s, por defecto; Si Tap = 0s Puerta Bloqueada. Tiempo Sensor Tsen: Tsen = 10s, por defecto; Si Tsen = 0s Alarma Puerta Abierta Apagada.

Mens. Info.: Actualizar Tiempo Apertura/SensorTIEMPO ACTUALIZADO

Figura 4.9: [b] Opcin Men Configuracin: [Tiempos] (Continuacin).Procedimiento de modificacin del tiempo de Apertura/Sensor seleccionado previamente.

74

Funcionamiento y Desarrollo Software

Opciones de Configuracin: VOZ y 2 DEDO (Fig. 4.10).[Mx. Nm. Intentos = 3] VOZ/2DEDO

5Mens. Info.:

Nmero de Intentos Superado, intntelo otra vez [Voz] Pre-identificacin de Usuario por Voz Activada/Desactivada. Desea Activarla/Desactivarla? [Segundo Dedo] Opcin Aadir Dedo Auxiliar Activada/Desactivada. Desea Activarla/Desactivarla?

Mens. Info.:

V1

[No Recdo.]

VOZ/2DEDO

V1

Tono

Mens. Error:No lo he entendido, repita por favor Eleve su voz, repita por favor Mens. Info.: Operacin Cancelada

Entrada Comando de Voz*(Tiempo Espera = 3s)*Vocabulario: *Vocabulario:

[No] [Cancelar] [S]

5

Anlisis Comando de Voz

S, No S, No Cancelar Cancelar

V2

Sub-Men Activar/Desactivar Opcs. [Voz]/[Segundo Dedo]

V2Mens. Info.: Actualizar Estado [Voz]/[Segundo Dedo]

5[Voz] Pre-identificacin de Usuario por Voz: DESACTIVADA/ACTIVADA [Segundo Dedo] Opcin Aadir Dedo Auxiliar: DESACTIVADA/ACTIVADA

Opcin [Voz]: DESACTIVADA (por defecto) Modo de Autenticacin: IDENTIFICACIN. ACTIVADA Modo de Autenticacin:VERIFICACIN. Opcin [Segundo Dedo]: DESACTIVADA (por defecto) En Op. [Aadir]: Registro de las Huellas de slo un Dedo del Usuario. ACTIVADA En Op. [Aadir]: Registro de las Huellas de un 2 Dedo (Dedo Auxiliar) del Usuario.

Figura 4.10: Opciones Men Configuracin: [Voz] y [Segundo Dedo].Procedimiento de Activacin/Desactivacin de: [Voz], Pre-identificacin de Usuario por Voz; y, [Segundo Dedo], Opcin de Aadir al usuario con Dedo Auxiliar.

En el diagrama de la figura de arriba se puede ver el procedimiento de activacin o desactivacin de las opciones Voz y Segundo Dedo es el mismo para ambas opciones.

Funcionamiento y Desarrollo Software

75

Tal y como se muestra en la leyenda del diagrama, la opcin Voz permite elegir el modo de autenticacin empleado en el funcionamiento normal del controlador de acceso. De igual manera, la funcin de la opcin Segundo Dedo sirve para que el administrador pueda elegir si registra o aade a los usuarios autorizados con la huella de un dedo auxiliar, o slo con las huellas de un dedo; como se explic en la opcin Aadir.

Opcin de Configuracin: IDENTIFICAR USUARIO (Fig. 4.11).

IDENTIFICAR

[Cancelar] Mens. Info.:Identificar Usuario

5Mens. Info.:Operacin Cancelada

[No Reconocido] Entrada Comando de Voz*(Tiempo Espera = 1s)

I1

*Vocabulario: *Vocabulario:

Anlisis Comando de Voz

Cancelar Cancelar

Cancelacin de la Operacin

I1Mens. Info.:

Tono

Mens. Error:Huella insuficiente, intntelo de nuevo

Desplace su dedo sobre el lector de huella

Mens. Error:Tiempo de espera agotado, intntelo de nuevo Tono

Entrada/Escaneo Huella Dactilar(Tiempo Espera = 10s)

Registro Patrn Huella Dactilar

Mens. Info.:El Usuario No Existe

5Mens. Info.:Usuario Nmero:

Figura 4.11: Opcin Men Configuracin: [Identificar Usuario]. Procedimientode uso.

Esta opcin del men de configuracin se utilizar, principalmente, para recuperar el PIN de un usuario autorizado identificndolo mediante su huella dactilar. Tambin

76

Funcionamiento y Desarrollo Software

podr servir, por ejemplo, para comprobar que el usuario ha sido registrado de forma satisfactoria, en la opcin Aadir, sin necesidad de salir del modo configuracin.

Opcin de Configuracin: MASTER (Fig. 4.12).En caso de querer sustituir al administrador o mster del sistema se emplear esta opcin mediante el procedimiento expuesto en la figura 4.12. Como el sistema funciona, en principio, con un solo administrador, a la hora de ser sustituido deber ser el mster actual el que acceda al men de configuracin para poder registrar al nuevo mster, a modo de relevo. Para mayor seguridad el mster obligatoriamente ser registrado con 3 patrones de huellas en la memoria del controlador de acceso, de las cuales, dos corresponden al dedo principal o habitual, y otra a un segundo dedo o dedo auxiliar. El PIN asignado por defecto al mster siempre es el [9999], por lo que este PIN nunca podr ser asignado a un usuario normal. Del mismo modo, se podr aprovechar para registrar a 2 administradores en el sistema, el Mster Principal introducir sus huellas cuando el sistema pida el primer dedo, y en el momento de registrar la huella de un segundo dedo ser la del dedo del Mster Secundario. Durante el acceso del mster al men de configuracin mediante el modo verificacin, ambos emplearn la palabra Mster para pre-identificarse. El sistema no puede funcionar sin el administrador, por ello, en el caso de haber borrado completamente la memoria del dispositivo, como tambin se habr borrado al mster, siempre se pedir el registro del mster volviendo a la opcin Mster, en lugar de volver al funcionamiento normal, lo que no suceder hasta que se haya restaurado el mster del sistema.

Inicio por Primera Vez del Controlador de Acceso.Al arrancar el dispositivo controlador de acceso por primera vez, ste tendr la memoria de usuarios vaca y tampoco tendr administrador como es lgico. Por tanto, una de las primeras cosas que hace es comprobar que el mster existe, en caso contrario, no iniciar su funcionamiento normal hasta que se haya registrado el Mster Inicial. En concreto, el sistema ir directamente a la opcin Mster para realizar la operacin de aadir al mster inicial del sistema (ver fig. 4.12). Si la operacin falla o no se completa con xito, el sistema volver al estado de espera de entrada de huella dactilar, y solamente cuando se desplace un dedo sobre el lector de huella volver a demandar que se aada el mster inicial. Una vez se complete la operacin y el sistema disponga de un administrador o mster, ste emitir un aviso de que el sistema se ha iniciado correctamente y volver al estado de espera, ahora, para su funcionamiento normal.

Funcionamiento y Desarrollo Software

77

[Mster Inicial o No Existe Mster] Mens. Info.:MASTER

M1No Existe Mster del Sistema. Aadir Mster Inicial del Sistema

[Sustituir Mster] [Cancelar] Mens. Info.:Sustituir Mster del Sistema

5Mens. Info.:Operacin Cancelada

[No Reconocido] Entrada Comando de Voz*(Tiempo Espera = 1s)

M1

*Vocabulario: *Vocabulario:

Anlisis Comando de Voz

Cancelar Cancelar

Cancelacin de la Operacin

Bucle de Entrada (2 veces) 2 Huellas Nuevo Mster Mens. Info.:

M2Mens. Error:La operacin ha fallado, intntelo de nuevo

M1

Desplace su dedo sobre el lector de huella Desplace, otra vez, su dedo sobre el lector de huella Tono

Mens. Error:Tiempo de espera agotado, intntelo de nuevo Tono

Entrada/Escaneo Huella Dactilar(Tiempo Espera = 10s)

Registro Patrn Huella Dactilar

[i] Mens. Info.:AADIR SEGUNDO DEDO

M1

[i] Patrones de Huella Mster: 1er Dedo (obligatorio): 2 Pat. Huella; 2 Dedo (obligatorio): + 1 Pat. Huella [ii] Fin de la Operacin Sustituir/Aadir Mster.

[ii] Mens. Info.:NUEVO MASTER AADIDO

M3

M2

[Sust. Mster] [Mster Inicial]

5 1

M3

[Sust. Mster]

4 1Mens. Info.:SISTEMA INICIADO CORRECTAMENTE

[Mster Inicial]

Figura 4.12: Opcin Men Configuracin: [Mster]. Procedimiento de uso.

78

Funcionamiento y Desarrollo Software

4.2. Programa del Controlador de Acceso Biomtrico (Firmware).4.2.1. Estructura y Archivos del Firmware.Antes de describir, en el siguiente punto, el programa principal del dispositivo, que es donde realmente se determina su funcionamiento, veremos aqu la estructura de todo el firmware, del que forma parte el programa principal, junto al resto de archivos necesarios que completan el desarrollo del firmware o programa del controlador de acceso biomtrico (tCAB). A continuacin se expone la estructura del firmware de nuestro dispositivo tCAB, en base a los archivos del cdigo fuente que componen el proyecto en el entorno de desarrollo software (Project-SE IDE de Phyton), el cual incluye el Compilador C y Ensamblador para el mC/Procesador de Voz del dispositivo.

Firmware tCAB: Config_VoFP.mca : Cdigo fuente en ensamblador para la configuracin e inicializacin de los recursos del mC/Procesador de Voz. Definicin de constantes como la velocidad de transmisin de la UART software, y relacionadas con la tecnologa de reconocimiento de voz; definicin e inicializacin de puertos E/S, definicin de rutinas de interrupcin (ISR) para eventos externos, Timer2, Timer3 y Watchdog Reset. VoFingerPrint.c : Archivo del Cdigo Fuente en C del Programa Principal. Incluido en ste la Cabecera o Header del Programa, en el que, a su vez, se incluyen todos los headers necesarios: Header_VoFP.h : Adems, se definen aqu los smbolos, empleados por las funciones de reconocimiento de voz, del modelo acstico de cada vocabulario. Si definimos el smbolo LANGUAGE_VoFP_ES o LANGUAGE_VoFP_EN, al principio de este header, significa que incluimos los headers y definimos los modelos acsticos para el idioma Espaol o Ingls (English), respectivamente. De este modo, para los dos idiomas, el cdigo fuente VoFingerPrint.c es el mismo a excepcin del smbolo anterior. sfr.h : Definicin de los smbolos correspondientes a las direcciones para los registros SFR (Special Function Registers), reservados en la RAM interna del mC. techlib.h : Prototipos de la funciones C de las libreras de la tecnologa del Procesador de Voz. techdefs.h : Definicin de constantes para los parmetros y valores de retorno de las funciones de reconocimiento de voz y reproduccin de mensajes.

Funcionamiento y Desarrollo Software

79

UF_Define.h : Definicin de comandos y parmetros del Protocolo de Paquetes para la comunicacin con el mdulo de autenticacin biomtrica. MESSAGES_ES.h/ /MESSAGES_EN.h : Tabla de mensajes y sonidos de la VUI (ES: Espaol; EN: English). Se aadir al proyecto, el correspondiente al idioma que se vaya a emplear para la VUI del dispositivo, igualmente se har con los headers de los vocabularios utilizados. comm_rscApp_access_es.h/ /comm_rscApp_access_en.h : Vocabulario empleado para el acceso de usuario y mster (modo verificacin), submen de configuracin Borrar, e introduccin del valor de los parmetros temporales en la opcin de Tiempos. comm_rscApp_confirm_es.h/ /comm_rscApp_confirm_en.h : Vocabulario de Confirmacin de acciones, durante la navegacin por el modo configuracin. comm_rscApp_menuconfig_es.h/ /comm_rscApp_menuconfig_en.h : Vocabulario del Men de Configuracin. comm_rscApp_menutime_es.h/ /comm_rscApp_menutime_en.h : Vocabulario del submen de Tiempos, para seleccionar el parmetro temporal que se quiera modificar. PSDdrivers_VoFP.c : Funciones que implementan los algoritmos de escritura y borrado de la Memoria Flash-PSD externa, se emplean slo para guardar ciertos variables o parmetros del sistema en la seccin de memoria de datos de la Flash. En los siguientes headers se incluyen definiciones de registros y bits internos de la memoria particular empleada. psd854f2.h map854f2.hLibreras y Archivos de Cdigo Objeto: Archivos de los Vocabularios y Tabla de Mensajes, previamente compilados. Extensin: *.MCO. Archivos de las Libreras de la Tecnologa del Procesador de Voz: apilib.mcl y techlib.mcl.

Generacin de los Vocabularios de la VUI.En lo que respecta a la interfaz de voz del usuario, se desarrollaron dos versiones del firmware correspondientes a dos idiomas, Espaol Castellano e Ingls. En el esquema de la estructura del firmware anterior, se mostraron los archivos del cdigo fuente diferentes para cada idioma, aunque el cdigo del programa principal (VoFingerPrint.c) ser el mismo para ambos.

80

Funcionamiento y Desarrollo Software

Los Vocabularios, o tambin llamados Gramticas (Grammars), se desarrollaron mediante la aplicacin proporcionada por el fabricante del Procesador de Voz, QuickT2SI. En sta se generan, a partir de cadenas de texto, las palabras o comandos de voz que el sistema podr reconocer o interpretar, independientemente del locutor, gracias a los modelos acsticos basados en Modelos Ocultos de Markov (HMM). Cada vocabulario desarrollado constar de un mximo de 20 palabras. Esta aplicacin produce los headers (*.h) y archivos de cdigo objeto (*.MCO) de cada vocabulario generado, para ser posteriormente compilados y linkados con el firmware del sistema. Para manejar desde el cdigo del programa principal estos vocabularios, como por ejemplo, activar el vocabulario en un momento dado, iniciar el proceso de reconocimiento de voz, o recoger el resultado del mismo, se dispone de diversas funciones C de las libreras de la tecnologa del Procesador de voz. Cabe resaltar el aspecto de que el sistema pueda reconocer las palabras independientemente del locutor o del usuario que las pronuncie (Tecnologa Speaker Independent), puesto que, sta es la caracterstica esencial e imprescindible para que la interfaz de usuario por voz pueda ser utilizada por cualquier persona, como es el objetivo de cualquier interfaz de usuario en general. En la tablas de 4.1 a 4.4, se especifican los Vocabularios, en ambos idiomas, desarrollados para la VUI del controlador de acceso. Cada palabra de un vocabulario determinado viene identificada por un ndice, que en el lenguaje de reconocimiento de voz se suele denominar Clase (Class), para recoger el resultado de interpretacin en el programa. Las palabras de los vocabularios se eligieron teniendo en cuenta que deban tener un significado suficientemente intuitivo para el usuario, adems de, procurar que en su pronunciacin se diferenciasen lo ms posible para facilitar al sistema la interpretacin o reconocimiento de las mismas con un grado de confianza elevado. Como se podr observar, los vocabularios generados no se corresponden exactamente con los que se mostraron en los diagramas de funcionamiento. Esto es debido a razones de optimizacin de la memoria, para lo cual se aprovecho, por ejemplo, el vocabulario access_es/en, de la tabla 4.1, en tres situaciones de uso de la VUI diferentes, por tener en comn la entrada por voz de los nmeros del 0 al 9, y restringiendo por programa el reconocimiento de las palabras o clases no deseadas.

Generacin de los Mensajes de la VUI.Igualmente, los mensajes se realizaron, completando as la interfaz de voz, en los mismos idiomas que los vocabularios. Para construir las Tablas de Mensajes y Sonidos, una para cada idioma, que iba a formar parte de la VUI del dispositivo se utiliz la aplicacin QuickSynthesis 4. Partiendo del conjunto de archivos, en formato WAV y con frecuencia de muestreo de 22050 Hz, correspondientes a los mensajes y sonidos elegidos, la aplicacin permita

Funcionamiento y Desarrollo Software

81

sintetizarlos en un formato especial, comprimido pero con suficiente calidad de audio, para seguidamente, compilarlos en el archivo de cdigo objeto (MESSAGES_ES.MCO o MESSAGES_EN.MCO) que contendra la tabla a ser enlazada con el programa principal. Esta aplicacin tambin generaba el archivo header (MESSAGES_ES.h o MESSAGES_EN.h) en el que se definan los smbolos y constantes necesarias para manejar los mensajes y sonidos de la tabla, por las funciones C de las libreras que se utilizaran en el programa. Para crear cada uno de los mensajes de voz lo habitual hubiese sido dedicar la voz de un locutor para grabarlos, sin embargo, se emple un software para PC de Sntesis de Lenguaje Natural desde Texto (Text To Speech Synthesis, TTS). Esta herramienta permite generar mensajes de voz, en formato digital WAV y para varios idiomas, con una entonacin bastante natural, simplemente, a partir del texto de las frases que se quieran reproducir o, ms bien, sintetizar. Lo cual proporcionaba una gran flexibilidad y rapidez para realizar modificaciones de los mensajes y, de este modo, elegir las frases adecuadas de nuestra interfaz de voz. Si se desea una mayor calidad, que la ofrecida por el motor de TTS, a la hora de comercializar el dispositivo, siempre se podr recurrir a un locutor profesional para grabar los mensajes de voz, despus de tener la versin definitiva de las frases de la VUI de nuestro dispositivo. En el apndice C quedan expuestas las frases, en Castellano e Ingls, elegidas para los prototipos del dispositivo.

Vocabulario/Grammar [1] Class0 1 2 3 4 5 6 7 8 9 10 11 12 13

Access_es[No Reconocido] Cero Uno Dos Tres Cuatro Cinco Seis Siete Ocho Nueve Master Cancelar Borrar Todo

Access_en[Not a Command] Zero One Two Three Four Five Six Seven Eigth Nine Master Cancel Erase All

Tabla 4.1: Vocabulario o Gramtica [1]. Utilizado en: i) Acceso Usuario en Modo Verificacin (Clase 13[No Reconocido], por programa); ii) Opcin de Configuracin Borrar (Clase 11[No Reconocido], por prog.); iii) Opcin de Configuracin Tiempos (Clases 11,13[No Reconocido], por prog.).

82

Funcionamiento y Desarrollo Software

Vocabulario/Grammar [2] Class0 1 2 3

Confirm_es[No Reconocido] S No Cancelar

Confirm_en[Not a Command] Yes No Cancel

Tabla 4.2: Vocabulario o Gramtica [2]. Utilizado en: i) Opciones de Configuracin: Borrar, Tiempos, Voz y Segundo Dedo, para confirmar operaciones; ii) Opciones de Configuracin: Aadir, Identificar Usuario, Mster y Salir/Adis, para cancelar la operacin en caso de seleccin errnea de la opcin empleando la palabra Cancelar (Clases 1,2[No Reconocido], por prog.).

Vocabulario/Grammar [3] Class0 1 2 3 4 5 6 7 8 9 10 11

Menuconfig_es[No Reconocido] Anyadir Borrar Tiempos Voz Segundo Dedo Identificar Usuario Master Salir Ayuda Cancelar Adis

Menuconfig_en[Not a Command] Add User Erase Time Voice Second Finger Identify Master Exit Help Cancel Quit

Tabla 4.3: Vocabulario o Gramtica [3]. Utilizado exclusivamente para el Men de Configuracin. Se permiten dos comandos para finalizar la configuracin del dispositivo mediante las clases 8 y 11.

Vocabulario/Grammar [4] Class0 1 2 3

Menutime_es[No Reconocido] Apertura Sensor Cancelar

Menutime_en[Not a Command] Open Sensor Cancel

Tabla 4.4: Vocabulario o Gramtica [4]. Utilizado exclusivamente en la Opcin de Configuracin Tiempos como submen de seleccin del parmetro temporal a modificar.

Funcionamiento y Desarrollo Software

83

4.2.2. Descripcin del Programa Principal. Flujogramas.El funcionamiento del dispositivo tCAB viene determinado por el programa principal, correspondiente al archivo VoFingerPrint.c, gracias a la explotacin de los recursos del Procesador de Voz y mC, disponibles a travs de sus libreras y de los archivos desarrollados para la interfaz de voz, vocabularios y tabla de mensajes, descritos en el punto anterior. En este punto se realizar una descripcin progresiva del cdigo fuente del programa del dispositivo, en la que se presentan primero los esquemas donde se expone su estructura y elementos fundamentales, para luego continuar con la estructura del propio programa principal y, en ms detalle, especificar su ejecucin mediante diagramas de flujo. En la siguiente serie de figuras (4.13[a] - 4.13[c]) se expone dicha estructura y las diferentes partes del cdigo fuente siguiendo el orden en que fue desarrollado. ste se puede dividir en tres bloques, correspondientes cada uno de ellos a una figura, en la que se representan esquematizadamente las partes diferenciadas del cdigo as como su funcin dentro del programa:

Cabecera (Header) y Definicin de Constantes (Fig. 4.13[a]): Aqu se incluye el header del programa, Header_VoFP.h, que contiene a todos los headers necesarios, indicados en el punto anterior. Seguidamente, se realizan las definiciones de todas las constantes utilizadas en el desarrollo del resto del cdigo. Declaraciones (Fig. 4.13[b]): De los prototipos de las funciones Driver de la memoria Flash externa, definidas en el archivo PSDdrivers_VoFP.c, y utilizados por el programa principalmente para guardar los Parmetros de Configuracin del dispositivo tCAB en los sectores de la Flash Secundaria (CSBOOT), de esta forma, conservando una configuracin determinada aunque se apague el dispositivo. Tambin se declaran aqu las Variables Globales del programa, en el esquema se muestran las ms relevantes, incluyendo las variables que contienen a los parmetros de configuracin, y se da una breve descripcin de su objetivo. Definicin de las Funciones de Interrupcin (ISR) y de Programa (Fig. 4.13[c]): En esta parte del cdigo se definen primero las funciones que sern llamadas desde el programa principal (main()), definido al final. Entre ellas se destacan las funciones donde se especifican las rutinas de interrupcin (ISR) del dispositivo, las funciones que sirven de interfaz de comunicacin con el mdulo de autenticacin, nombradas como uf_; y la funcin, ntcall_SR(), que acta como Rutina de Servicio de Red (NTSR) implementando el protocolo de enlace de la Red tCAB para la comunicacin externa con el PC.

84

Funcionamiento y Desarrollo Software

#include "Header_VoFP.h" #include "Header_VoFP.h"

Bloque de Header del Programa y Definiciones de Constantes

Definicin Mscaras de Interrupciones* i) Fuentes de Interrupcin Externas: IRQ P0.0 Puerto Recepcin Comunicacin Serie Asncrona, mC_RX. IRQ P0.2 Puerto Deteccin de Trama Peticin de Conexin Externa (PC), ICOM. ii) Fuentes de Interrupcin Internas: IRQ TIMER2 Int. para Temporizacin de Seales Control de Puerta y otras. IRQ TIMER3 Int. para Temporizacin de Transmisin Tramas Wiegand.* Habilitacin y Deshabilitacin de Int. en el IMR (Registro de Mscaras de Int. en SFR).

Anulacin de Peticiones de Int. en el IRQ (Registro de Peticiones de Int. en SFR).

Def. Mscaras de Puertos E/S i) Seales de Control de Puerta: P0.3 Botn Salida, BS. P0.4 Sensor Puerta, SP. P0.5 Rel Abre-Puerta, AP. ii) Seales Transmisin Wiegand: P0.6 Bit 0, WG_D0. P0.7 Bit 1, WG_D1.

Def. Valores por Defecto Parmetros Configuracin** Parmetros de Configuracin del Disp. tCAB:

ver Bloque de Declaracin Variables.

Def. Comandos del Protocolo de Enlace (Red tCAB)** Ver Apartado 4.2.3 de Protocolos Com.

Def. Ctes. Temporizacin TIMER2 i) Unidades de Tiempo. ii) Smbolos Seleccin Temporizacin para: Rel Abre-Puerta OPEN_DOOR_RELAY_TIMING. Sensor Puerta Abierta DOOR_SENSOR_TIMING. Alarma Puerta Abierta DOOR_ OPEN_ ALARM_TIMING. Establecimiento Conexin Externa (PC) CONNECTION_TIMEOUT_TIMING. Filtro de Glitches para Seales Puerta GLITCH_FILTER_TIMING.

Def. Otras Ctes. de Sistema MASTER_ID = 9999. Tiempos de Espera: Comandos Voz y Escanear Huella. Nm.Mx. de Repeticiones. Tamao y Nm. Mx. de Patrones Huella.

Def. Punteros a Espacio de Memoria Datos (PSD Flash2aria : CSBOOT 1) Identificador Mdulo Aut.=Direccin de Red tCABMODULEID_FLASH2_ADDRESS. Fallo Escritura en Sector Flash2 (Parm.Config.)FLAG_FWRITE_FAILURE.

Def. Puntero a Espacio de Memoria Programa (PSD Flash1aria) Pos. Memo. Tabla de Mensajes i) Espaol (ES) ii) English (EN) : i) #ifdef LANGUAGE_VoFP_ES en VoFP_Headers.hSNDTBL_MESSAGES_ES. ii) #ifdef LANGUAGE_VoFP_EN en VoFP_Headers.hSNDTBL_MESSAGES_EN.

Figura 4.13 [a]: Bloque de la Estructura del Cdigo Fuente VoFingerPrint.c:Cabecera (Header) del Programa y Definiciones de Constantes de Sistema.

Funcionamiento y Desarrollo SoftwareBloque de Declaraciones Declaracin Prototipos de Funciones Driver PSD* i) Funciones Driver para Flash2=CSBOOT: flash_boot_write_with_poll(address, data) Escribe 1 Byte en CSBOOT. flash_boot_erase_sector (sector_address) Borra Sector de CSBOOT. flash_boot_reset() Reinicia CSBOOT, utilizada en caso de fallo de escritura.* Definicin de Funciones Driver en el archivo PSDdrivers_VoFP.c del Firmware.

85

Declaracin e Inicializacin Variables Globales* i) Variables de Parmetros Configuracin. Almacenadas en Flash2 (CSBOOT 0) e inic. a Valores por Defecto: flag_vui = DEFAULT_FLAG_VUI=0 0: Modo Identificacin; 1: Modo Verificacin (VUI Activada). flag_finger2 = DEFAULT_FLAG_FINGER2=0 0: Opc. Segundo Dedo Desactivada; 1: Opc. Segundo Dedo Activada. time_open[N_DIGITS_TIME] = ={DEFAULT_TIME_OPEN0,DEFAULT_TIME_OPEN1}= {0,5} Tiempo Apertura (5 Segundos). time_sensor[N_DIGITS_TIME] = ={DEFAULT_TIME_SENSOR0,DEFAULT_TIME_SENSOR1}={1,0} Tiempo Sensor (10 Segundos). flag_ntmode = DEFAULT_FLAG_NTMODE=0 0: Modo Operacin Autnomo (Stand-Alone); 1: Modo Operacin de Red (Network). ii) Variables de Parmetros Configuracin Temporales. Almacenadas en RAM Externa PSD (inic. en Prog. Principal): tflag_vui. tflag_finger2. ttime_open[N_DIGITS_TIME]. ttime_sensor[N_DIGITS_TIME]. tflag_ntmode. iii) Variables de Operacin del Dispositivo. Almacenadas en RAM Externa PSD (inic. en Prog. Principal): flag_moduleid Resultado Operacin de Transferencia de la Direccin (2 Bytes) al Mdulo. flag_master Res. Op. de Comprobacin Existencia Mster del Sistema. flag_freescan Res. Op. de Activacin/Desactivacin Parmetro Mdulo: UF_FREESCAN. flag_autoresponse Res. Op. de Activ./Desactiv. Parm. Md: UF_AUTO_RESPONSE. flag_scantimeout Res. Op. de Seleccin Parmetro Mdulo: UF_SYS_TIME_OUT. flag_ntcom Modo Red Activado en el Mdulo Huella (Paquetes 15 byte para Com. Externa). flag_dooralarm Alarma Activada. fwrite_ok Params. Config Guardados Correctamente en Flash2. flag_fwrite_err Fallo Escritura en Flash2. flag_syserr_reset Error de Inicializacin (Start-up) del Sistema. flag_startup Inicializacin del Sistema Correcta. moduleID Variable Temp.: Direccin de Red del Mdulo y del Disp. tCAB. connect_mid Variable Temp.: Direccin de Conexin a un tCAB enviada desde el PC. users_num Nm. Usuarios Registrados en el Mdulo. iv) Variables de Flujo del Programa. Almacenadas en RAM Interna: state, nextstate Vars. de Estado del Programa (PSM). utime, utime2, time_select Contadores de Tiempo y Selecc. de Temporizacin. ntcall_event, scan_event Eventos: Peticin de Conexin PC y Entrada Huella Usuario. capture_failure, scan_enabled Fallo en Recepcin Paquete Md. y Habilitar Escner.* Slo se muestran las ms relevantes, necesariaspara la descripcin del Firmware.

Figura 4.13 [b]: Bloque de la Estructura del Cdigo Fuente VoFingerPrint.c:Declaracin de Prototipos de Funciones Driver PSD-Flash2 y Variables Globales.

86

Funcionamiento y Desarrollo Software

Bloque de Definicin ISRs, Funciones del Sistema y Programa Principal Funciones de Rutinas de Servicio de Interrupcin (ISR) i) p00_isr() : Interrupciones en Puerto mC_RX(P0.0). Recepcin Paquetes desde el Mdulo o desde el PC* : Paq. Respuesta Mdulo tras Escanear Huella UF_SCAN_SUCCESS: - Si Modo Identificacin (tflag_vui=0)Recep. 2 Paq. de Fin Identificacin. - Si Modo Verificacin (tflag_vui=1)Recep. 2 Paq. + Patrn Huella (384 Bytes). Paq. Peticin de Conexin desde PCUF_COMMAND_CT + [Direccin tCAB]: - Comprobacin Dir. Enviada (connect_mid) vs. Dir. tCAB(moduleID) Si connect_mid=moduleID : Establecimiento Enlace. ii) p02_isr() : Interrupciones en Puerto ICOM(P0.2). Detecta flanco de Trama de Peticin de Conexin desde el PC* Se registra el Evento: ntcall_event=1; y espera a Paquete Peticin de Conexin por mC_RX. iii) timer2_isr() : Interrupciones provocada por TIMER2. Temporizaciones: Si time_select=OPEN_DOOR_RELAY_TIMING Activ. Rel AP hasta: utime=ttime_open. Si time_select=DOOR_SENSOR_TIMING Mientras SP(P0.4) detecte Puerta Abierta, cuenta atrs hasta: utime=ttime_sensor; entonces Si time_select=DOOR_ OPEN_ ALARM_TIMINGTiempo Espera: Repetir Alarma. Si time_select=CONNECTION_TIMEOUT_TIMING Tpo. Espera: Paq. Peticin Conex. Si time_select=GLITCH_FILTER_TIMINGTpo. Espera: Seal BS(P0.3)/SP (P0.4) Vlida. iv) timer3_isr() : Temporizacin para Transmisin de Tramas Wiegand 26-bit.* Ver Apdo. 4.2.3: Protocolos de Comunicacin con el Mdulo (de Comandos) y con el PC(de Enlace).

flag_dooralarm=1 para Activar Alarma y Mensaje Puerta Abierta.

Funciones del Programa Disp. tCAB* uf_SystemWrite(paramID, paramVAL) :Cambio Parmetros de Funcionamiento del Mdulo de Autenticacin. uf_SystemRead(paramID) : Lee Parmetros de Funcionamiento Mdulo (devuelve valor de paramID). wg_Send_UserID(userID) : Transm. Wiegand: Nm. Identificacin Usuario. uf_FreeScan_Analyze() : Anlisis Paquete de Resultado Identificacin Usuario. uf_checkID(usercheckID) : Comprueba existencia de Nm. Usuario en Md. uf_Cancel() : Cancela Operacin en curso del Mdulo. uf_ScanTemplate_Enable() : Habilitacin del Lector de Huella para captura y envo del Patrn Huella de Usuario desde el Mdulo al mC. uf_VerifyTemplate(userID) : Inicia la Verificacin de Usuario con userID=PIN, y recibe el Resultado. uf_Identify() : Inicia captura de huella Usuario para identificarlo y obtener PIN. uf_Enroll(autoID, userID) : Inicia captura de huellas para Registrar Usuario.- autoID0: Asig. PIN Manual(userID); 1: Asig. PIN Automtico; 2: Aadir ms Huellas a userID. - Utiliz. en Modo Verificacin: tflag_vui=1. - Parmetro Mdulo* : UF_FREESCAN Desactivado. - Utiliz. en Modo Verificacin: tflag_vui=1. - Parmetro Mdulo* : UF_FREESCAN Desactivado. - Utiliz. en Modo Identificacin: tflag_vui=0. - Parmetro Mdulo* : UF_FREESCAN Activado.

uf_EnrolledNumber() : Devuelve el total de usuarios registrados. uf_Delete(userID) : Borra al Usuario con PIN=userID. uf_DeleteAll() : Borra a Todos los Usuarios registrados. ntcall_SR() : Rutina de Servicio de Red tCAB (NTSR). Enlace Com. Ext. PC. main() : Programa Principal del Disp. tCAB* Funcs. de Gestin del Mdulo: uf_ (), via Com. Serie, utilizan el Protocolo de Comandos

definido en el Apdo. 4.2.3.

Figura 4.13 [c]: Bloque de la Estructura del Cdigo Fuente VoFingerPrint.c :Definicin de Funciones de Interrupcin, de Sistema y Programa Principal: main().

Funcionamiento y Desarrollo Software

87

Parmetros de Configuracin del Dispositivo tCAB.Mediante el men de configuracin del dispositivo el administrador puede modificar ciertos parmetros de funcionamiento o configuracin a travs de la seleccin de algunas de las opciones disponibles de este men. Para guardar los diferentes parmetros de configuracin del dispositivo, se utilizan las siguientes variables globales del programa:

flag_vui/tflag_vui: Determina el Modo de Autenticacin del dispositivo: Verificacin (1) o Identificacin (0); que corresponde a exigir o no, respectivamente, la pre-identificacin por voz al usuario durante su acceso, indicando ste su nmero PIN por medio de la Interfaz por Voz (VUI). Seleccionable mediante la opcin Voz del men de configuracin. El dispositivo emplea por defecto el Modo de Identificacin. flag_finger2/tflag_finger2: Determina si en la opcin Aadir del men de configuracin se pedir al usuario que introduzca las huellas de un segundo dedo, de esta forma, ste dispondr de un dedo auxiliar a la hora de autenticarse para el acceso. Esto corresponde a tener activada (1) la opcin Segundo Dedo del men de configuracin. Por defecto esta opcin se encontrar desactivada (0). time_open[N_DIGITS_TIME]/ttime_open[N_DIGITS_TIME]: Vector de dos variables (N_DIGITS_TIME=2) donde se especifica el Tiempo de Apertura, o de activacin del rel abre-puerta, entre un rango de 0 a 99 segundos. El valor asignado por defecto es de 5 segundos. time_sensor[N_DIGITS_TIME]/ttime_sensor[N_DIGITS_TIME]: Vector de dos variables (N_DIGITS_TIME=2) donde se especifica el Tiempo de Sensor, o de espera hasta emitir el mensaje y sonido de alarma de puerta abierta, entre un rango de 0 a 99 segundos. El valor asignado por defecto es de 10 segundos. flag_ntmode/tflag_ntmode: Determina si el dispositivo tCAB est trabajando de forma autnoma en el Modo de Operacin Autnomo (0: Stand-Alone Mode), o bien, en el Modo de Operacin de Red (1: Network Mode) cuando est en comunicacin con un PC, a travs de la red tCAB, desde donde se gestiona esencialmente su configuracin y base de datos de usuarios. El cambio de modo slo se producir desde la aplicacin del PC. ste es el nico parmetro no configurable desde el men de configuracin del dispositivo y por defecto el dispositivo se encontrar en Modo Autnomo.

Como se muestra en el esquema de la figura 4.13[b] se emplea un grupo de variables para almacenar los valores de estos cinco parmetros de forma no voltil en un sector (CSBOOT 0) de la memoria Flash Secundaria, de este modo, no se perder una determinada configuracin al apagar el dispositivo. Al descargar el programa los parmetros de configuracin estarn inicializados a sus valores por defecto mediante constantes definidas al inicio del cdigo.

88

Funcionamiento y Desarrollo Software

Al iniciar el programa los valores de los parmetros almacenados en la Flash Secundaria se asignarn a las variables temporales, del mismo nombre pero con una la letra t al inicio, localizadas en memoria RAM externa y que sern las utilizadas durante la ejecucin del programa. Slo se actualizarn los valores de los parmetros en Flash2 despus de finalizar la posibilidad de modificar cualquiera de ellos, al final de la configuracin del dispositivo desde el men de configuracin, o bien, desde el PC. Por tanto, es mejor emplear durante la ejecucin estas variables temporales en RAM, en lugar de las variables en Flash2, ya que, de la forma indicada antes, se optimizarn los ciclos de escritura de esta memoria, ya que se ahorrarn los sucesivos borrados y escrituras del sector, donde se almacenan todos estos parmetros, que se tendran que realizar al modificar frecuentemente los valores de los parmetros, y aunque slo se quisiera modificar a uno de ellos. Adems, se emplear menos cdigo respecto a la escritura en Flash debido a que la escritura en RAM externa slo supone el cdigo de una simple asignacin, mientras que, para escribir en la Flash2 se han de llamar a las funciones Driver de esta memoria PSD realizando las operaciones primero de borrado y luego de escritura.

Funciones de Interrupcin ISR.En el esquema la figura 4.13[c] se pueden ver las funciones donde se definen las rutinas de servicio de interrupcin (ISR vectorizadas) empleadas por el programa del dispositivo. Las acciones programadas en cada una de ellas se ejecutarn cuando se produzca su correspondiente evento de interrupcin, y al activarse el bit respectivo en el registro IRQ, de las siguientes fuentes:

Fuentes de Interrupcin Externas: Int. Puerto mC_RX(P0.0): Cte. para Mscara IMR: [IRQ_P000x08]. Evento: Primer flanco de la trama del Paquete Estndar (13 bytes) enviado desde el Mdulo de Autenticacin. Funcin: [p00_isr()], implementa la recepcin serie y posterior anlisis de los paquetes enviados desde el mdulo en respuesta a la entrada o escaneo de la huella del usuario en los procesos de identificacin o verificacin; y, del paquete de peticin de conexin, con la direccin del tCAB, enviado desde el PC a travs del mdulo (detallado en Flujograma Fig. 4.16). Int. Puerto ICOM(P0.2): Cte. para Mscara IMR: [IRQ_P020x40]. Evento: Primer flanco de la Trama de Peticin de Conexin (1 byte) enviada desde el PC. Deteccin directa en la lnea de recepcin externa, EXT_RX, no a travs del mdulo. Funcin: [p02_isr()], cambia el estado de la variable [ntcall_event: 01] para poner al dispositivo en disposicin de espera del Paquete de Peticin de Conexin que el PC enviar despus de la trama de 1 byte.

Funcionamiento y Desarrollo Software

89

Fuentes de Interrupcin Internas: Int. TIMER2: Cte. para Mscara IMR: [IRQ_TIMER20x02]. Evento: Overflow del Timer 2. Periodo: 4ms. Funcin: [timer2_isr()], implementa las temporizaciones seleccionables mediante la variable [time_select] para la seal de activacin del rel abre-puerta, configurable por la variable [ttime_open], y para la cuenta atrs antes de emitir la alarma de puerta abierta si la seal del sensor de puerta indica que sigue abierta tras el tiempo [ttime_sensor]. Adems de, temporizar las esperas de repeticin de alarma, del paquete de peticin de conexin y de seal vlida para filtrar posibles glitches en los puertos de entrada del Botn de Salida (BS) y del Sensor de Puerta (SP) (detallado en Flujograma Fig. 4.17). Int. TIMER3: Cte. para Mscara IMR: [IRQ_TIMER30x10]. Evento: Overflow del Timer 3. Periodo: 100s. Funcin: [timer3_isr()], slo utilizada para temporizar la transmisin de Tramas Wiegand 26-bit y para el caso explicado ms adelante.

Funciones de Gestin del Mdulo de Autenticacin.Las funciones del tipo, uf_( ), son utilizadas durante el programa para ordenar al mdulo de autenticacin, desde el mC, las diversas acciones necesarias para el funcionamiento del dispositivo tCAB. En la figura 4.13[c] se especifican sus nombres y objetivo, mientras que en los diagramas de flujo del programa, expuestos ms adelante en este punto, se ver cuando se emplean. Entonces para gestionar el mdulo, en cada una de estas funciones se implementa la comunicacin serie con el mdulo (enlace mC-MOD) utilizando el protocolo de comandos especfico de ste, el cual se describe en el siguiente punto. Un aspecto que cabe resaltar es la diferenciacin entre la comunicacin establecida entre el mC y el mdulo, durante la llamada a estas funciones y cuando el programa se encuentra en el bucle principal. En esta ltima situacin, la interrupcin del puerto de recepcin mC_RX est habilitada para que, mientras se espera de forma no-bloqueante la recepcin, y anlisis en p00_isr(), de los paquetes enviados desde el mdulo correspondientes a los eventos fundamentales de entrada de huella del usuario o, de establecimiento de comunicacin externa con el PC; se puedan atender otras tareas implementadas en el bucle principal. Lo que se puede ver en detalle en el flujograma de la Funcin de Interrupcin p00_isr() para el puerto mC_RX(P0.0), fig. 4.16.

90

Funcionamiento y Desarrollo Software

Sin embargo, la comunicacin con el mdulo implementada en las funciones del resto del programa se sigue un esquema de Peticin-Respuesta, enviando primero el comando correspondiente al mdulo y luego, nicamente, se mantiene a la espera de su respuesta para analizar despus los resultados del proceso demandado al mdulo mediante el comando. El esquema de comunicacin no-bloqueante slo se emplear durante la ejecucin del bucle principal, por lo que la interrupcin del puerto mC_RX estar deshabilitada durante la comunicacin serie implementada en las funciones de gestin del mdulo de autenticacin y para el resto del programa.

Funcin de Transmisin Wiegand: wg_Send_UserID(userID).En esta funcin se implementa la transmisin de tramas Wiegand 26-bit por los puertos WG_D0(P0.6) (para el Bit 0) y WG_D1(P0.7) (para el Bit 1), para lo que har uso del TIMER3 mediante su funcin de interrupcin. En particular slo se utilizar para transmitir el nmero de identificacin del usuario, userID o PIN, despus de haber sido autenticado con xito para el acceso, tanto en modo verificacin como en modo identificacin. Por tanto, esta funcin ser llamada nicamente en ese caso y desde las funciones: uf_FreeScan_Analyze() y uf_VerifyTemplate(userID); donde se determina si el usuario est autorizado, despus de analizar el paquete respuesta del mdulo que contiene el resultado del proceso de identificacin y verificacin, respectivamente (ver Flujogramas Figs. 4.15[a], 4.15[b]). El motivo de incorporar esta funcionalidad es para poder enviar el PIN del usuario autorizado para el acceso, a una Central Fermax desde la cual se gestiona otros dispositivos de control de acceso y que utiliza el protocolo de comunicacin Wiegand. De este modo, se podrn integrar las f