Ericel & DETEC INGENIERIA - Angelfire · § Ericel & Detec Ingeniería se reserva el derecho de...
Transcript of Ericel & DETEC INGENIERIA - Angelfire · § Ericel & Detec Ingeniería se reserva el derecho de...
Ericel & DETEC INGENIERIA
Agosto de 2009
Lector DTR10 Guía de Referencia
Agosto 2009 Lector DTR10 – Guía de Referencia
2
Notas Importantes
§ Ericel & Detec Ingeniería se reserva el derecho de hacer cambios en las especificaciones contenidas en este documento sin dar previo aviso.
§ Nuestro propósito es mejorar continuamente la calidad de nuestros productos y su documentación. Aunque invertimos bastante tiempo en esta tarea no estamos exentos de errores tipográficos o confusión al explicar algunos detalles. En caso de encontrar errores o falta de información, por favor contáctenos. Nosotros agradeceremos su colaboración para mejorar este documento.
§ Los diagramas y aplicaciones descritos en este documento son mostrados como ejemplos para facilitar el aprendizaje y operación de este dispositivo. No asumimos ninguna responsabilidad si se infringen derechos de propiedad intelectual de terceros o del uso que se le de a este dispositivo.
§ Se prohíbe la reproducción total o parcial del presente documento sin la autorización previa de Ericel & Detec Ingeniería.
Agosto 2009 Lector DTR10 – Guía de Referencia
3
Contenido Capítulo 1: Introducción………………………………………….... 4
1.1 Descripción.………………………………………… 5 1.2 Interfase de Programación.…………………………. 5 1.3 Leds Indicadores……………………………………. 6
Capítulo 2: Descripción del Hardware……………………………. 7 2.1 Especificaciones Generales…………………..…….. 8
2.1.1 Requerimientos de funcionamiento…………... 8 2.1.2 Fuente de poder………………………………. 8 2.1.3 Potencia de salida…………………………….. 8 2.1.4 Enlace físico RF………………………………. 8 2.1.5 Parámetros de la antena requerida…………..... 8
2.1.6 Receptor de Banda base………………………. 9 2.1.7 Pines de Entrada / Salida……..……………...… 9 2.1.8 Detalles de los conectores……………………... 10
2.2 Especificaciones Mecánicas………………………… 11
Capítulo 3: Protocolo del Lector……………………………….…... 12 3.1 Definición del protocolo serial………………….…... 13 3.1.1 Formato del paquete de pregunta………….….. 13 3.1.2 Formato del paquete de respuesta…………….. 14
3.1.3 Banderas del Comando de Pregunta……….….. 14 3.1.4 Banderas del Comando de Respuesta…………. 14
3.1.5 Sumatoria BCC………………………………... 14 3.2 Descripción de los comandos DPT10……..………… 15
3.2.1 Comandos de Control del Lector…….…….….. 15 3.2.2 Protocolo de Transmisión DTP10....................... 18 3.2.2.1 Códigos de comandos DTP10……..….……... 19 3.2.2.2 Formato del Paquete de Pregunta DTP10….... 17 3.2.2.3 Formato del Paquete de Respuesta DTP10...... 19 3.2.2.4 Comandos Obligatorios……………………... 22 3.2.2.5 Comandos Opcionales….………..………….. 26
Capítulo 4: Lector en configuración de Control de acceso ..…...... 36
4.1 Descripción de la configuración de Control de acceso.. 37 4.2 Salidas de la información serial ....……...................... 38 4.3 Comandos para el modo de Control de acceso ........... 42
Capítulo 5: Otros comandos ...................................................…...... 50
5.1 Descripción ................................................................. 51 5.2 Lectura UID + Múltiples Bloques ....…...................... 52 5.3 Escritura de Múltiples Bloques .................................. 53
Anexo A: Descarga de datos a la memoria FLASH…………….. 54 Anexo B: Códigos de Error……………………………………….. 55
Agosto 2009 Lector DTR10 – Guía de Referencia
4
Capítulo 1
Introducción
TEMA PÁGINA
1.1 Descripción del producto…………………………………. 5 1.2 Interfase de Programación………………………………… 5 1.3 Leds Indicadores………………………………………….. 6 1.4 Indicación sonora................................................................. 6
Agosto 2009 Lector DTR10 – Guía de Referencia
5
1.1 Descripción del Producto
Este documento describe los rasgos y características operacionales del lector DTR10 mostrado en la figura 1. El Lector DTR10 opera a una frecuencia de 13,56 Mhz. y maneja todas las funciones digitales y de RF para comunicarse con los transponderes Tag-it HF-I (ISO 15693). Esta Guía de Referencia provee todos los detalles que son necesarios para interfasar y usar el Lector como una parte de un sistema integrado.
Figura 1. Lector DTR10 - 232
1.2 Interfase de Programación
El Lector DTR10 esta diseñado para operar como un terminal de un sistema de lectores dependiendo de un control central, en el cual en esencia se relega al Lector a ser un esclavo de este control central, el cual es por lo general un PC. Las comunicaciones entre el PC (Control Central) y el Lector se llevan a cabo mediante paquetes de datos donde las comunicaciones desde el PC al Lector son conocidas como preguntas, y la replica desde el Lector al PC son conocidas como respuestas. Estas comunicaciones se realizan por el puerto RS232 usando 1 bit de inicio, 8 bits de datos, 1 bit de parada, no paridad y la rata de baudios es configurable entre 9.600, 19.200, 38.400, y 57.600 baudios. Por definición, el PC (control central) es siempre el primero que inicia la secuencia de comunicaciones. Esta secuencia consiste en pares de pregunta/respuesta donde el PC espera por una respuesta antes de continuar.
1.3 LEDs indicadores
Agosto 2009 Lector DTR10 – Guía de Referencia
6
El Lector DTR10 tiene tres Leds que son utilizados para señalizar el estado del Lector: LED Función
Rojo Indica que la fuente de poder del Lector está encendida Ambar Indica transmisión de información del Lector al transponder Verde Indica recepción de información del transponder al Lector o Comando ejecutado
correctamente.
1.4 Indicación sonora
El Lector DTR10 tiene un Buzzer (pito) para indicar cuando se ha ejecutado un comando correctamente. El Buzzer trabaja en forma paralela con la señal del LED Verde. Se puede silenciar mediante el comando de escritura de salidas.
Agosto 2009 Lector DTR10 – Guía de Referencia
7
Capítulo 2
Descripción del Hardware
TEMA PÁGINA
2.1 Especificaciones Generales……………………………….. 8 2.1.1 Requerimientos de funcionamiento…………………. 8 2.1.2 Fuente de poder………………………………………8 2.1.3 Potencia de salida…………………………………… 8 2.1.4 Enlace físico RF…………………………………….. 8 2.1.5 Parámetros de antena requerida…………………….. 8 2.1.6 Receptor de Banda base…………………………….. 9 2.1.7 Pines de Entrada / Salida………………………….. 9 2.1.8 Detalles de los conectores…………………………... 10 2.2 Especificaciones Mecánicas………………………………. 11
Agosto 2009 Lector DTR10 – Guía de Referencia
8
2.1 Especificaciones Generales
Este capitulo describe las especificaciones eléctricas y mecánicas del módulo del Lector DTR10.
2.1.1 Requerimientos de Funcionamiento
Los siguientes parámetros definen los requerimientos de funcionamiento y el ambiente de operación del Lector DTR10.
Parámetro Especificación Temperatura de operación -20ºC a + 70ºC Temperatura de almacenamiento - 40ºC a + 80ºC Frecuencia de operación 13.56Mhz Tipos de transponderes soportados Tag-it HF-I
2.1.2 Fuente de Poder
Voltaje de Entrada 7.5 a 9.0 VDC Promedio de corriente 90mA Promedio de corriente durante lectura 150mA Máxima corriente durante lectura 250mA
2.1.3 Potencia de Salida
Potencia de Salida 120mW sobre 50ohm (Típico)
2.1.4 Enlace Físico RF
Del Lector al transponder 10%-30% (normalmente 20%) o 100%
de modulación (configurable por sofware) – ASK Mode de codificación de datos: 1 de 4 o 1 de 256
Del transponder al Lector FSK 2.1.5 Parámetros de Antena requerida
Impedancia 50 ohm +- 5 ohm a 13.56Mhz Q cargado 10 < Q < 30
2.1.6 Receptor de Banda base
Mínimo ancho de pulso de dato 5 uS Máximo ancho de pulso de dato 500 uS Tiempo de establecimiento típico 50 uS para la primera transición
2.1.7 Pines de Entrada / Salida
Agosto 2009 Lector DTR10 – Guía de Referencia
9
Figura 2. Conectores y pines de la Plaqueta del DTR10
Conector J1 Pin Nombre Descripción 1 7.5 VDC IN Entrada de Voltaje corriente continua de 7.5 a 9.0 voltios. 2 GND Tierra de alimentación 3 B-485 Señal B de interfase RS-485. Aplicable en módulos DTR10-485 4 A-485 Señal A de interfase RS-485. Aplicable en módulos DTR10-485 5 TX-232 Señal de transmisión interfase RS323 6 RX-232 Señal de Recepción interfase RS232
Conector J2 Pin Nombre Descripción 1 GND Tierra de alimentación 2 5VDC OUT Salida de Voltaje regulada a 5.0 VDC 3 TX TTL Entrada serial UART niveles TTL para conexión directa a microcontrolador externo 4 RX TTL Salida serial UART niveles TTL para conexión directa a microcontrolador externo
Conector J3 Pin Nombre Descripción 1 GND Tierra de alimentación 2 5VDC OUT Salida de Voltaje regulada a 5.0 VDC 3 RESET Reset del lector al colocarse a tierra. 4 LED VERDE Salida señal LED verde, máximo 20 mA. 5 LED AMBAR Salida señal LED ambar, máximo 20 mA. 6 BUZZER Salida señal buzzer, máximo 20 mA.
Agosto 2009 Lector DTR10 – Guía de Referencia
10
Conector J4 Pin Nombre Descripción 1 GND Tierra de Alimentación 2 5VDC OUT Salida de Voltaje regulada a 5.0 VDC 3 PROG Pin para habilitar programación colocándolo a tierra (GND) 4 WGDL/DTA Salida Wiegand Dato Bajo o salida de Reloj para Dato binario serial 5 WGDH/DTA Salida Wiegand Dato Alto o salida de Dato binario serial 6 SALIDA 3 Salida 3 niveles lógicos TTL colector abierto. 7 ENTRADA 1 Entrada 1 niveles lógicos TTL, 0 a 5 VDC 8 ENTRADA 2 Entrada 2 niveles lógicos TTL, 0 a 5 VDC 9 SALIDA 1 Salida 1 niveles lógicos TTL, máxima carga de 20 mA. 10 SALIDA 2 Salida 2 niveles lógicos TTL, máxima carga de 20 mA.
Conector J5 Nombre Descripción
GND Señal de Tierra para circuito de antena ANT2 Entrada / Salida de Señal RF. Permite seleccionar antena externa o interna. ANT1 Antena interna: Conectando a ANT2 permite usar la antena interna 2.1.8 Detalles de los conectores
Figura 3. Conexiones externas de la Plaqueta del DTR10
Agosto 2009 Lector DTR10 – Guía de Referencia
11
2.2 Especificaciones Mecánicas
Figura 4. Dimensiones de la Plaqueta del DTR10
Figura 5. Dimensiones externas del DTR10-232
Agosto 2009 Lector DTR10 – Guía de Referencia
12
Capítulo 3
Protocolo del Lector
TEMA PÁGINA
3.1 Definición del protocolo serial…………………….…….... 13 3.1.1 Formato del Paquete de Pregunta………………….... 13 3.1.2 Formato del Paquete de Respuesta……........……...... 14
3.1.3 Banderas del Comando de Pregunta………………… 14 3.1.4 Banderas del Comando de Respuesta……………….. 14
3.1.5 Sumatoria BCC…………………………………….... 14
3.2 Descripción de los comandos DTP10…………………..... 15 3.2.1 Comandos de Control del Lector…….…………....... 15 3.2.2 Protocolo de Transmisión DTP10…………………... 18 3.2.2.1 Códigos de comandos DTP10……..……….…….. 19 3.2.2.2 Formato del Paquete de Pregunta DTP10……........ 19 3.2.2.3 Formato del Paquete de Respuesta DTP10……….. 21 3.2.2.4 Comandos Obligatorios…………………………… 22 3.2.2.5 Comandos Opcionales……………..……………… 26
Agosto 2009 Lector DTR10 – Guía de Referencia
13
3.1 Definición del Protocolo Serial
El protocolo DTP10 define el método para el intercambio de datos entre el computador y el Lector DTR10. Además especifica la manera como el computador puede direccionar, configurar y comandar el Lector con el fin de leer y escribir en los tags y tarjetas inteligentes de 13,56MHz. El Lector DTR10 acepta y envía datos a través de la RS232 empleando 1 bit de inicio, 8 bits de datos y 1 bit de parada, no paridad y una rata de baudios configurable entre 9600, 19200, 38400 y 57600 baudios. (Preseleccionado a 57600 baudios). El paquete (o trama) de datos desde el computador hacia el Lector es conocido como la pregunta y la réplica desde el Lector al computador es la respuesta. El computador es siempre quien inicia todas las secuencias de comunicación. Estas secuencias consisten en una dupla de pregunta/respuesta donde el computador espera una respuesta antes de continuar. El Lector DTR10 no usa la dirección de nodo
3.1.1 Formato del Paquete de Pregunta (desde el Computador al Lector)
Formato del Paquete Estándar de Pregunta Inicio SOF
Longitud del paquete
Dirección de nodo
Banderas de Pregunta
Comando Datos Sumatoria BCC
1 byte 2 bytes 2 bytes 1 byte 1 byte xx bytes 2 bytes
Descripción de los campos del Paquete de Pregunta
Campo Tamaño Valor Propósito SOF (start of frame) 1 byte 02 hex. Define el inicio del paquete Longitud del Paquete 2 bytes Depende del
paquete Define la longitud del paquete incluyendo el SOF
Dirección del nodo 2 byte 0000 hex. 0000 hex. para compatibilidad RS232 ó Especifica el lector en red RS485
Banderas del Comando de Pregunta
1 byte Varia con el comando
Especifica la acción que realizará el Lector
Comando 1 byte Varia con el comando
Especifica la acción que realizará el Lector
Datos 0 - xx bytes
Varia con el comando
Contiene los parámetros y datos para el comando
Sumatoria BCC 2 bytes 16 bits de LRC del paquete precedente
Permite al Lector validar la correcta recepción del paquete de Pregunta
3.1.2 Formato del Paquete de Respuesta (desde el Lector al Computador)
Formato del Paquete Estándar de Respuesta Inicio SOF
Longitud Del paquete
Dirección de nodo
Banderas de respuesta
Comando Datos Sumatoria BCC
1 byte 2 bytes 2 bytes 1 byte 1 byte 1-23 bytes 2 bytes
Agosto 2009 Lector DTR10 – Guía de Referencia
14
Descripción de los campos del Paquete de Respuesta
Campo Tamaño Valor Propósito
SOF (start of frame) 1 byte 02 hex. Define el inicio del paquete Longitud del Paquete 2 bytes Depende del
paquete Define la longitud de todo el paquete incluyendo el SOF
Dirección del nodo 2 bytes 0000 hex. 0000 hex. o Dirección del lector especifico en la red RS485.
Banderas del Comando de Respuesta
1 byte Varia con el comando
Especifica la acción realizada por el Lector
Comando 1 byte Varia con el comando
Especifica la acción realizada por el Lector
Datos 0 - xx bytes
Varia con el comando
Contiene los parámetros y datos del comando ya procesado
Sumatoria BCC 2 bytes 16 bits de LRC del paquete precedente
Permite al Computador validar la correcta recepción del paquete de Respuesta.
3.1.3 Banderas del Comando de Pregunta
Las Banderas del Comando en el paquete de pregunta controlan las acciones del Lector 3.1.4 Banderas del Comando de Respuesta
Las Banderas del Comando en el paquete de respuesta reportan las acciones del Lector. Los significados de los bits se definen abajo:
Bits 0-3 Reservado para uso futuro Bit 4 Bandera de error. Si esta bandera está en alto el comando falló
y la sección de datos del paquete de respuesta contiene el código de error (Ver el Apéndice B para la lista de códigos de error)
Bits 5 Comunicación con lectores en red. Si esta en bajo un solo lector. En alto para lectores direccionados (Ver Lectores en Red RS-485).
Bits 6-7 Reservado para uso futuro
3.1.5 Sumatoria BCC
Un bloque de chequeo de caracteres es usado para detectar el error y es adicionado al final del paquete. El BCC de 16 bits es calculado de todos los bytes del paquete incluyendo el SOF. El BCC consiste de dos partes: el LSB (Bit menos significativo) es un chequeo de redundancia longitudinal (LRC) y el HSB (Bit más significativo) es el complemento de uno del LRC. El LRC es calculado por una operación acumulativa de OR exclusivas de todos los bytes del paquete.
3.2 Descripción de los Comandos DTP10
Agosto 2009 Lector DTR10 – Guía de Referencia
15
3.2.1 Comandos de Control del Lector
Función del Comando Código del Comando Comando Iniciar el Cargador de la Memoria Flash D0 hex. Comando Enviar Datos a la Memoria Flash D8 hex. Comando Leer la Versión del Lector y Numero de Serie F0 hex. Comando Leer las Entradas F1 hex. Comando Escribir las Salidas F2 hex. Comando Portadora RF prendida/apagada F4 hex. Comando para asignar dirección de Nodo en Lector F5 hex. Comando Configurar Rata de Baudios FF hex.
En los comandos de Control del lector las banderas del comando de pregunta no se tienen en cuenta por lo tanto este byte de banderas será siempre 00 hex. en el Paquete de Pregunta. Comando Iniciar el Cargador de la Memoria Flash (D0 hex.)
Este comando es usado para inicializar y transferir el control al software cargador de la memoria Flash del Lector (Ver Apéndice A). Ejemplo Paquete de Pregunta 02 09 00 00 00 00 D0 DB 24 hex. Donde: 02 hex. Inicio SOF 09 hex. Byte menos significativo longitud la trama. 00 hex. Byte más significativo longitud la trama 00 hex. Byte menos significativo del nodo 00 hex. Byte más significativo del nodo 00 hex. Banderas del comando de pregunta D0 hex. Comando Iniciar cargador de la memoria Flash. DB hex. Byte menos significativo de la Sumatoria BCC 24 hex. Byte más significativo de la Sumatoria BCC El paquete de respuesta es similar al paquete de pregunta con la sección de datos conteniendo ‘00’ si la operación fue satisfactoria. Ejemplo Paquete de Respuesta 02 0A 00 00 00 00 D0 00 D8 27 hex. Encienden los LEDs, el cargador de memoria Flash se inicializa y toma el control.
Comando Enviar los Datos a la Memoria Flash (D8 hex.)
Este comando es usado para enviar los datos a la memoria Flash del Lector y actualizar su versión.
Comando Leer la Versión del Lector y Numero de Serie (F0 hex.)
Agosto 2009 Lector DTR10 – Guía de Referencia
16
Solicita el número de Versión del Lector y Numero de Serie. Ejemplo Obtener el número de Versión del Lector y Numero de Serie. Paquete de Pregunta 02 09 00 00 00 00 F0 FB 04 hex El paquete de respuesta es similar al paquete de pregunta con la sección de datos conteniendo el número de versión en 2 bytes con el LSB primero seguido de un byte sencillo que representa el tipo de Lector. Ejemplo Paquete de respuesta 02 10 00 00 00 00 F0 00 03 07 45 00 00 02 A1 5E hex El número de versión es 03.00 Tipo de Software Serie Numero 02000045 El tipo de Lector puede ser definido como sigue: Tipo 07 Indica que el Lector ha sido cargada satisfactoriamente con una versión de software. Tipo 00 Indica que del Lector no ha sido cargada con una versión de software, pero que tiene el software cargador con el cual se puede descargar una versión de software apropiada.
Comando Leer Entradas (F1 hex.)
Lee el estado de las entradas del Lector. Las banderas son ignoradas en este comando Ejemplo Leer el estado de las entradas del Lector Paquete de pregunta 02 09 00 00 00 00 F1 FA 05 hex El paquete de respuesta es similar al paquete de pregunta con la sección de datos conteniendo un byte que representa el estado de las entradas. El Bit 0 representa la entrada 1 y el Bit 1 representa la entrada 2, los otros bytes están reservados. Ejemplo Paquete de respuesta 02 0A 00 00 00 00 F1 03 FB 04 hex Bit 0. La entrada 1 está a nivel lógico 1 Bit 1. La entrada 2 está a nivel lógico 1
Comando Escribir Salidas (F2 hex.)
Escribe sobre las salidas del Lector. Hay cuatro salidas con niveles lógicos TTL, las salidas 1 y 2 son de libre utilización por el usuario mientras que la salida 3 corresponde al estado del LED verde y la salida 4 al Buzzer. La sección de datos contiene un byte de salida con la siguiente definición de bits: Byte de Control de Salidas Bit7 Bit6 Bit5 Bit4
Modo Bit3 Buzzer
Bit2 LEDG.
Bit1 Salida2
Bit0 Salida1
Agosto 2009 Lector DTR10 – Guía de Referencia
17
Selecciona estado Salida 1: Nivel lógico 0 \ 1 x* x x - - - - 0\1 Selecciona estado Salida 2: Nivel lógico 0 \ 1 x x x - - - 0\1 - Salida 3 (LED verde): pulso ON si función OK x x x 0 - 0 - - Salida 3 (LED verde): pulso ON 1 segundo x x x 0 - 1 - - Salida 3 (LED verde): continuamente ON x x x 1 - 0 - - Salida 3 (LED verde): continuamente OFF x x x 1 - 1 - - Salida 4 (Buzzer): opera Igual a LED verde x x x - 0 - - - Salida 4 (Buzzer): continuamente OFF x x x - 1 - - -
* x reservado para uso futuro.
No se deben cargar ninguna de las salidas con más de 20 mA, si se requiere más corriente es necesario utilizar un driver externo. _____________________________________________________________ Nota: Si se modifica el estado del LED Verde este perderá su función inicial por defecto (parpadear y pitar con la ejecución de comandos correctamente y salidas 1 y 2 a nivel lógico 0). Valor inicial byte de control salidas: 00000000b.
_____________________________________________________________ Ejemplo Prender el LED verde y el buzzer y poner en nivel alto las salidas 1 y 2 Paquete de pregunta 02 0A 00 00 00 00 F2 13 E9 16 hex. Donde el byte de control de salidas vale 13 hex. = 00010011b El paquete de respuesta es similar al paquete de pregunta con la sección de datos conteniendo ‘00’ hex. si la operación fue satisfactoria. Ejemplo Paquete de respuesta 02 0A 00 00 00 00 F2 00 FA 05 hex. Escritura satisfactoria
Comando Prender/Apagar la Portadora RF (F4 hex.)
Prende o apaga la portadora RF. La sección de datos contiene el byte FF hex. para prender la portadora o un 00 hex. para apagar la portadora. Ejemplo Prender la portadora Paquete de pregunta 02 0A 00 00 00 00 F4 FF 03 FC hex El paquete de respuesta es similar al paquete de pregunta con la sección de datos conteniendo 00 hex. para una operación satisfactoria. Ejemplo Paquete de respuesta 01 0A 00 00 00 00 F4 00 FC 03 hex. Operación satisfactoria
Agosto 2009 Lector DTR10 – Guía de Referencia
18
Comando para asignar la dirección de nodo al lector (F5 hex.) Los lectores DTR10-485 (con interfase RS485) se pueden conectar a la red después de configurárseles una dirección de red individual o dirección de nodo, el cual se asigna mediante el comando F5 hex. La dirección de red es un valor hexadecimal y permanece almacenada en la memoria EEPROM del lector.
Ejemplo Establecer la dirección de red 05 hex. Paquete de pregunta 02 0A 00 00 00 00 F5 05 FE 01 hex. Ejemplo Paquete de respuesta 02 0A 00 00 00 00 F5 00 FE 01 hex. Operación satisfactoria.
Después de asignada la dirección de red el lector responderá ante 2 situaciones: cuando se utiliza la dirección de nodo 0000 hex. o la dirección de nodo asignada al lector.
Ejemplo Ver la versión del lector con dirección de red 05 hex. Paquete de pregunta 02 0A 00 05 00 00 F5 05 FE 01 hex.
Se debe evitar usar la dirección de nodo 0000 hex. cuando hay varios lectores en red porque se genera colisión entre ellos, debido a que todos responden simultáneamente.
Comando Configurar Rata de Baudios (FF hex.)
Este comando es usado para cambiar la rata de baudios del Lector. La sección de datos contiene un byte con el siguiente código: 09 = 57600 baudios (valor por defecto) 08 = 38400 baudios 07 = 19200 baudios 06 = 9600 baudios Ejemplo Establecer una rata de baudios de 57600 Paquete de pregunta 02 0A 00 00 00 00 FF 09 FE 01 hex. Establecer una rata de baudios de 9600 Paquete de pregunta 02 0A 00 00 00 00 FF 06 F1 0E hex. El paquete de respuesta es similar al paquete de pregunta con la sección de datos conteniendo 00 hex. para una operación satisfactoria. Ejemplo Paquete de respuesta 02 0A 00 00 00 FF 00 F7 08 hex. Operación satisfactoria
Agosto 2009 Lector DTR10 – Guía de Referencia
19
Nota:
El cambio de este parámetro solo viene a ser efectivo después de un ciclo de restablecimiento de la potencia del Lector.
Lectores DTR10 en Red En red los lectores DTR10-485 están conectados a un computador mediante una interfase de comunicación serial basada en el estándar RS485. En este tipo de conexión el dispositivo que tiene el control es el maestro, en nuestro caso el computador, los lectores son las unidades de la red o unidades de carga o terminales y cada uno tiene una dirección única en la red que corresponde a la dirección del nodo. Todos los lectores se consideran esclavos, por lo cual solo responderá el lector al que se le pregunte mediante la selección de su dirección (red tipo “multi-drop”). En esta red solo uno de sus componentes habla a la vez y los demás escuchan, lo cual significa que solo se puede manejar una dirección simultáneamente (comunicación “half duplex”).
En este modo se pueden conectar hasta 32 lectores en paralelo a la red RS485 y es importante en los extremos de la red terminarla con cargas de 120 Ohmios (ver figura). Los lectores que no están en los extremos no necesitan ninguna carga. Se recomienda usar cable entorchado blindado de un calibre como minimo de 24 AWG.
3.2.2 Protocolo de Transmisión DTP10
El Lector DTR10 emplea el protocolo de transmisión DTP10 para la comunicación con el PC. El Formato de los datos de pregunta y respuesta varía de acuerdo al comando contenido en el protocolo estándar del Lector. Los códigos de los comandos se rigen por el estándar ISO / IEC 15693. Los comandos DTP10 aplicables al Lector DTR10 están definidos en la siguiente tabla.
3.2.2.1 Códigos de comandos DTP10
Función del Comando Código del Comando Inventario (Comando Obligatorio) 01 hex. Quedar en Silencio (Comando Obligatorio) 02 hex. Leer un Bloque 20 hex. Escribir un Bloque 21 hex. Asegurar un Bloque 22 hex. Leer Múltiples Bloques 23 hex. Escribir el AFI 27 hex. Asegurar el AFI 28 hex. Escribir el DSFID 29 hex. Asegurar el DSFID 2A hex. Ver el estado del seguro MultiBloques 2C hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
20
3.2.2.2 Formato del Paquete de Pregunta DTP10 (Del Computador hacia el Lector) El Paquete de Pregunta consiste en el byte de inicio de paquete, dos bytes de longitud del paquete, dos bytes de dirección del nodo, un byte de las banderas del comando, un byte de comando, los correspondientes bytes de datos y dos bytes de la Sumatoria BBC.
Estructura de Comandos/Datos de Pregunta
Formato del Paquete Estándar de Pregunta Inicio Longitud
del paquete Dirección de nodo
Banderas Pregunta
Comando DTP10
Datos de Pregunta DTP10
Sumatoria BCC
02 hex LSB MSB LSB MSB Banderas XX hex. Datos Byte1 Byte2 1byte 2 bytes 2 bytes 1 byte 1 byte n bytes 2 bytes
Campo Longitud Descripción Inicio 1 byte Define el inicio del paquete (02 hex.) Longitud del Paquete 2 bytes Define la longitud del paquete incluyendo la Sumatoria Dirección del nodo 2 bytes Define la dirección del nodo del Lector Banderas del Comando de Pregunta
1 byte Define como se ejecutará un comando
Comando DTP10 1 byte Define el comando que realizará el Lector Datos de Pregunta 0-n bytes Define los datos requeridos por el Lector para un comando Sumatoria BCC 2 bytes El byte 1 es una suma XOR de todos los elementos desde el
Inicio hasta el último byte. El byte 2 es calculado como (FF hex) XOR (byte 1)
____________________________________________________________ Nota: La capa física de la RF del Lector es definida como sigue: Del lector al Transponder: 10% - 30% (normalmente establecida en 20%) o 100% de modulación (establecida por software) - ASK. Modo de Codificación de Datos: 1 de 4 o 1 de 256 Del Transponder al Lector: FSK /Velocidad de datos alta _____________________________________________________________
Banderas del Comando de Pregunta DTP10
Las Banderas del Comando en el paquete de pregunta controlan las acciones del Lector. Los significados del los bits se definen abajo:
Bit 0 Tipo de Modulación
Cuando esta en un nivel alto la modulación es FSK. Cuando está en un nivel bajo la modulación es ASK.
Bit 1 Rata de datos Cuando esta en un nivel alto la rata de datos es alta y es baja cuando esta en un nivel bajo.
Bit 2 Modo de Codificación de Datos Es usado para establecer el Modo de Codificación de Datos. Cuando está en un nivel alto el Modo de Codificación de Datos se configura en 1 de 4. Cuando está en un nivel bajo el Lector establece el Modo de Codificación de Datos en 1 de 256.
Bit 3 Nivel de Modulación Es usado para establecer el Nivel de Modulación. Cuando esta a nivel alto el Lector es configurado para un Nivel de Modulación del 100%, cuando esta a nivel bajo el Lector operará a un Nivel de Modulación entre el 10% y 30% (20% el valor normal).
Agosto 2009 Lector DTR10 – Guía de Referencia
21
Bit 4 Dirección UID del transponder Es la bandera de dirección UID y si está en alto, el comando solo se realiza en el transponder cuya dirección UID coincide con la que tiene la sección de datos del Paquete
Bit 5,6 Reservado para uso futuro y debe ser “0” para compatibilidad Bit 7 Dirección de la trama
Como es un paquete de pregunta siempre debe estar en un nivel alto e indica que es desde el PC al Lector.
Banderas del Comando de Pregunta
Bit Descripción Valor = 0 Valor = 1 0 Tipo de Modulación ASK FSK 1 Rata de Datos Baja Alta 2 Modo de Codificación de datos 1 de 256 1 de 4 3 Nivel de Modulación 10%-30% 100% 4 Dirección UID del transponder Sin UID Con UID 5 Reservado Predefinido No aplica 6 Reservado Predefinido No aplica 7 Dirección de la trama No aplica Predefinido
El valor por defecto del Byte de Banderas del comando de pregunta es 8D hex. el cual corresponde a: - Tipo de modulación FSK
- Rata de datos Baja - Modo de codificación 1 de 4
- Nivel de modulación 100% - Dirección UID Sin UID - Dirección de la trama del PC al lector 3.2.2.3 Formato del Paquete de Respuesta DTP10 (Del Lector hacia el Computador)
Al igual que el Paquete de Pregunta, el Paquete de Respuesta consiste en el Inicio, longitud del paquete, dirección de nodo, banderas de respuesta, datos de respuesta y Sumatoria BCC. El Paquete de datos de Respuesta puede estar en uno de dos posibles formatos genéricos: uno para respuesta de Inventario y otro para las otras respuestas. _____________________________________________________________
Nota: Con la excepción del Paquete de Respuesta de Inventario, el formato de cada paquete de respuesta es el mismo.
_____________________________________________________________
Formato del Paquete Estándar de Respuesta Inicio Longitud
del paquete Dirección de nodo
Banderas Respuesta
Comando DTP10
Datos de Respuesta DTP10
Sumatoria BCC
02 hex LSB MSB LSB MSB Banderas XX hex. Código de error
Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte m bytes 2 bytes
Agosto 2009 Lector DTR10 – Guía de Referencia
22
Descripción del Paquete de Respuesta
Campo Longitud Descripción Inicio 1 byte Define el inicio del paquete (02 hex) Longitud del Paquete 2 bytes Define la longitud del paquete incluyendo la Sumatoria Dirección del nodo 2 bytes Define la dirección del nodo del Lector Banderas del Comando de Respuesta
1 byte Define la respuesta del Lector a la pregunta. Solo se usa el Bit 4 y define el estado de error. Un nivel alto indica que un error ha ocurrido.(Los otros bits se reservan para un uso futuro)
Comando DTP10 1 byte Define el comando que el Lector realizó Datos de Respuesta 0-m bytes Define los datos retornados por el Lector en respuesta a un
comando incluyendo el byte de código de error. Sumatoria BCC 2 bytes El Byte 1 es una suma XOR de todos los elementos desde el
Inicio hasta el último byte. El Byte 2 es calculado como (FF hex) XOR (byte 1)
Banderas del Comando de Respuesta DTP10 Las Banderas del Comando en el paquete de respuesta reportan las acciones del Lector y son las mismas que las banderas del comando de respuesta Estándar. Solo se utiliza el Bit 4 para reportar una falla del comando y en el primer byte de la sección de datos del paquete de respuesta encontramos el código de error. Byte de Código de error El primer byte de los Datos de Respuesta contiene el código de error. Un valor de 00 hex. en este byte indica que la operación fue satisfactoria. Los códigos se definen en el anexo B.
3.2.2.4 Comandos Obligatorios
Comando Inventario: Código del comando (01 hex.)
Formato del Paquete Estándar de Pregunta Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Inventario
Datos de Pregunta de inventario
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 01 hex. Datos Byte1 Byte2 1byte 2 bytes 2 bytes 1 byte 1 byte 1-n bytes 2 bytes
Formato de datos de Pregunta de Inventario Banderas de Inventario
AFI opcional
Longitud de Máscara
Valor de Máscara
1 byte 1 byte 1 bytes 0-7 bytes
Paquete de Respuesta de Inventario
Formato del Paquete Estándar de Respuesta Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Inventario
Datos de Respuesta de Inventario
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 01 hex. Datos Byte1 Byte2 1byte 2 bytes 2 bytes 1 byte 1 byte m bytes 2 bytes
Formato de datos de Respuesta de Inventario
Banderas de Datos válidos
Banderas de colisión
Respuesta de 80 bits para el comando de Inventario
Etc…
LSB | MSB LSB | MSB Banderas DSFID UID Etc.... 2 bytes 2 bytes 1 byte 1 bytes 8 bytes Etc....
Agosto 2009 Lector DTR10 – Guía de Referencia
23
Byte de Banderas de Inventario Bit 0-3 Reservado para uso futuro y debe ser “0” para compatibilidad Bit 4 AFI
Cuando está en un nivel alto el AFI está presente en el Paquete de pregunta y no está presente cuando está en un nivel bajo.
Bit 5 Número de Slots Cuando está en un nivel alto se asigna un slot y cuando está en un nivel bajo se asignan 16 slots.
Bit 6-7 Reservado para uso futuro y debe ser “0” para compatibilidad Banderas de Inventario
Bit Descripción Valor = 0 Valor = 1 0 Reservado Predefinido No aplica 1 Reservado Predefinido No aplica 2 Reservado Predefinido No aplica 3 Reservado Predefinido No aplica 4 AFI No presente Presente 5 Número de slots 16 slots 1 slot 6 Reservado Predefinido No aplica 7 Reservado Predefinido No aplica
Datos válidos & Banderas de colisión Banderas de Datos Válidos: Este campo de 16 bits corresponde a si se han recibido datos válidos en los 16 espacios de tiempo disponibles. Los bits 0-7 del LSB corresponden respectivamente a los espacios de tiempo 1 a 8, mientras que los bits 0-7 del MSB corresponden a los espacios de tiempo 9 a 16 respectivamente. Un bit en alto indica que un dato válido esta siendo recibido en ese espacio de tiempo particular. Banderas de Colisión: Este campo de 16 bits corresponde a si se han ocurrido colisiones en los 16 espacios de tiempo disponibles. Los bits 0-7 del LSB corresponden respectivamente a los espacios de tiempo 1 a 8, mientras que los bits 0-7 del MSB corresponden a los espacios de tiempo 9-16 respectivamente. Un bit en alto significa que una colisión ha sido detectada en ese espacio de tiempo en particular. _____________________________________________________________
Nota: Es posible emitir un comando de Inventario únicamente para un solo espacio de tiempo en lugar de 16. En este caso, la estructura del paquete anterior es aún válida. La bandera respectiva de datos válidos y de colisión está en el bit 0 del LSB de sus respectivo campo. A continuación de la emisión del comando de inventario para un único espacio de tiempo aparece una respuesta de un máximo de 80 bits. Si tanto la bandera de datos válidos como la de colisión están borradas esto indica que ningún transponder fue encontrado en ese espacio de tiempo en particular. Empezando con el espacio de tiempo 1 y aumentando hasta el 16, por cada espacio de tiempo donde un transponder haya sido leído satisfactoriamente (sin colisión), un bloque de 80 bits es agregado a la sección de datos del paquete. _____________________________________________________________
Agosto 2009 Lector DTR10 – Guía de Referencia
24
Ejemplo Ejecutar el comando Inventario Paquete de Pregunta AFI 02 0B 00 00 00 8D 01 00 00 85 7A hex. Banderas Ejemplo Banderas DSFID Paquete de Respuesta 02 17 00 00 00 00 01 01 00 00 00 00 00 31 91 F2 17 00 00 07 E0 B6 49 hex.
Banderas de Banderas de El UID del transponder es: Datos válidos Colisión E007000017F29131
1er espacio de sin colisión tiempo Comando Quedar en Silencio: Código del Comando (02 hex.)
Una vez recibido el comando Quedar en Silencio, el transponder entrará en modo de Silencio y no iniciará una respuesta. El comando Quedar en Silencio es siempre ejecutado en el modo direccionado.
Nota: No hay respuesta para el comando Quedar en Silencio.
Formato de Paquete Estándar de Pregunta
Inicio Longitud del paquete
Dirección de nodo
Banderas pregunta
Comando Quedar en Silencio
Datos de Pregunta Quedar en Silencio
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 01 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 8 bytes 2 bytes
Formato de datos de Pregunta Quedar en Silencio
UID LSB ---|---HSB
8 bytes
Agosto 2009 Lector DTR10 – Guía de Referencia
25
3.2.2.5 Comandos Opcionales Comando Leer un Bloque: Código del Comando (20 hex.)
Paquete de pregunta de Leer un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Leer un Bloque
Datos de Pregunta Leer un Bloque
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 20 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1-9 bytes 2 bytes
Formato de datos de Pregunta Leer un Bloque UID Número de Bloque
LSB ---|---HSB 0 – 3F hex. 8 bytes 1 byte
Paquete de respuesta de Leer un Bloque
Inicio Longitud del paquete
Dirección de nodo
Banderas respuesta
Comando Leer un Bloque
Datos de respuesta
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 20 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1-m bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta Código de error
1 byte
ó
Datos de respuesta cuando la bandera de error no está puesta Código de error No. de Bloque Datos del Bloque
00 hex. 0 – 3F hex LSB | --- | --- | HSB
1 byte 1 byte 4 bytes
Ejemplo Leer el bloque número 1 sin direccionamiento. Paquete de Pregunta 02 0A 00 00 00 8D 20 01 A4 5B hex. Ejemplo Paquete de Respuesta 02 0F 00 00 00 00 20 00 01 78 56 34 12 24 DB hex.
Lectura El dato es: Satisfactoria 12345678 Número de Bloque
Agosto 2009 Lector DTR10 – Guía de Referencia
26
Comando Escribir un Bloque: Código del Comando (21 hex.)
Paquete de pregunta de Escribir un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Escribir un Bloque
Datos de Pregunta Escribir un Bloque
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 21 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1-9 bytes 2 bytes
Formato de datos de Pregunta Escribir un Bloque
Paquete de respuesta de Escribir un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Escribir un Bloque
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas 21 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Escribir en el bloque número 1 el dato 12345678 sin direccionamiento Paquete de Pregunta 02 0E 00 00 00 8D 21 01 78 56 34 12 A9 56 hex. Ejemplo Paquete de Respuesta 02 0A 00 00 00 00 21 00 29 D6 hex.
Escritura Satisfactoria
UID No. de Bloque Datos del Bloque LSB ---|---HSB 0 – 3F hex. LSB | --- | --- | HSB
8 bytes 1 byte 4 bytes
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
27
Comando Asegurar un Bloque: Código del Comando (22 hex.)
Paquete de pregunta de Escribir un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Asegurar un Bloque
Datos de Pregunta Asegurar un
Bloque
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 22 hex. Datos Byte1 Byte2
1 byte 2 bytes 2 bytes 1 byte 1 byte 1-9 bytes 2 bytes
Formato de datos de Pregunta Asegurar un Bloque UID No. de Bloque
LSB ---|---HSB 0 – 3F hex. 8 bytes 1 byte
Paquete de respuesta de Asegurar un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Asegurar un
Bloque
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas 22 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Asegurar el bloque número del tag con UID E0 07 81 BC C1 93 35 54 Paquete de Pregunta: 02 12 00 00 00 9D 22 54 35 93 C1 BC 81 07 E0 01 47 B8 hex. Ejemplo Paquete de Respuesta: 02 0A 00 00 00 00 22 00 2A D5 hex.
Asegurar un Bloque Satisfactorio
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
28
Comando Leer Múltiples Bloques: Código del Comando (23 hex.)
Paquete de pregunta de Leer Múltiples Bloques Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Leer M.B.
Datos de Pregunta Leer Múltiples B.
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 23 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 2-10 bytes 2 bytes
Formato de datos de pregunta Leer Múltiples Bloques
UID 1er Bloque No. de Bloques LSB ---|---HSB 0-3F hex. 1-3F hex.
8 bytes 1 byte 1 byte
Paquete de respuesta de Leer Múltiples Bloques Inicio Longitud
del paquete Dirección de nodo
Banderas Respuesta
Comando Leer Múltiples Bloques
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas 23 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1-m bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Leer múltiples Bloques de los Bloques 1 y 2 sin direccionamiento Paquete de Pregunta: 02 0B 00 00 00 8D 23 01 02 A4 5B hex. Ejemplo Paquete de Respuesta: 02 14 00 00 00 00 23 00 01 02 78 56 34 12 21 43 65 87 BE 41 hex.
Lectura Multibloque No. Bloques Dato del Bloque 2: 87654321 Satisfactoria
1er Bloque Dato del Bloque 1: 12345678
Código de error 1 byte
Código de error 1er Bloque No. de Bloques Datos 00 hex. 0-3F hex. 1-3F hex. LSB | --- | --- | HSB 1 byte 1 byte 1 byte 4 bytes
Se repite lo necesario
Agosto 2009 Lector DTR10 – Guía de Referencia
29
Comando Escribir el AFI: Código del Comando (27 hex.)
Formato del Paquete Estándar de Pregunta Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Escribir AFI
Datos de Pregunta Escribir AFI
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 27 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 2-10 bytes 2 bytes
Formato de datos de pregunta Escribir el AFI Banderas UID AFI
LSB ---|---HSB XX hex. 1 byte 8 bytes 1 byte
Formato del Paquete Estándar de Respuesta Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Escribir
AFI
Datos de Respuesta Escribir AFI
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 27 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
30
Comando Asegurar el AFI: Código del Comando (28 hex.)
Formato del Paquete Estándar de Pregunta Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Asegurar
AFI
Datos de Pregunta Asegurar AFI
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 28 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 2-10 bytes 2 bytes
Formato de datos de pregunta Asegurar el AFI Banderas UID AFI
LSB ---|---HSB XX hex. 1 byte 8 bytes 1 byte
Formato del Paquete Estándar de Respuesta Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Asegurar
AFI
Datos de Respuesta Asegurar AFI
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 28 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
31
Comando Escribir el DSFID: Código del Comando (29 hex.)
Formato del Paquete Estándar de Pregunta Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Escribir DSFID
Datos de Pregunta Escribir DSFID
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 29 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 2-10 bytes 2 bytes
Formato de datos de pregunta Escribir el DSFID Banderas UID DSFID
LSB ---|---HSB XX hex. 1 byte 8 bytes 1 byte
Formato del Paquete Estándar de Respuesta Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Escribir DSFID
Datos de Respuesta Escribir DSFID
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 29 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
32
Comando Asegurar el DSFID: Código del Comando (2A hex.)
Formato del Paquete Estándar de Pregunta Inicio Longitud
del paquete Dirección de nodo
Banderas Pregunta
Comando Asegurar DSFID
Datos de Pregunta Asegurar DSFID
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 2A hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 1-9 bytes 2 bytes
Formato de datos de pregunta Asegurar el DSFID Banderas UID
LSB ---|---HSB 1 byte 8 bytes
Formato del Paquete Estándar de Respuesta Inicio Longitud
del paquete Dirección de nodo
Banderas Respuesta
Comando Asegurar DSFID
Datos de Respuesta Asegurar DSFID
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 2A hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
33
Obtener el Estado de Seguridad de Múltiples bloques: Código del Comando (2C hex.) Paquete de pregunta de Obtener el Estado de Seguridad de Múltiples Bloques
Inicio Longitud del paquete
Dirección de nodo
Banderas pregunta
Comando Obtener
Datos de Pregunta Obtener Estado Seg.
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas 2C hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 2-10 bytes 2 bytes
Formato de datos de Pregunta Estado de Seguridad
UID 1er Bloque No. de Bloques LSB ---|---HSB 0-3F hex. 1-3F hex.
8 bytes 1 byte 1 byte
Paquete de respuesta de Obtener estado de seguridad de Múltiples Bloques Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Estado de seguridad
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas 2C hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1-m bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Obtener el estado de seguridad de los bloques 1 y 2 sin direccionamiento Paquete de Pregunta: 02 0B 00 00 00 8D 2C 01 02 AB 54 hex. Bloque 1 sin seguro Ejemplo Paquete de Respuesta: 02 0E 00 00 00 00 2C 00 01 02 00 01 23 DC hex.
Bloque 2 con seguro
Obtener Seguro No. de Bloques Multibloque Satisfactorio 1er Bloque
Código de error 1 byte
Código de error
1er Bloque No. de Bloques
Estado de seguridad del Bloque
00 hex. 0-3F hex. 1-3F hex. 00 = Sin seguro 1 byte 1 byte 1 byte 1 byte
Se repite lo necesario
Agosto 2009 Lector DTR10 – Guía de Referencia
34
Comando Escribir un Bloque Protegido: Código del Comando (A5 hex.) Nota: Solo aplica para TAGs HF-I Pro
Paquete de pregunta de Escribir un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Escribir PRO
Datos de Pregunta Escribir un Bloque
Protegido
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas A5 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 17 bytes 2 bytes
Formato de datos de Pregunta Escribir un Bloque Pro
Paquete de respuesta de Escribir un Bloque Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Escribir un Bloque
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas A5 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Escribir en el bloque 1 el dato 12345678 con UID E0 07 C4 48 13 C9 20 6C hex y Password 89 AB CD EF hex. Paquete de Pregunta 02 1A 00 00 00 9D A5 6C 20 C9 13 48 C4 07 E0 07 C4 48 EF CD AB 89 01 78 56 34 12 D4 2B hex. Ejemplo Paquete de Respuesta 02 0A 00 00 00 00 A5 00 AD 52 hex.
Escritura Satisfactoria
UID PassWord No. de Bloque Datos del Bloque LSB ---|---HSB LSB ---|---HSB 0 – 07 hex. LSB | --- | --- | HSB
8 bytes 4 bytes 1 byte 4 bytes
Código de error 1 byte
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
35
Características de los TAGs protegidos con PassWord
- Son fabricados por Texas Instruments y tienen referencia TAGs HF-I-PRO - Tienen 8 bloques de 4 bytes cada uno para escritura, o sea, 32 bytes. - El PassWord se escribe en el bloque numero 11 (0B hex.) y consta de 4 bytes. - Después de escribir el PassWord se debe asegurar el bloque para que no se pueda leer. Esta
información se debe guardar en un lugar seguro para usarla luego cuando deseemos reescribir en posiciones aseguradas. El password es inmodificable después de haberse asegurado el bloque correspondiente (0B hex.).
- Todos los 8 bloques para escritura, mientras no estén asegurados, se pueden modificar indistintamente con el comando de escritura de bloque.
- Los bloques que deseamos no se puedan modificar por cualquier persona los aseguramos con el comando 22 hex. Cuando han sido asegurados solo se pueden modificar con el comando de escritura en bloque protegido, para lo cual se requiere escribir el password correspondiente usando el comando A5 hex.
Estos TAGs permiten guardar información en forma segura para aplicaciones que incluyen medios prepago, la cual se carga inicialmente con un valor determinado de creditos, los cuales se van descontando a medida que se vayan utilizando.
Agosto 2009 Lector DTR10 – Guía de Referencia
36
Capítulo 4
Lector en configuración de Control de acceso
TEMA PÁGINA
4.1 Descripción de la configuración de Control de acceso...... 37
4.2 Salidas de la información serial.......………………............ 38 4.3 Comandos para el modo Control de acceso autónomo....... 42
Agosto 2009 Lector DTR10 – Guía de Referencia
37
4.1 Descripción de la configuración como Control de acceso
Figura 11. Configuración típica del lector en el modo de Control de Acceso Autónomo. El lector DTR10 se puede utilizar en aplicaciones de control de acceso en modo Autónomo, (independiente o “Stand Alone”) utilizando las señales generadas en sus pines SALIDA 1 y SALIDA 2 para controlar relevos externos. Las salidas son también habilitadas al poner a tierra los pines ENTRADA 1 y/o ENTRADA 2 respectivamente. Tiene otros dos pines WGDH o DATO y WGDL o CLK utilizados como salida serial adicional que se programan para enviar información en formato Wiegand de 26 o 34 bits del Número de Identificación del Transponder (UID), o para enviar un número de dos cifras denominado Valor Asignado (VAS), el cual ha sido previamente programado conjuntamente con el UID dentro de la memoria EEPROM del Lector. El lector puede almacenar hasta 80 números UID los cuales denominamos Usuarios y a cada uno se le asigna un valor (VAS) de 2 dígitos distinto de cero.. El lector en el modo de Control de Acceso Autónomo efectúa lecturas cada 400 milisegundos y si encuentra un transponder lee su UID forma un número con los 4 LSB de éste y los compara con los que tiene almacenados internamente. En caso de coincidir con uno de ellos hace parpadear el Led Verde, emite un pitido y las dos salidas SALIDA 1 y SALIDA 2 pasan de un nivel lógico 0 a un nivel lógico 1 durante el tiempo programado en el byte de tiempo y puede ser entre 0 y 63 segundos. En el caso contrario el LED Verde parpadea dos veces, se emiten dos pitidos y las salidas SALIDA 1
Agosto 2009 Lector DTR10 – Guía de Referencia
38
y SALIDA 2 permanecen en nivel lógico 0. Un cambio lógico de 1 a 0 de la ENTRADA 1 mediante el pulsador SW1, o en la ENTRADA 2 mediante el pulsador SW2, tienen el mismo efecto que la lectura de un UID válido, pero solo afecta la salida correspondiente SALIDA 1 o SALIDA 2. Con el fin de poder monitorear el funcionamiento del sistema de Control de acceso y almacenar los eventos en una base de datos, el DTR10 envía a través del puerto RS232 y/o de la salida WIEGAND (de 26 ó 34 bits), los números UID leídos en tiempo real.
4.2 Salidas de la información Serial
Salida Serial RS232 La salida serial RS232 es el puerto que conecta el Lector y el computador. Cuando el Lector esta trabajando en el modo de Control de Acceso autónomo tienen las siguientes opciones para el envió de los eventos: 1. Salida con trama en formato protocolo DTP10 (salida en Hexadecimal)
Paquete de respuesta salida serial RS232 protocolo DTP10
Inicio Longitud del paquete
Dirección de nodo
Banderas Respuesta
Comando UID + Datos
Código Error
UID
VAS
PIN
Datos Bloques
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C0 hex. Dato Datos Dato Dato Datos LSB MSB
1 byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 8 bytes 1 byte 1 byte 4*Blq. 2 bytes
Ejemplo Respuesta con UID, VAS, PIN y lectura de 4 bloques (16 bytes) 02 2400 0000 00 C0 00 4C22BB01000007E0 04 00 1020304053474647434B4D4AD14A424F 1AE5 hex. A B C D E F G H I J K Donde: A = Inicio DTP10: 02hex B = Cantidad de Bytes: 24hex = 37 C = Dirección de Nodo: 0000hex D = Banderas respuesta: 00hex E = Comando respuesta C0hex F = Código Error: 00hex G = UID: E0 07 00 00 01 BB 22 4Chex H = VAS: 04hex I = PIN: 00hex J = Datos Contenidos en los 4 bloques: 1020304053474647434B4D4AD14A424Fhex K = BCC: 1AE5hex L = BBC de la respuesta : 1AE5
Ejemplo Paquete de Salida: 02 20 00 00 00 01 C0 00 2F 91 F2 17 01 00 01 02 03 04 ...... 89 76 hex Usuario conocido 4 LSB del UID VAS PIN Datos de Bloques BCC
2. Salida en formato ASCII Terminal ANSI Interfase.
Agosto 2009 Lector DTR10 – Guía de Referencia
39
Ejemplo Paquete de Salida: <LF> C0 2F 91 F2 17 01 00 01 02 03 04 .... 24 DB <CR> <LF> 4 LSB del UID VAS PIN Datos de Bloques BCC Donde: <LF> : Line Feed = 0D hex. <CR> : Carriage Return = 0A hex.
Opciones de la Salida Serial Adicional
Además del puerto serial RS232 el Lector tiene una segunda salida serial que puede ser utilizada para la lectura de los 3 o 4 bytes menos significativos del UID en protocolo Wiegand, permitiendo compatibilidad con unidades de estas características. También se puede leer el byte del valor asignado VAS correspondiente al transponder detectado, el cual es muy útil en otras aplicaciones donde cada transponder tiene asociado un valor que puede ser cualquier valor hexadecimal de 1 byte distinto de 0 (entre 0hex y FFhex).
Protocolo Wiegand El protocolo de salida Wiegand en el modo de 26 bits esta conformado por el primer bit que es de paridad par para la parte inicial (bits b0 a b11) y el ultimo bit que es de paridad impar para la parte final de la información (bits b12 a bit23) Ejemplo: Para el usuario con UID 11 22 33 44 hex. Se tiene la siguiente secuencia: P. Par ( b0 .......... b11 ) ( b12 ............ b23 ) P. Impar P. Par ( 1 1 2 2 3 3 ) P. Impar 1 0001 0001 0010 0010 0011 0011 0 Para el modo de 34 bits se sigue el mismo procedimiento, con 16 bits en la parte inicial (bits b0 a b15) y 16 bits en la parte final (bits b16 a b31) mas los dos bits de paridad. En la figura 12. observamos el formato de salida para el protocolo Wiegand a través de los pines J4-6 o WGDH para dato alto (Data High) y J4-7 o WGDL para dato bajo (Data Low), además el pin J4-9 corresponde a tierra (GND) para referencia de las salidas.
Figura 12. Diagrama de tiempos para el protocolo Wiegand.
Agosto 2009 Lector DTR10 – Guía de Referencia
40
Salida Serial binaria del Valor Asignado VAS. Cuando se activa un nuevo transponder, se almacena su numero de identificación UID y se incluyen dos bytes adicionales que corresponden al valor asignado VAS y al PIN que es para uso futuro. El usuario asigna el valor VAS que quiera, de acuerdo a sus necesidades. El número asignado puede tener cualquier valor hexadecimal de 2 dígitos y nos permite utilizar el lector para muchas aplicaciones donde después de leer y verificar el transponder el lector nos genera este número como representación del transponder. Este Valor Asignado se puede leer en un Byte transmitido en forma serial binaria. Los 4 primeros bits corresponden al numero menos significativo y los 4 últimos corresponden al mas significativo. El numero puede ser almacenado en un registro de desplazamiento externo para ser visualizado o procesado de acuerdo con nuestras necesidades. La información serial es enviada a través de dos pines: salida de información DAT pin J4-6 y una salida de reloj CLK pin J4-7. El orden de transmisión empieza con el bit menos significativo. Este byte se transmite dos veces con una separación de 30 microsegundos, pudiéndose utilizar la segunda transmisión como verificación de la primera. En la figura 13 observamos la transmisión del numero 59 a través del pin DAT y su correspondiente señal de reloj CLK.
Figura13.Transmisión serial del VAS = 59 en un solo Byte.
Figura14. Transmisión serial del byte dos veces para confirmar el valor.
Agosto 2009 Lector DTR10 – Guía de Referencia
41
Salida Serial a Display de 7 Segmentos del Valor Asignado VAS.
Figura15. Circuito Visualizador Serial del VAS en Display de 7 Segmentos.
El Valor Asignado (VAS) puede ser observado directamente en dos visualizadores de 7 segmentos utilizando el circuito de la figura 15. Esta opción es seleccionada con la Salida Serial Adicional en modo Display 7 Segmentos. Los dos números son decodificados y transmitidos serialmente a los registros, donde son almacenados y mostrados en los segmentos de los display conectados a sus salidas.
Agosto 2009 Lector DTR10 – Guía de Referencia
42
4.3 Comandos para el modo Control de acceso autónomo
Función del Comando Código del Comando Activar / Desactivar Control de acceso C0 hex. Agregar un usuario C1 hex. Borrar un usuario C2 hex. Buscar un usuario C3 hex. Leer Listado de usuarios C4 hex.
Comando Activar / Desactivar modo Control de acceso autónomo: Código del Comando (C0 hex.)
El Lector DTR10 responde normalmente a los comandos del protocolo DTP10 que recibe a través del puerto serial incluyendo los cinco comandos para el modo de Control de acceso autónomo (esclavo). Una vez el lector empieza a trabajar en el modo autónomo no reconoce ninguno de estos comando, excepto el comando Activar / Desactivar el control de acceso (C0 hex. ) durante los primeros 15 segundos después de haber sido reestablecida la energía del Lector, el cual puede sacarlo al modo normal o puede modificar las opciones que tiene previamente programadas
Paquete de pregunta Activar / Desactivar Control de acceso
Inicio Longitud del paquete
Dirección de nodo
Bandera pregunta
Comando Control de acceso
Datos de Pregunta Activar-Desactivar Control de acceso
Tiempo Activación Salidas
Sumatoria BCC
02 hex. LSB MSB LSB MSB 00 hex. C0 hex. Datos 0 a FF hex. LSB MSB 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 1 byte 2 bytes
Byte de Banderas Control de acceso
1 byte
Paquete de respuesta Activar / Desactivar Control de acceso Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Control de acceso
Datos de Respuesta Activar / Desactivar Control de acceso
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C0 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
Código de error 1 byte
Datos de respuesta cuando la bandera de error no está puesta
Byte de Banderas del modo Control de acceso
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
43
La configuración del Lector en el modo de Control de acceso es determinada por el Byte de Banderas, cada bit habilita una opción diferente, las cuales resumimos en la table 3.
Byte de Banderas Control de acceso Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
Lector en modo Normal (esclavo) x* x -** - 0 - - - Salida Serial Adicional deshabilitada x x - - - - 0 0 Salida Serial Adicional modo Binario x x - - - - 0 1 Salida Serial Adicional a Display 7 Segmentos x x - - - - 1 0 Salida Serial Adicional modo Wiegand 26 bits x x - - - - 1 1 Salida Serial RS232 protocolo DTP10 x x - - - 0 - - Salida Serial RS232 protocolo ASCII x x - - - 1 - - No lea bloques x x 0 0 - - - - Lea 4 bloques: 16 bytes x x 0 1 - - - - Lea 8 bloques: 32 bytes x x 1 0 - - - - Lea 16 bloques: 64 bytes x x 1 1 - - - - Lector como Control de acceso autónomo x x - - 1 - - -
* x reservado para uso futuro. ** - valores programables de acuerdo con las otras opciones de la tabla. Tabla 3. Opciones del byte de modo para comando C0 hex. Las Banderas del Comando en el paquete de pregunta determinan la configuración del Lector. Los significados del los bits se definen abajo:
Bit 0 – 1: Opciones de la Salida Serial Adicional:
00: Deshabilita la salida serial adicional 01: Selecciona salida serial binaria de un byte con el valor asignado VAS 10: Selecciona salida serial del valor asignado, decodificado para ser visualizado en display de 7 segmentos. 11: Selecciona salida serial en formato Wiegand de 26 bits conteniendo los 3 bytes menos significativos del UID.
Bit 2: Formato de salida del puerto RS232
0: Utiliza el formato del protocolo DTP10 para mostrar los 4 bytes menos significativos del transponder leído y el VAS. 1: Utiliza el formato del protocolo ASCII para mostrar los 4 bytes menos significativos del transponder leído y el VAS.
Bit 3 Modo de Funcionamiento
0: Lector en Modo Normal o Esclavo: Responde a los comandos recibidos a través del puerto serial RS232 1: Lector en Modo Control de Acceso Autónomo: Hace lecturas continuamente del UID de los transponderes y suministra esta información de acuerdo con las opciones seleccionadas en los bits 0, 1, 2, 4 y 5.
Bit 4 -5: Opciones de lectura bloques en TAG detectado: 00: No lee ningún bloque
01: Lee los 4 primeros bloques, o sea, 16 bytes 10: Lee los 8 primeros bloques, o sea, 32 bytes 11: Lee los 16 primeros bloques, o sea, 64 bytes.
Bit 6 - 7: No utilizados. Reservados para futuro uso.
Agosto 2009 Lector DTR10 – Guía de Referencia
44
Nota:
Para desactivar el Lector del modo de control de acceso autónomo se debe aplicar el comando C0 hex. a través del puerto serial con el bit 4 = 0 del byte de banderas, antes de 15 segundos después de haber sido energizado. Ejemplo 1 Activar el Lector en modo de Control de acceso autónomo con el envió de eventos por la salida serial adicional Wiegand de 26 bit y la salida serial RS232 con formato ASCII. Temporizar salidas para 2 segundos Paquete de Pregunta: 02 0A 00 00 00 00 C0 0E 02 C6 39 hex. Byte de banderas = xx001110b Tiempo de salidas en segundos
El paquete de respuesta es similar al paquete de pregunta con un byte con el código de error. Paquete de Respuesta: 02 0A 00 00 00 00 C0 00 C8 37 hex El comando es aceptado y el Lector empieza a trabajar en el modo de Control de acceso autónomo. Ejemplo 2 Activar el Lector en modo de Control de acceso autónomo con el envió de eventos por la salida serial adicional en formato binario y la salida serial RS232 con formato ASCII. Además leer los primeros 8 bloques del transponder y programar las salidas activas durante 30 segundos. Paquete de Pregunta: 02 0A 00 00 00 00 C0 2D 1E C6 39 hex.
Byte de banderas = xx101101b Salidas activas 30 segundos
El paquete de respuesta es similar al paquete de pregunta con un byte con el código de error. Paquete de Respuesta: 02 0A 00 00 00 00 C0 00 C8 37 hex El comando es aceptado y el Lector empieza a trabajar en el modo de Control de acceso autónomo y lee simultáneamente 8 bloques, o sea, 32 bytes.
Agosto 2009 Lector DTR10 – Guía de Referencia
45
Ejemplo 3 Deshabilitar el modo de Control de acceso autónomo. Paquete de Pregunta: 02 0A 00 00 00 00 C0 00 C8 37 hex Después de recibir este comando el Lector regresa Al modo normal y responde a todos los comandos del protocolo DTP10. El comando solo tiene efecto durante los primeros 15 segundos después de haber sido energizado el lector. Paquete de respuesta: 02 0A 00 00 00 00 C0 00 C8 37 hex Comando aceptado.
Byte de tiempo activación salidas Cuando un usuario activo es detectado, Las salidas SALIDA1 y SALIDA2 conmutaran al nivel alto durante un periodo programable de acuerdo al valor de este byte. Los valores pueden ser entre 0 y 255 segundos.
Agosto 2009 Lector DTR10 – Guía de Referencia
46
Comando Agregar un usuario: Código del Comando (C1 hex.) Escribe los 4 bytes menos significativos del UID de un nuevo usuario, el VAS y el PIN en la memoria EEPROM del Lector.
Paquete de pregunta de Agregar un usuario
Inicio Longitud del paquete
Dirección de nodo
Banderas pregunta
Comando Agregar un usuario
Datos de Pregunta Agregar un usuario
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C1 hex. Datos Byte1 Byte2
1byte 2 bytes 2 bytes 1 byte 1 byte 6 bytes 2 bytes
Formato de datos de pregunta Agregar un usuario 4 LSB del UID VAS PIN LSB ---|---HSB XX hex. XX hex.
4 bytes 1 bytes 1 byte
Paquete de respuesta de Agregar un usuario Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Agregar un usuario
Datos de respuesta
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C1 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 2 bytes
Datos de respuesta cuando la bandera de error esta puesta Código de error
1 byte ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Agregar un usuario con UID E00700000188F1BD hex. con VAS 01 hex. PIN 00 hex. Paquete de Pregunta: 02 0F 00 00 00 00 C1 BD F1 88 01 01 00 08 F7 hex
PIN VAS 4 bytes LSB del UID Ejemplo Paquete de Respuesta: 02 0A 00 00 00 00 C1 00 C9 36 hex.
Escritura Satisfactoria
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
47
Comando Borrar un usuario: Código del Comando (C2 hex.)
Paquete de pregunta de Borrar un usuario Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Borrar un usuario
Datos de Pregunta Borrar un usuario
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C2 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 4 bytes 2 bytes Formato de datos de Pregunta Borrar un usuario
4 LSB del UID LSB ---|---HSB
4 bytes
Paquete de respuesta de Borrar un usuario Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Borrar usuario
Datos de respuesta
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C2 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 2 bytes
Datos de respuesta cuando la bandera de error esta puesta Código de error
1 byte ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Borrar el usuario con UID E00700000188F1BD hex. Paquete de Pregunta: 02 0D 00 00 00 00 C2 BD F1 88 01 08 F7 hex.
4 LSB del UID
Ejemplo Paquete de Respuesta: 02 0A 00 00 00 00 C2 00 CA 35 hex.
Usuario borrado Satisfactoriamente
Código de error 00 hex.
Agosto 2009 Lector DTR10 – Guía de Referencia
48
Comando Buscar un usuario: Código del Comando (C3 hex.)
Buscar un usuario en la memoria EEPROM del Lector.
Paquete de pregunta de Buscar un usuario Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando Buscar
un usuario
Datos de Pregunta Buscar un usuario
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C3 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 4 bytes 2 bytes
Formato de datos de Pregunta Verificar un usuario
4 LSB del UID LSB ---|---HSB
4 bytes
Paquete de respuesta de Buscar un usuario Inicio Longitud
del paquete Dirección de nodo
Banderas respuesta
Comando Buscar usuario
Datos de respuesta
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C3 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 2 bytes
Datos de respuesta cuando la bandera de error esta puesta Código de error
1 byte ó
Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Buscar el usuario con UID E0070000017583DC hex. Paquete de Pregunta: 02 0D 00 00 00 00 C3 DC 83 75 01 E7 18 hex.
4 LSB del UID
Ejemplo Paquete de Respuesta: 02 0A 00 00 00 00 C3 00 CB 34 hex.
Usuario encontrado
Código de error 00 hex
Agosto 2009 Lector DTR10 – Guía de Referencia
49
Comando Leer listado de Usuarios: Código del Comando (C4 hex.) Permite leer hasta 20 usuarios almacenados en la memoria EEPROM del Lector.
Paquete de pregunta de Leer listado de usuarios
Inicio Longitud Del paquete
Dirección de nodo
Banderas pregunta
Comando Leer Lista usuarios
Datos de Pregunta Leer listado de
usuarios
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C4 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 2 bytes 2 bytes Formato de datos de Pregunta Leer listado de usuarios
Posición Número de usuarios 0 – 45 hex. 1 – 46 hex. 1 byte 1 byte
Paquete de respuesta de Leer listado de usuarios
Inicio Longitud del paquete
Dirección de nodo
Banderas respuesta
Comando Leer usuarios
Datos de respuesta
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas C4 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 - 5 * n bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta Código de error
1 byte ó
Datos de respuesta cuando la bandera de error no está puesta
Usuario 1 Usuario 2 ... Usuario n 4 LSB de UID 1 VAS 1 4 LSB de UID 2 VAS 2 ... 4 LSB de UID n VAS n
5 bytes 5 bytes ... 5 bytes Ejemplo Obtener el Listado de 2 usuarios desde el número 20 (14 hex.) Paquete de Pregunta: 02 0B 00 00 00 00 C4 14 02 DB 24 hex.
Posición inicial No. de usuarios Ejemplo Paquete de Respuesta: 02 14 00 00 00 00 C4 00 BD F1 88 01 01 DC 83 75 01 15 28 D7 hex. VAS 2 UID 2: xx xx xx xx 017583DC
UID 1: xx xx xx xx 0188F1BD VAS 1
Agosto 2009 Lector DTR10 – Guía de Referencia
50
Capítulo 5
Otros Comandos
TEMA PÁGINA
5.1 Descripción ........................................................................ 51
5.2 Comando Leer UID + Múltiples Bloques ......……............ 52 5.3 Comando Escribir Múltiples Bloques ................................ 53
Agosto 2009 Lector DTR10 – Guía de Referencia
51
5.1 Descripción Para facilitar y agilizar el manejo de información entre el Lector y el Transponder hemos implementado dos comandos, los cuales son muy utilizados en cualquier aplicación: - Leer UID y leer múltiples bloques nos permite encontrar el UID del transponder y a la
vez conocer la información contenida en varios bloque, pudiéndose leer hasta 16 bloques, o sea, 64 bytes de información.
- Escribir múltiples bloques nos permite escribir en el transponder hasta 8 bloques, o sea, hasta 32 bytes de información, agilizándonos notablemente esta tarea.
Agosto 2009 Lector DTR10 – Guía de Referencia
52
Comando Leer UID + Múltiples Bloques: Código del Comando (A9 hex.)
Paquete de pregunta de Leer UID + Múltiples Bloques Inicio Longitud
del paquete Dirección de nodo
Banderas pregunta
Comando UID + MB
Datos de Pregunta Leer Múltiples B.
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas A9 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 2 bytes 2 bytes
Formato de datos de pregunta Leer Múltiples Bloques
Bandera de AFI
AFI opcional
1er Bloque No. de Bloques
0000X000b Dato 0-3F hex. 1 -10 hex. 1 byte 1 byte 1 byte 1 byte
Paquete de respuesta de Leer UID + Múltiples Bloques Inicio Longitud
del paquete Dirección de nodo
Banderas Respuesta
Comando UID + Múltiples Bloques
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas A9 hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1-m bytes 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Leer UID + Múltiples Bloques con AFI 05hex, de los Bloques 4 y 5 Paquete de Pregunta: 02 0D 00 00 00 8D A9 10 05 04 02 AE 51 hex.
Ejemplo Paquete de Respuesta: 02 1B 00 00 00 00 A9 00 00 31 91 F2 17 00 00 07 E0 78 56 34 12 21 43 65 87 BE 41 hex.
Lectura UID + Bloques DSFID UID Dato del Bloque 2: 87654321 Satisfactoria Dato del Bloque 1: 12345678 Nota: este comando se ejecuta sin direccionamiento y tomando 1 slot, independientemente de la configuración ISO previamente definida de estas dos banderas. Comando Escribir Múltiples Bloques: Código del Comando (AA hex.)
Código de error 1 byte
Código de error UID Datos 00 hex. LSB | --- | HSB LSB | --- | --- | HSB 1 byte 8 byte 4 bytes
Se repite lo necesario
Agosto 2009 Lector DTR10 – Guía de Referencia
53
Paquete de pregunta de Escribir Múltiples Bloques
Inicio Longitud del paquete
Dirección de nodo
Banderas pregunta
Comando Escr. M.B.
Datos de Pregunta Escribir Mult. Bloq.
Sumatoria BCC
02 hex. LSB MSB LSB MSB Banderas AA hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 6 - 42 bytes 2 bytes
Formato de datos de pregunta Escribir Múltiples Bloques
UID Opcional
1er Bloque
No. de Bloques N
Datos Bloques
LSB --|--HSB 0-3F hex. 1-8 hex. 4*N 8 bytes 1 byte 1 byte 4 - 32 byte
Paquete de respuesta de Escribir Múltiples Bloques Inicio Longitud
del paquete Dirección de nodo
Banderas Respuesta
Comando Escribir Múltiples Bloques
Datos de respuesta
Sumatoria BBC
02 hex. LSB MSB LSB MSB Banderas AA hex. Datos Byte1 Byte2 1 byte 2 bytes 2 bytes 1 byte 1 byte 1 byte 2 bytes
Datos de respuesta cuando la bandera de error esta puesta
ó Datos de respuesta cuando la bandera de error no está puesta
Ejemplo Escribir Múltiples Bloques al Tag con UID 31 91 F2 17 00 00 07 E0 hex, en los Bloques 4 y 5,
los datos 01 02 03 04 05 06 07 08 Paquete de Pregunta: 02 1B 00 00 00 8D AA 31 91 F2 17 00 00 07 E0 04 02 04 03 02 01 08 07 06 05 AE 51 hex.
Comando UID Bloque Inicial # bloques Bloque 2: 05 06 07 08 Dato del Bloque 1: 01 02 03 04
Ejemplo Paquete de Respuesta: 02 0A 00 00 00 00 AA 00 BE 41 hex.
Escritura de Bloques Satisfactoria
Anexo A.
Código de error 1 byte
Código de error 00 hex. 1 byte
Agosto 2009 Lector DTR10 – Guía de Referencia
54
Descarga de datos a la memoria FLASH
La memoria FLASH del Lector DTR10 contiene dos áreas: el área de aplicación para el programa de aplicación del Lector y un área de autocargador para el programa de auto carga. La memoria del autocargador viene asegurada de fábrica. Después de un reset o ciclo apagado – prendido, el programa de auto carga corre la siguiente secuencia:
1- Los registros de control son inicializados 2- Los puertos de E/S son inicializados 3- Chequea el estado del pin J4-3 (PROG): Si esta libre continua con el paso 4-. Si esta a tierra entra a esperar el envío de los datos en la memoria flash (actualización) 4- La memoria de la aplicación es examinada y verificada 5- Si la Sumatoria CRC de la memoria de la aplicación es válida el control es transferido a la
memoria de la aplicación y el lector opera normalmente. Cuando la sumatoria CRC no coincide se transfiere el control al autocargador y el lector entra a esperar el envío de datos a la memoria Flash, esperando se cargue información valida para poder operar.
Modos de actualización Versión del Lector: § Modo Normal:
1- Enviar comando Iniciar el cargador de la memoria FLASH (D0 hex.), después de recibido encienden los tres LEDs indicando que esta listo para recibir la nueva versión.
2- Opciones: -Para Lector DTR10 (Microcontrolador ATMega8) enviar el archivo DTRF104.ENC a la memoria Flash mediante el comando Enviar datos a la memoria FLASH (D8 hex.)
- Para Lector DTR10A ((Microcontrolador ATMega88) enviar el archivo DTR10A30.ENC.
§ Modo Alterno: Este modo se utiliza cuando por cualquier motivo se ha alterado la memoria flash del Lector y no responde a los comandos. 1- Conecte el pin J4-3 (PROG) del conector de 10 pines a tierra pin J4-1 (GND). 2- Energice el Lector y remueva la conexión efectuada en el paso anterior. 3- Envíe el archivo DTRFXXX.ENC a la memoria Flash mediante el comando Enviar datos a
la memoria FLASH (D8 hex.). La actualización de la memoria toma unos 60 segundos como máximo y luego nos muestra un aviso de operación exitosa. Después se debe desconectar y reconectar el lector para que empiece a operar con la nueva versión. La información que se envía a la memoria flash está contenida en un archivo único con extensión .ENC. La última versión valida del programa de la memoria flash DTR10AXX.ENC, se encuentra en www.ericel.com. El auto cargador solo opera a 9600 baudios con 8 bits de datos, 1 bit de inicio, 1 bit de parada y no paridad. El archivo debe ser enviado en una sola sesión, y si algún error ocurre el archivo entero debe ser reenviado. En caso de no enviar información, se debe desconectar y volver a conectar el lector para que salga del estado de esperar información. Nunca se debe desconectar cuando se este enviando información y esta no haya sido recibida en su totalidad.
Agosto 2009 Lector DTR10 – Guía de Referencia
55
Anexo B. Códigos de Error
Número de Código Significado 01 hex. Transponder no encontrado 02 hex. Comando no reconocido 03 hex. El BBC del paquete de pregunta no es válido 04 hex. Banderas del paquete no son válidas para el comando 05 hex. Falla general de escritura 06 hex. Falla de escritura debido a bloque asegurado 07 hex. El transponder no soporta esta función 08 hex. Muchos bloques seleccionados 09 hex. Comando debe ser con dirección UID 0A hex. Falla de colisión 0B hex. El paquete no es válido 0E hex. Error en comando inventario 0F hex. Error no definido 10 hex. Error en programación del tranceiver 11 hex. Error paridad comando tranceiver 12 hex. Error en registro FIFO 13 hex. Muchos datos recibidos desde el TAG 14 hex. Pocos datos recibidos desde el TAG 15 hex. Error en CRC datos recibidos desde el TAG 16 hex. Falla en tranceiver 21 hex. Modo C. A. Usuario anteriormente incluido 22 hex. Modo C. A. Cantidad máxima de usuarios completa 23 hex. Modo C. A. Usuario no existe 24 hex. Modo C. A. No existen usuarios en estas posiciones 25 hex. Modo C. A. Comando incorrecto o VAS = 00