Interfaz Wiegand 26/Ethernet

Anuncio
Interfaz Wiegand 26/Ethernet
Facultad de Ingeniería – UNMDP
Interfaz Wiegand 26/Ethernet
Autor: Martín Gracián
Director: Ing. Raúl Rivera
Carrera: Ingeniería Electrónica
-Mar del Plata, Septiembre 2009 Resumen—Este trabajo tiene por objeto comentar
computarizados, su fragilidad y su alto costo de
el
mantenimiento.
desarrollo
de
una
Interfaz
Wiegand
26/Ethernet que permite utilizar un dispositivo
Los lectores para la identificación de personas utilizados
con protocolo de salida específico, como es
en la actualidad cuentan, en su mayoría con una salida
Wiegand 26, dentro de una red informática. Ésta
Wiegand 26. Por este motivo y la necesidad de
permite que cualquier tipo de lector utilizado para
desarrollar un equipo económico y contemporáneo, se
el
salida
creo la Interfaz Wiegand 26/Ethernet. Esta última es la
Wiegand 26, se pueda conectar a una red. El
encargada de transmitir los datos que entrega el lector a
sistema establece una conversión de protocolos a
una PC mediante Ethernet. De esta manera los datos
través de un microcontrolador PIC 18F97J60. Este
provistos por el lector serán visualizados en la PC
último
mediante un programa instalado en ésta.
reconocimiento
cuenta
de
con
un
personas,
con
controlador
Ethernet
interno, el cual se encarga de la comunicaciones
II-WIEGAND 26
de este tipo. La pila TCP/IP de Microchip utilizada
del
El protocolo Wiegand es ampliamente utilizado por la
microcontrolador brinda una importante cantidad
mayor parte de los fabricantes de lectores porque
de funciones para utilizar en la aplicación, tales
permite la transmisión de información a través de un par
como
de cobre acompañado por la alimentación para el
para
las
comunicaciónes
emplear
al
Ethernet
microcontrolador
como
un
servidor web; enviar mails; ser servidor o cliente
dispositivo de lectura sin afectar por ello a los datos.
en una conexión Cliente-Servidor, etc. Haciendo
Como todo protocolo de comunicaciones, Wiegand
uso de las herramientas presentadas y utilizando
consta de dos partes fundamentales: una parte describe
un programa servidor como terminal de salida se
el modo en que físicamente se transmite la información
desarrolló
digital
la
Interfaz
Wiegand
26/Ethernet.
y
la
otra
parte,
la
forma
Resultando de esta manera un equipo sofisticado,
numéricamente dicha información.
económicamente
Sistema de transmisión:
accesible,
utilizando
de
interpretar
bajo
costo
La transmisión de datos Wiegand usa tres hilos. La línea
a
cubrir
para enviar los unos lógicos o DATA1, la línea para hacer
necesidades de control de personal como así
lo propio con los ceros lógicos o DATA0 y la línea de
también otras posibles utilidades para el mismo.
masa de referencia de ambos o GND. Los niveles que se
exclusivamente
disponibles
en
componentes
plaza,
de
aplicable
usan son Bajo, a nivel de GND, o Alto a +5V o VCC. En
estado de reposo, o sea sin transmitir, la línea de GND es
I-INTRODUCCIÓN
exactamente lo que es GND y siempre está en nivel bajo
y las líneas DATA1 y DATA0 están en nivel alto, a nivel
Se sabe que el recurso más valioso que tiene una
de +5V ó VCC.
empresa es su personal, por eso, hoy en día se ha hecho
Para transmitir un Bit 1 se envía un pulso a Bajo,
una necesidad imperiosa controlar su tiempo trabajado.
normalmente de 50 useg (microsegundos) de duración,
Ya han quedado en la historia los viejos relojes
por la línea DATA1, mientras DATA0 permanece en Alto.
mecánicos con tarjetas de cartulina, por su escasa
Para transmitir un Bit 0 se envía un pulso a Bajo,
información, la imposibilidad de automatizar procesos
también de la misma duración 50 useg (microsegundos),
Gracián Martín
Página I
Interfaz Wiegand 26/Ethernet
Facultad de Ingeniería – UNMDP
por la línea DATA0, mientras ahora es DATA1 la que
La aplicación tiene como objetivo principal transmitir el
permanece en Alto(Figura 1).
código Wiegand a una PC, la cual muestre en pantalla los
datos
recibidos.
Estos
son
enviados
por
el
microcontrolador en una trama Ethernet. Los bits del
código Wiegand ingresan al microcontrolador por dos
pines del puerto B. Cada vez que se registre una lectura,
el microcontroldor iniciará una conexión Cliente/Servidor
Figura 1. Transmisión de bits
con la PC encargada de mostrar el código recibido en
pantalla. La dirección IP de la PC destinataria del código
debe ser configurada a través de la página web alojada
Interpretación de los Datos:
en el microcontrolador. A ésta se ingresa mediante un
El código Wiegand 26 está compuesto por 26 bits y la
navegador web, ingresando el número IP de la Interfaz
interpretación del mismo es la siguiente:

