SISTEMA DE ETIQUETAS DE RF CON COMANDOS DE LECTURA Y ESCRITURA DE ETAPA ÚNICA
Campo de la Invención La presente invención se refiere a un sistema de etiquetas de RF que tiene comandos para la lectura y escritura de datos. De manera más particular, la presente invención se refiere a un sistema de etiquetas de RF que tiene comandos de grupo que reducen el número de etapas necesarias para la lectura de datos de una etiqueta o la escritura de datos en la etiqueta.
Antecedentes de la Invención De manera general, un sistema de etiquetas de RF tiene un lector, también referido como un interrogador o estación de base, y las etiquetas que se comunican con el lector utilizan señales de RF (de radiofrecuencia) . Los sistemas de etiquetas de RF son mostrados, por ejemplo, en las Patentes de los Estados Unidos Nos. 5, 942,987 de Heinrich et al . , 5, 673,037 de Cesar et al . , 5, 550,547 de Chan et al., y 5, 521,601 de Kandlur et al. Si el lector deseara leer los datos de una etiqueta específica, el lector transmitirá un comando de Selección de
Grupo dirigido a todas las etiquetas, o un grupo de etiquetas, solicitando una respuesta. Cada una de las REF. 185333
etiquetas responderá con su identificación de etiqueta (ID, por sus siglas en inglés), la cual identifica la etiqueta específica al lector. A continuación, el lector transmite un comando de Lectura que tiene la ID de etiqueta de la etiqueta deseada. La etiqueta específica transmitirá una señal de respuesta, con los datos solicitados. Para una etiqueta que tiene una velocidad de datos de 40Kbps, esta toma aproximadamente 3.35ms para que el lector transmita el comando de Selección de Grupo, 2.8ms para que la etiqueta transmita una respuesta, 3.15ms para enviar el comando de Lectura, y otros 2.8ms para que responda la etiqueta. En consecuencia, el tiempo total de transacción es aproximadamente de 12.10ms para una etiqueta que tenga una velocidad de datos de 40Kbps. Si el lector quisiera escribir datos en una etiqueta específica, el lector transmitirá un comando de Selección de Grupo dirigido a todas las etiquetas, o a un grupo de etiquetas, solicitando una respuesta. Cada una de las etiquetas responderá con su ID de etiqueta. A continuación, el lector transmite un comando de Escritura de Byte que tiene la ID deseada de etiqueta y un primer byte de datos que será escrito en la etiqueta. La etiqueta reconoce que ha recibido un comando de datos de escritura y posteriormente, escribe los datos en su memoria (usualmente, una memoria EEPROM) . Enseguida, el lector envía un comando de Verificación de
Byte, el cual contiene la ID de etiqueta y la ubicación de la dirección del byte de los datos que están siendo verificados. La etiqueta responde leyendo el byte de datos que fue escrito en la memoria y enviando una Respuesta de Verificación de Byte con este byte de datos que fue escrito en la memoria. El proceso se repite para cada byte de información que será escrito en la etiqueta. Un proceso común de escritura es para ocho bytes, lo cual significa que el ciclo de Escritura de Byte-Respuesta de Escritura de Byte-Verificación de Byte-Respuesta de Verificación de Byte es realizado un total de ocho ocasiones. Para una etiqueta que tiene una velocidad de datos de 40Kbps, esta toma 3.35ms para el comando de Selección de Grupo, 2.8ms para la respuesta, 3.35ms para el comando de Escritura de Byte, 1.4ms para la Respuesta de Escritura de Byte, 15ms para escribir el byte en la etiqueta, 3.15ms para el comando de Verificación de Byte y 1.4ms para la Respuesta de Verificación de Byte. En consecuencia, el tiempo total de transacción para una operación de escritura de 8-byte a una velocidad de datos de 40Kbps es de 200.55ms.
Sumario de la Invención Un objetivo de la invención es reducir la cantidad de tiempo que se requiere para la lectura de datos de una etiqueta. Otro objetivo de la invención es reducir la
cantidad de tiempo que se requiere para la escritura de datos en una etiqueta. Un objetivo adicional de la invención es proporcionar una etapa única para la lectura de datos de una etiqueta. Un objetivo adicional de la invención es proporcionar una etapa única para la escritura de datos en una etiqueta. Otro objetivo de la invención es proporcionar un sistema para la lectura de datos y la escritura de datos en una etiqueta que no requiera ningún tipo de comandos anteriores. Todavía otro objetivo de la invención es proporcionar un sistema que pueda ser utilizado para una carretera de peaje variable que cobre un peaje en base a las ubicaciones de entrada y salida de un vehículo particular. Se proporciona un sistema que tiene una secuencia de señal de comando de lectura que identifica un grupo de etiquetas y una dirección de memoria a partir de la cual las etiquetas designadas regresan los Datos de Página. La secuencia de señal de comando de lectura incluye un campo de Dirección, un campo de Datos de Byte y un campo de Dirección de Inicio. El campo de Dirección identifica la dirección de la memoria en la cual los datos de la etiqueta serán leídos y comparados con los Datos de Byte. Si los datos de etiqueta fueran los mismos que los Datos de Byte, la etiqueta respondería a la señal de comando de lectura con la ID de etiqueta y los Datos de Página leídos de la ubicación de memoria identificada por el campo de Dirección de Inicio. Si
los datos de etiqueta no fueran los mismos, entonces, la etiqueta no sería una de las etiquetas designadas por el lector para responder al comando, y la etiqueta no respondería . El sistema también incluye una secuencia de señal de comando de escritura que identifica un grupo de etiquetas y los Datos de Página que serán escritos en las etiquetas designadas. La secuencia de señal de comando de escritura incluye un campo de Dirección, un campo de Datos de Byte, un campo de Dirección de Inicio y el campo de Datos de Página. Si los datos de etiqueta en la ubicación de memoria identificada por el campo de Dirección fueran los mismos que los Datos de Byte, la etiqueta escribiría los datos del campo de Datos de Página en la ubicación de memoria identificada por el campo de Dirección de Inicio. En consecuencia, la invención proporciona que la secuencia de señal de comando de lectura sea enviada a las etiquetas para la ID de etiqueta y que los datos sean leídos de las etiquetas designadas. De esta manera, la lectura es conseguida en una etapa única, y el lector no necesita esperar que la etiqueta responda con la ID de etiqueta antes de solicitar que los datos sean leídos de esta etiqueta. Además, la invención proporciona que la secuencia de señal de comando de escritura sea enviada a las etiquetas para que los datos sean escritos en las etiquetas designadas. Por lo
tanto, la escritura de datos es conseguida en una etapa única, y el lector no necesita esperar que la etiqueta responda con la ID de etiqueta antes de solicitar que los datos sean escritos en la etiqueta. Los comandos de lectura y escritura de etapa única reducen el número de señales que necesitan ser transferidas entre el lector y las etiquetas. Como resultado, el lector es capaz de incrementar su rendimiento. Además, el tiempo para leer los datos y escribir los mismos en las etiquetas es reducido, de manera sustancial. Estos y otros objetivos de la invención, así como también muchas de las ventajas pretendidas de los mismos, serán aparentes con mayor rapidez cuando se haga referencia a la siguiente descripción, tomada en conjunto con las figuras que la acompañan.
Breve Descripción de las Figuras La Figura 1 es un diagrama de bloque que muestra el sistema de etiquetas con una secuencia de señal de comando utilizada para leer los Datos de Página de las etiquetas de acuerdo con la modalidad preferida de la invención; La Figura 2 es un diagrama de bloque que muestra la secuencia de señal de comando que se utiliza para escribir los Datos de Página en las etiquetas; La Figura 3 es un diagrama de flujo para la
operación de la lectura de los Datos de Página a partir de las etiquetas de acuerdo con la secuencia de señal de comando de la Figura 1; y La Figura 4 es un diagrama de flujo para la operación de la escritura de los Datos de Página en las etiquetas de acuerdo con la secuencia de señal de comando de la Figura 2.
Descripción Detallada de la Invención Para describir una modalidad de la invención que se ilustra en las figuras, la terminología específica será frecuentada por motivos de claridad. Sin embargo, no se pretende que la invención sea limitada a los términos específicos así seleccionados, y se entenderá que cada término específico incluye todos los equivalentes técnicos que funcionan en un modo similar para conseguir un propósito similar. Con referencia a las figuras, la Figura 1 muestra el sistema de etiquetas 5 que tiene una estación de base o lector 10 y las etiquetas 20. El lector 10 tiene un procesador 12 que se interconecta con la memoria 14. El procesador 12 envía y recibe señales a las etiquetas 20 a través de una antena de lector. El lector 10 también podría incluir un generador y receptor de señal que ejecuta, de manera respectiva, las señales enviadas y recibidas por el
procesador 12. El procesador 12 controla el lector 10 y ejecuta la estructura de comando de la presente invención. La memoria 14 mantiene los datos de aplicación, y las IDs de etiqueta. La memoria 14 también puede almacenar la estructura de comando que se utiliza para comunicarse con las etiquetas 20. Cada una de las etiquetas 20 incluye un receptor o procesador 22, de preferencia, en la forma de un ASIC
(circuito integrado de aplicación específica) que controla la etiqueta 20 y ejecuta las estructuras de comando. El procesador 22 recibe y envía señales a través de la antena de etiqueta y controla el procesamiento de estas señales. Las etiquetas 20 también tienen una memoria 24 que retiene la ID de etiqueta y los Datos de Página en ubicaciones predeterminadas de la memoria. Como también se muestra en la Figura 1, el lector 10 transmite un comando de Lectura Aerodinámica de la Misma Página de Selección de Grupo (SGSEPR) 30 de acuerdo con la modalidad preferida de la invención. El comando SGSEPR 30 es utilizado para obtener tanto la ID de etiqueta como los Datos de Página de una cierta clase (grupo) de ASIC de etiqueta 20 en una transacción única de comando y respuesta. El primer campo de la secuencia de comando SGSEPR 30 es el campo de Código de Comando 31. El campo de Código de Comando 31 identifica la secuencia de comando que es un
comando SGSEPR 30. El campo de Código de Comando es un valor de un byte. El siguiente campo en la secuencia de comando es el campo de Dirección 32. El campo de Dirección 32 identifica la ubicación de memoria en la memoria de etiqueta 24 que será accesada por la etiqueta 20. El siguiente campo es el campo de Datos de Byte 33 que contiene los datos que la etiqueta 20 va a comparar con la información almacenada en la ubicación de memoria identificada por el campo de Dirección 32. El campo de Dirección de Inicio 34 identifica la posición de memoria de la memoria de etiqueta 24 que contiene los Datos de Página que serán regresados al lector 10. El campo CRC 35 es un campo estándar de verificación de redundancia cíclica. A continuación, con referencia a la Figura 3, la operación de la etiqueta 20 se muestra para el comando SGSEPR 30 de la Figura 1. De preferencia, la operación es controlada por el procesador de etiqueta 22. En la primera etapa, la etapa 100, la etiqueta 20 realiza la lectura del campo de código de comando 31 de la secuencia de comando 30. La etiqueta 20 identifica la secuencia de comando que es un comando SGSEPR 30. En la etapa 102, la etiqueta 20 realiza la lectura del campo de Dirección 32. De preferencia, la etiqueta 20 almacena el campo de Dirección 32 en una ubicación temporal de registro. En la etapa 104, la etiqueta 20 realiza la lectura de los Datos de Byte en el campo de Datos de Byte 33 y
compara los Datos de Byte con los datos (por ejemplo, un identificador de grupo de etiquetas) recuperados de la ubicación de memoria de etiqueta almacenada en la etapa 102. La etiqueta también realiza la lectura del campo de Dirección de Inicio y CRC 35. En la etapa 106, si los Datos de Byte fuera los mismos que los datos de identificador de grupo de etiquetas almacenados en la memoria de etiqueta 24, la dirección sería válida (es decir, no una ubicación protegida de dirección) , y el CRC sería preciso, después, la etiqueta 20 recuperaría la ID de etiqueta y los Datos de Página almacenados en la memoria de etiqueta 24 identificada por el campo de Dirección de Inicio 34 y regresaría la ID de etiqueta y los Datos de Página al lector 10, etapa 108. Si los datos en el campo de Datos de Byte 33 no fueran los mismos que los datos del identificador de grupo de etiquetas almacenados en la memoria de etiqueta 24 o si no fuera válida la dirección, o si el CRC fuera inexacto, etapa 106, entonces el proceso finalizaría en la etapa 110. Con referencia a la Figura 2, se muestra el comando de Escritura Aerodinámica de la Misma Página de Selección de Grupo (SGSEP ) . El comando SGSEP 40 es generado por el lector 10 y es enviado a la etiqueta 20 para obtener tanto la ID de etiqueta como los Datos de Página de escritura a una cierta clase (grupo) de ASIC de etiqueta 20 en una transacción única de comando y respuesta. El lector 10 puede
almacenar la ID de etiqueta, de modo que pueda ser utilizada para otros comandos que requieren que esté presente la ID de etiqueta en la estructura de comando. El primer campo de la secuencia de comando SGSEPW es el campo de código de comando 41. El campo de código de comando 41 identifica la secuencia de comando que es un comando SGSEPW 40. El campo de código de comando 41 es de un valor de un byte. El siguiente campo en la secuencia de comando es el campo de Dirección 42. El campo de Dirección 42 identifica la ubicación de memoria en la memoria de etiqueta 24 que será accesada por la etiqueta 20. El siguiente campo es el campo de Datos de Byte 43, el cual contiene los datos que la etiqueta 20 va a comparar con la información almacenada en la ubicación de memoria identificada por el campo de Dirección 42. El campo de Dirección de Inicio 44 identifica la posición de memoria de la memoria de etiqueta 24 en la que serán escritos los Datos de Página. A continuación, con referencia a la Figura 4, la operación de la etiqueta 20 se muestra para el comando SGSEPW 40 de la Figura 2. De preferencia, la operación es controlada por el procesador de etiqueta 22. En la primera etapa, etapa 120, la etiqueta 20 realiza la lectura del campo de código de comando 41 de la secuencia de comando 40. La etiqueta 20 identifica la secuencia de comando que es un comando SGSEPW 40. En la etapa 122, la etiqueta 20 realiza la lectura del
campo de Dirección 42. De preferencia, la etiqueta 20 almacena el campo de Dirección 32 en una ubicación temporal de registro. En la etapa 124, la etiqueta 20 realiza la lectura del campo de Datos de Byte 43 y compara estos Datos de Byte con los datos (por ejemplo, un identificador de grupo de etiquetas) recuperados de la ubicación de la memoria de etiqueta almacenada en la etapa 122. La etiqueta también realiza la lectura del campo de Dirección de Inicio 44, los Datos de Página del campo de Datos de Página 45 y el CRC (no se muestra, aunque sigue después del campo de Datos de Página 45) . Después de esto, el ASIC decidirá responder y realizar la escritura o finalizar la transacción y esperar el siguiente comando. Por consiguiente, si los Datos de Byte fueran los mismos que los datos del identificador de grupo almacenados en la memoria de etiqueta 24, la dirección sería válida, y el CRC sería preciso, etapa 126, posteriormente, la etiqueta 20 escribe los Datos de Página en la memoria 24 comenzando con la ubicación de memoria identificada por el campo de Dirección de Inicio 44, etapa 128. Si los Datos de Byte no fueran los mismos que los datos del identificador de grupo almacenados en la memoria de etiqueta 24, la dirección sería inválida, o él CRC no sería preciso, etapa 126, posteriormente, los Datos de Página no serían escritos en la
memoria de etiqueta 24 y el proceso finalizaría, etapa 130. De preferencia, la etiqueta 20 envía una respuesta de grupo al lector 10 que incluye la ID de etiqueta, la equivalencia de sus Datos de Página y un estado de verificación de señal, y posteriormente, escribe los Datos de Página en la memoria 24. El estado de verificación de señal de la etiqueta 20 comprueba para el lector 10 si o no los Datos de Página fueron adecuadamente escritos en la memoria de etiqueta 24. La etiqueta 10 compara los Datos de Página en el campo de Datos de Página 45 con los Datos de Página en una ubicación de la memoria 24 especificada por el campo de Dirección de Inicio 44. Si la última escritura en la memoria de etiqueta 24 fuera una buena escritura (es decir, que no existiera error en la escritura y por lo tanto, la señal de verificación sería verdadera) , y los Datos de Página 45 fueran los mismos que los Datos de Página en la memoria 24, entonces, el mensaje de respuesta de verificación indicaría que la escritura fue una buena escritura y que los datos coinciden. De otro modo, la etiqueta 20 envía un mensaje de respuesta al lector 10 indicando que la escritura no fue una buena escritura, en este caso, el lector 10 volvería a enviar otro comando SGSEPW 40. Un error podría originarse, por ejemplo, en donde la etiqueta se haya encendido recientemente, de modo que la señal inicial de comando SGSEPW
40 todavía no hubiera originado que los datos sean escritos en la etiqueta. De esta manera, el comando de escritura 40 origina en el lector 10 que sea informado de que la escritura ha sido con buenos resultados o que la escritura ha fallado. Normalmente, se requieren dos comandos de escritura 40 antes de que la etiqueta 20 regrese un mensaje de verificación de que la escritura fue realizada con buenos resultados. El primer comando de escritura 40 originará la escritura de los Datos de Página y el segundo comando de escritura 40 comprobará que la escritura fue realizada de manera exitosa. En consecuencia, todas las etiquetas 20 que tienen los mismos datos en la memoria 24 como el campo de Datos de Byte 33, 43 responderían a la secuencia de comando 30, 40 ya sea para leer los Datos de Página de la ubicación de memoria identificada por la dirección de inicio 34 o para escribir los Datos de Página 45 en la memoria en la dirección de inicio 44. El campo de Dirección 32, 42 puede ser utilizado para seleccionar cualquier área de la memoria 24 que desee el lector 10, aunque de preferencia, que el ASIC sólo realizará comparaciones en áreas de la memoria que no se encuentran en áreas protegidas. Es decir, la etiqueta 20 determina si el campo específico de dirección de inicio 34, 44 es un área protegida de la memoria como es definido por el Mapa de Acceso de Memoria el cual correlaciona los datos en la
memoria con las direcciones específicas de memoria para evitar el acceso a la información confidencial tal como las contraseñas y los códigos de autorización y para evitar que la información sea borrada de manera inadvertida. La etiqueta 20 puede incluir etapas para evitar el acceso (tanto a la lectura como la escritura) a las áreas protegidas de la memoria 24, mediante la verificación que el campo de Dirección 32, 44 y el campo de Dirección de Inicio 34, 44 son válidos. Si la dirección fuera inválida, ninguna respuesta sería enviada y el estado permanecería del mismo modo. Una dirección sería inválida, por ejemplo, si ésta se refiera a la ubicación de memoria que es utilizada para retener la información confidencial o protegida. La etiqueta 20 también puede utilizar un modo de autentificación mutua y bits de bloqueo de memoria (por ejemplo, una serie de la memoria que define si o no la ubicación de memoria es bloqueada) para proteger estas ubicaciones confidenciales de memoria . Los comandos SGSEPR y SGSEPW 30, 40 originan un cuadro más corto de tiempo para leer los datos y escribir los datos en una etiqueta. El lector no necesita primero obtener la ID de etiqueta y realizar una escritura específica en la etiqueta con la ID obtenida. Además, los comandos de lectura y escritura 30, 40 no requieren ningún tipo de comandos anteriores (tales como para mover la etiqueta hacia un estado
activo) a fin de realizar la lectura de los datos y la escritura de los datos en la etiqueta 20. Esto reduce el tiempo requerido para procesar las señales tanto en el lector 10 como en la etiqueta 20. La invención origina, de manera especial, un rendimiento más grande en el lector 10. Por ejemplo, para leer los datos de una etiqueta 20 que tiene una velocidad de datos de 40Kbps, toma 1.95ms para que el comando SGSEPR 30 sea procesado y enviado por el lector 10, y 4.4ms para la respuesta de la etiqueta 20, para un tiempo total de transacción de 6.35ms. Para escribir los datos en una etiqueta 20 que tenga una velocidad de datos de 40Kbps, toma 3.55ms para que el comando SGSEPW 40 sea procesado y enviado por el lector 10, 15ms para que los datos sean escritos en la memoria de etiqueta 24, 3ms para la respuesta de la escritura, y posteriormente, otros 3.55ms para enviar otro comando SGSEPW 40 como una verificación de que los datos fueron escritos, y 3ms para qué la etiqueta responda con una señal de verificación. Por consiguiente, el tiempo total de transacción para una operación de escritura de 8 bytes a una velocidad de datos de 40Kbps es de 20.9ms. De acuerdo con la modalidad preferida de la invención, el sistema 5 es utilizado en una carretera de peaje variable que cobra un peaje en base a las ubicaciones de entrada y salida de un vehículo particular. En
consecuencia, el peaje varía en función del lugar en el que entre el vehículo en la carretera de peaje y el lugar en el que el vehículo salga de la carretera de peaje. A medida que el vehículo entra en la carretera de peaje, el comando SGSEPW 40 es utilizado para escribir información, tal como un código de ubicación en la memoria de etiqueta 24. El código de ubicación identifica la ubicación de entrada para este vehículo. El lector en la ubicación de entrada recibe la ID de etiqueta a partir de la señal de respuesta de etiqueta, y puede enviar la ID de etiqueta a una computadora anfitriona (no se muestra) con propósitos de seguimiento o rastreo y facturación. El comando SGSEPR 30 es utilizado para leer el mismo código de ubicación de la etiqueta 20 a medida que sale de la carretera de peaje. La ubicación de salida puede entonces determinar el peaje adecuado en base a la ubicación de entrada leída a partir de la etiqueta. Obviamente, pueden realizarse otros arreglos adecuados, tal como el lector de ubicación de entrada y el lector de ubicación de salida, cada uno de los cuales envía en forma independiente la ID de etiqueta y la información de ubicación a una computadora anfitriona para calcular el peaje y la facturación a la persona que posee la cuenta de etiqueta. El código de ubicación es escrito y leído a partir de la misma ubicación de memoria, de modo que la dirección de
inicio 34, 44 sea la misma para el comando SGSEPW 40 y para el comando SGSEPR 30. Por ejemplo, si el campo de inicio de dirección 34 fuera 50, entonces la ID de etiqueta que es situada en 00-07, sería regresada junto con los datos situados en la ubicación de memoria 50-57. El campo de Dirección de Inicio define la página de los datos que será regresada al lector. La ID de etiqueta siempre es regresada con los Datos de Página. La descripción anterior y las figuras tienen que ser consideradas sólo como ilustrativas de los principios de la invención. La invención podría ser configurada en una diversidad de modos y no se pretende que sea limitada por la modalidad preferida. Numerosas aplicaciones de la invención se les ocurrirán a aquellas personas expertas en la técnica. Por lo tanto, no es deseable limitar la invención a los ejemplos específicos descritos o la construcción y operación exacta que se muestran y describen. Más bien, todas las modificaciones y equivalentes convenientes podrían ser frecuentados que caen dentro del alcance de la invención. Se hace constar que con relación a esta fecha el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.