Wiegand 26/Ethernet en la URL. Desde la página web se
El primer Bit, B0, es la Paridad Par de los primeros
configura la IP de la Interfaz, la IP de la PC destino y el
12 bits transmitidos (B1:12).

Los 8 siguientes, B1:B8 son un Byte, un Entero de

Los 16 siguientes: B9:B24 son dos Bytes, un
puerto
8 bits, al que llaman Facility Code.
la
PC
destino
recibirá
conexiones
El programa instalado en la PC destino será el encargado
de recibir el código enviado por el microcontrolador y
Entero de 16 Bits, al que llaman User Code

donde
entrantes.
mostrar el resultado en pantalla. En la Figura 3 se
El último bit, B25, es la Paridad Impar de los
muestra una captura del programa.
últimos 12 bits transmitidos (B13:24). III-PILA TCP/IP DE MICROCHIP
La pila TCP/IP de Microchip es una serie de programas
que proveen servicio a las aplicaciones estándar de
TCP/IP, o puede ser usada en una aplicación particular
de TCP/IP. Está implementada de forma modular y con
todos los servicios se crean capas independientes.
Microchip divide sus tares en distintos archivos. Cada
La función del programa es crear un servidor en un
uno de estos realiza sus tareas y presta servicios a los
puerto determinado para recibir conexiones entrantes.
demás. Por esta razón un sistema operativo multitarea
Estas
sería ideal, pero al contar con un microcontrolador de 8
el
esquema
del
enviadas
por
el
Este programa se puede modificar fácilmente para
distintas aplicaciones, como pueden ser:
IV-DESCRIPCIÓN DE LA APLICACIÓN
muestra
son
se muestra en pantalla en un textbox.
para poder atender todas las tareas solicitadas.
2
entrantes
luego enviar el código Wiegand. Una vez recibido éste,
encargada de administrar los recursos del procesador
Figura
conexiones
microcontrolador para establecer una conexión TCP y
bits como es el PIC 18F97J60, la aplicación principal es la
La
Figura 3. Programa servidor
Como la arquitectura de protocolos TCP/IP, la pila de
sistema
implementado. Se distinguen tres partes principales: un
Lector, que es el encargado de registrar al personal y
transmitir el correspondiente código Wiegand 26 (en este

Almacenamiento de datos de personal

Llave de acceso

Registro de presencia

Ordenamiento de equipajes
Pero el objeto de este trabajo es la realización de la
proyecto se utilizó un lector de proximidad), un
Interfaz, por lo cual mostrar el código Wiegand en
Microcontrolador PIC encargado de la conversión de
pantalla es suficiente.
protocolos y el Programa servidor que se encuentra en
ejecución en la PC destino del código.
V-CIRCUITO IMPLEMENTADO
La Interfaz Wiegand 26/Ethernet fue desarrollada en
base al microcontrolador PIC 18F97J60. La elección del
mismo radica en el hecho de que cumple con las
condiciones necesarias para el desarrollo de este
Figura 2. Esquema
proyecto, permitiendo además enviar y recibir datos a
través
de
indispensable
una
red
para
Ethernet.
lograr
Este
la
recurso
es
comunicación
Cliente/Servidor entre la Interfaz Wiegand 26/Ethernet y
Gracián Martín
Página II
Interfaz Wiegand 26/Ethernet
Facultad de Ingeniería – UNMDP
la PC o la red. La Figura 4 presenta el circuito
3. Comunicación Cliente/Servidor
implementado.
4. Comunicación entre la página web y la Interfaz
Entre las partes constituyentes de este esquema se
5. La aplicación principal
distinguen: el circuito de Reset, un switch para forzar el
borrado de memoria, el reloj principal comandado por
La Pila TCP/IP de Microchip, como se describió
un cristal de 25MHz, las entradas/salidas y el conector
anteriormente, es la encargada de manejar el flujo de
RJ-45.
datos Ethernet. En este proyecto la pila se encarga de
brindar servicios a la página web del micro y a la
LED’s de
control
LED V
conexión Cliente/Servidor. Esta conexión es generada al
+5v
1K
Entradas
1K
+5v
finalizarse la adquisición del código Wiegand 26. Cada
LED R
RB4
RB6
DATA1
vez que se detecte un cambio en los pines RB4 o RB5 del
1K
1K
RB5
RB7
DATA0
microcontrolador se dispara la Interrupción por arribo
+3,3v
de fichada, de esta forma se realiza la adquisición del
PIC18F97J60
Borrado de
memoria
10K
0,1uf
RJ-45
+3,3v
470
+3,3v
49,9
RB4
Reset
por cada identificación que se realice. El primer y último
49,9
RB5
RB6
4,7K
0,1uf
49,9
49,9
1K
0,1uf
+3,3v
180
1M
180
0,1uf
RB7
+3,3v 33pf
0,1uf
25MHz
código. Como son 26 bits los que forman el código
Wiegand 26, la interrupción se va a disparar 26 veces
0,1uf
+3,3v
33pf
bit se descartan, ya que son bits de paridad. Al
detectarse el número de interrupción número 26, el
código adquirido se transforma en un string, para luego
ser enviado a través de una conexión TCP a la PC
+3,3v
destino. Dicha conexión es del tipo Cliente/Servidor,
donde el cliente es la Interfaz y el servidor la PC destino.
Figura 4. Circuito implementado
A partir de un ciclo cerrado de programa se estarán
El lector utilizado para este proyecto fue un lector de
realizando tareas requeridas por la pila TCP/IP, como
proximidad ID-20, por ser de tamaño reducido y de un
puede ser el mantenimiento de la página web. Este será
valor económico. Las salidas DATA 0 y DATA 1 de éste
el medio por el cual se pueda configurar a la Interfaz
se conectan a través de transistores al puerto B del
Wiegand 26/Ethernet. La comunicación entre ambas se
microcontrolador.
realiza por mensajes HTTP. El programa encargado de la
Además se acoplan dos LED’s al puerto B del micro para
Comunicación entre la página web y la Interfaz
indicar el estado de la Interfaz.
detecta modificaciones realizadas en los parámetros de
El conector hembra RJ-45 se conecta a las salidas del
la página web y actúa en consecuencia. Un caso es,
microcontrolador utilizadas para este fin.
cuando se modifica la dirección IP de la Interfaz. Desde
la página web se envía un formulario con esos datos y el
VI-PROGRAMA
programa los identifica y cambia el valor de IP de la
El programa principal que se almacena en la Memoria de
Interfaz Wiegand 26/Ethernet.
Programa del microcontrolador, que es el que desarrolla
La aplicación principal es la encargada de realizar
las operaciones descriptas, fue escrito en lenguaje C, por
actividades específicas de la Interfaz y distribuir los
ser este el lenguaje en que se encuentra realizada la pila
recursos del procesador a las distintas capas de la pila
TCP/IP de Microchip. Además, el lenguaje C es más
TCP/IP. Las tareas de este programa son:
intuitivo
y
fácilmente
migrable
a
otros
microcontroladores.

Almacenar datos en ROM
El software utilizado para el desarrollo del programa fue

Interactuar con los LED’s de control
el MPLAB y para la compilación, el C18, ambos de

Formular el código Wiegand
Microchip. Para grabar los programas al microcontrolador
se utilizó como plataforma el Pickit 2 y como medio físico
Los datos almacenados en ROM son los modificados por
para la grabación, el módulo Pickit 2. En la bibliografía se
intermedio de la página web. La manera de realizar esta
citan vínculos donde el lector puede obtener más
grabación es a través de una serie de instrucciones en
información sobre estas herramientas.
assembler, descripta en el datashet del microcontrolador.
Con referencia al programa en sí, el mismo fue
Los LED’s de control, son los encargados de manifestar
diagramado en una estructura donde se distinguen cinco
el estado de la Interfaz; como es un estado de
partes básicas:
desconexión del cable de red, una imposibilidad de
conexión con la PC destino o el procesamiento de los
1. Pila TCP/IP de Microchip
datos recibidos por el lector.
2. Interrupción por arribo de fichada
Gracián Martín
Página III
Interfaz Wiegand 26/Ethernet
Facultad de Ingeniería – UNMDP
El código Wiegand enviado a la PC destino consta de 24
bits, pero al momento de la finalización de la adquisición
del código se poseen tres variables de 8 bits cada una.
La razón de esto es por la necesidad de optimizar la
adquisición de los datos, ya que de esta forma el código
ejecutado por cada interrupción es menor. Por lo tanto
[8]. MPLAB IDE.
http://ww1.microchip.com/downloads/en/DeviceDoc/515
19B.pdf
[9]. HTML.
http://gias720.dis.ulpgc.es/Gias/Cursos/Tutorial_html/ind
ice.htm
se debe formular una variable de 24 bits a partir de tres
de 8 bits, esta tarea es desarrollada en la aplicación
principal.
VII-CONCLUSIONES
Un sistema de control de personal como de control de
acceso son indispensables en cualquier empresa. La
necesidad de obtener los mejores resultados hace que
los mismos se encuentren en permanente evolución. Se
ha trabajado en la disminución del fraude y además en la
necesidad de concentrar la información para su más
eficiente administración. Hoy Ethernet nos permite esa
posibilidad.
Por estos motivos el autor plantea la realización de una
Interfaz Wiegand 26/Ethernet, ya que ésta permite la
utilización de distintos dispositivos de lectura con salida
Wiegand 26. Los lectores utilizados siempre serán más
económicos que un reloj de control de personal o de
acceso, pero las utilidades de la Interfaz Wiegand
26/Ethernet pueden ser otras.
Este
proyecto no solo cuenta con las utilidades
planteadas sino dispone de muchas más, de acuerdo a lo
que el cliente pueda requerir. Esto es así, pues el
entorno programable del microcontrolador, como la
página web y el programa servidor son fácilmente
modificables para una aplicación particular.
Las posibilidades de mejorar este sistema son muy
amplias.
Algunas de ellas van desde la utilización de
este dispositivo como un control de personal o de acceso
con la posibilidad de realizar un almacenamiento previo
de la información en una memoria antes de enviarla al
ordenador; hasta la detección de presencia de personas
por intermedio de un medio biométrico con salida
Wiegand 26. Otras mejoras pueden sucederse a partir de
las
necesidades
específicas
de
una
aplicación
en
particular.
VIII-BIBLIOGRAFÍA
[1]. Microcontroladores PIC. www.microchip.com
[2]. Lenguajes de programación de Microcontroladores
PIC. http://www.todopic.com.ar
[3]. Curso de C++.
http://www.conclase.net/c/curso/index.php
[4]. Microchip TCP/IP Stack Help. Ayuda incluida en la
pila TCP/IP de Microchip
[5]. Wiegand 26. http://www.ucontrol.com.ar
[6]. Visual Basic. http://www.lawebdelprogramador.com
[7]. Control Winsock. http://www.programatium.com
Gracián Martín
Página IV
Descargar