ES2608807T3 - Transmisión de datos basada en paquetes - Google Patents
Transmisión de datos basada en paquetes Download PDFInfo
- Publication number
- ES2608807T3 ES2608807T3 ES10731631.7T ES10731631T ES2608807T3 ES 2608807 T3 ES2608807 T3 ES 2608807T3 ES 10731631 T ES10731631 T ES 10731631T ES 2608807 T3 ES2608807 T3 ES 2608807T3
- Authority
- ES
- Spain
- Prior art keywords
- packet
- unit
- package
- destination address
- redundancy information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 68
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 27
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000036316 preload Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Un transceptor que tiene una dirección asociada, que comprende: una unidad (110,115) de cálculo de información de redundancia; una unidad (130, 135) de ensamblaje y reconstrucción de mensaje acoplada con dicha unidad (110,115) de cálculo de información de redundancia; una unidad de transceptor acoplada con la unidad (130, 135) de ensamblaje y reconstrucción de mensaje para transmitir y recibir paquetes, en el que la unidad (130, 135) de ensamblaje y reconstrucción de mensaje está configurada para transmisión: para ensamblar un paquete que incluye información de control y datos de cabida útil, en el que la información de control incluye una dirección de destino; reenviar dicho paquete ensamblado a la unidad (110, 115) de cálculo de información de redundancia para calcular una información de redundancia, retirar dicha dirección de destino desde dicho paquete ensamblado y añadir la información de redundancia al paquete, establecer un bit (160) de control en el paquete que indica que no se incluye dirección de destino en el paquete; y reenviar el paquete a una unidad (140) de transmisión de la unidad de transceptor; y configurado adicionalmente para recepción: para determinar si se incluye una dirección de destino en información de control de un paquete recibido; si no se incluye dirección de destino, insertar la dirección (125) asociada del transceptor en la información de control y eliminar una información de redundancia recibida desde dicho paquete; reenviar dicho paquete que incluye dicha dirección asociada a dicha unidad (110, 115) de cálculo de redundancia para calcular una información de redundancia de recepción; y comparar la información de redundancia de recepción y la información de redundancia recibida y si coinciden, aceptar dicho paquete y de otra manera descartar dicho paquete.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Transmision de datos basada en paquetes
La presente divulgacion se refiere a un procedimiento y dispositivo para transmisiones de datos basadas en paquetes, en particular, a un protocolo de paquetes inalambrico.
La transmision de datos basada en paquetes usa diversas capas en las que se transmiten datos e informacion de control asociada, tal como identificadores de direccion para transmisor y receptor, longitud de datos, informacion de redundancia, etc. La transmision de datos basada en paquetes se usa en una amplia diversidad de protocolos. Existen muchos protocolos en los que para transmision de datos espedficos la informacion de control adicional es mayor que la cabida util de los datos. Por lo tanto, la transmision de datos puede ralentizarse significativamente. En particular, en transceptores inalambricos, por ejemplo, un transceptor 802.15.4, donde la transmision de bytes de paquetes es una operacion que gasta potencia, reducir el numero de bytes transmitidos mediante el dispositivo inalambrico tiene una correlacion directa a la potencia operacional usada por el dispositivo inalambrico. En muchas aplicaciones de transceptor inalambrico alimentado por batena (por ejemplo, controles remotos, consolas de juegos, etc.,) la tara de alineacion de tramas de mensaje puede constituir una proporcion importante del ciclo de trabajo de radio, teniendo de esta manera un impacto significativo en la vida de la batena.
El documento EP1988655 desvela un procedimiento de reduccion de tara en transmision de paquetes de datos reduciendo el tamano de paquete sustituyendo la direccion de destino por un identificador que se combina con el codigo de CRC.
Existe una necesidad de una manera mas eficaz de transmision de datos basada en paquetes.
De acuerdo con una realizacion, un procedimiento para transmitir datos en un sistema de transmision basado en paquetes puede tener las etapas de: ensamblar un paquete incluyendo informacion de control y datos de cabida util, en el que la informacion de control incluye una direccion de destino; calcular informacion de redundancia usando el paquete; retirar la direccion de destino del paquete y anadir la informacion de redundancia al paquete, en el que se establece un bit de control en el paquete indicando que no se incluye direccion de destino en el paquete; y transmitir el paquete.
De acuerdo con una realizacion adicional, el bit de control en el paquete que indica que no se incluye direccion de destino en el paquete puede establecerse antes de calcular la informacion de redundancia. De acuerdo con una realizacion adicional, la informacion de redundancia puede calcularse usando una comprobacion de redundancia dclica (CRC). De acuerdo con una realizacion adicional, durante el ensamblaje la direccion de destino puede incluirse en un encabezamiento de trama. De acuerdo con una realizacion adicional, durante el ensamblaje la direccion de destino puede ser la primera informacion incluida en el encabezamiento de trama. De acuerdo con una realizacion adicional, el paquete puede transmitirse de manera inalambrica. De acuerdo con una realizacion adicional, el procedimiento puede operar con una norma 802.15.4.
De acuerdo con otra realizacion, un procedimiento para recibir datos en un sistema de transmision basado en paquetes puede tener las etapas de: recibir un paquete que incluye informacion de control, datos de cabida util e informacion de redundancia de transmision; determinar si se incluye una direccion de destino en la informacion de control; si no se incluye direccion de destino entonces insertar una direccion en la informacion de control y eliminar la informacion de redundancia de transmision del paquete; calcular informacion de redundancia de recepcion usando el paquete; y comparar la informacion de redundancia de recepcion y la informacion de redundancia de transmision y si coinciden, aceptar el paquete y de otra manera descartar el paquete.
De acuerdo con una realizacion adicional, la informacion de redundancia puede calcularse usando una comprobacion de redundancia dclica (CRC). De acuerdo con una realizacion adicional, la etapa de determinacion puede realizarse comprobando si se establece un bit predeterminado en un encabezamiento de trama. De acuerdo con una realizacion adicional, el procedimiento puede tener la etapa de calcular una semilla de CRC usando la direccion insertada. De acuerdo con una realizacion adicional, la informacion de redundancia de transmision puede almacenarse. De acuerdo con una realizacion adicional, el paquete puede transmitirse de manera inalambrica. De acuerdo con una realizacion adicional, el procedimiento puede operar con una norma de transmision 802.15.4.
De acuerdo con otra realizacion mas, un transmisor puede comprender una unidad de ensamblaje de mensaje; una unidad de calculo de informacion de redundancia acoplada con la unidad de ensamblaje de mensaje; y una unidad de transmision acoplada con la unidad de ensamblaje de mensaje, en el que la unidad de ensamblaje de mensaje puede operar para ensamblar un paquete que incluye informacion de control y datos de cabida util, en el que la informacion de control incluye una direccion de destino; reenviar el paquete a la unidad de calculo de informacion de redundancia para calcular una informacion de redundancia, retirar la direccion de destino del paquete y anadir la informacion de redundancia al paquete, establecer un bit de control en el paquete que indica que no se incluye direccion de destino en el paquete, y reenviar el paquete a la unidad de transmision.
De acuerdo con una realizacion adicional, el transmisor puede operarse para establecer el bit de control en el paquete que indica que no se incluye direccion de destino en el paquete antes de reenviar el paquete a la unidad de
5
10
15
20
25
30
35
40
45
50
55
60
calculo de informacion de redundancia.
De acuerdo con una realizacion adicional, la unidad de calculo de informacion de redundancia puede ser una unidad de comprobacion de redundancia dclica (CRC). De acuerdo con una realizacion adicional, la unidad de transmision puede ser una unidad de transmision inalambrica. De acuerdo con una realizacion adicional, la unidad de transmision inalambrica puede operar de acuerdo con una norma 802.15.4. De acuerdo con una realizacion adicional, el transmisor puede ser parte de un transceptor en un circuito integrado que tiene una interfaz I2C. De acuerdo con una realizacion adicional, el transmisor puede comprender adicionalmente una batena como una fuente de alimentacion.
De acuerdo con otra realizacion mas, un receptor puede comprender una unidad de reconstruccion de mensaje; una unidad de calculo de informacion de redundancia acoplada con la unidad de ensamblaje de mensaje; y una unidad de recepcion acoplada con la unidad de reconstruccion de mensaje, que opera para recibir un paquete que incluye informacion de control, datos de cabida util e informacion de redundancia de transmision, en el que la unidad de reconstruccion de mensaje puede operarse para determinar si se incluye una direccion de destino en la informacion de control; si no se incluye direccion de destino, entonces la unidad de reconstruccion de mensaje puede operarse para insertar una direccion en la informacion de control y eliminar la informacion de redundancia de transmision del paquete; reenviar el paquete a la unidad de calculo de redundancia para calcular una informacion de redundancia de recepcion; y comparar la informacion de redundancia de recepcion y la informacion de redundancia de transmision y si coinciden, aceptar el paquete y de otra manera descartar el paquete.
De acuerdo con una realizacion adicional, la unidad de calculo de informacion de redundancia puede ser una unidad de comprobacion de redundancia dclica (CRC). De acuerdo con una realizacion adicional, la unidad de reconstruccion de mensaje puede determinar si se incluye una direccion de destino comprobando si se establece un bit predeterminado en un encabezamiento de trama del paquete. De acuerdo con una realizacion adicional, la unidad de CRC puede operarse para calcular una semilla de CRC usando la direccion insertada antes de que se reciba completamente un paquete. De acuerdo con una realizacion adicional, el receptor puede comprender adicionalmente memoria para almacenar la informacion de redundancia de transmision. De acuerdo con una realizacion adicional, el receptor puede comprender adicionalmente memoria para almacenar la direccion insertada. De acuerdo con una realizacion adicional, la unidad de recepcion puede ser una unidad de recepcion inalambrica. De acuerdo con una realizacion adicional, la unidad de recepcion inalambrica puede operar con una norma 802.15.4. De acuerdo con una realizacion adicional, el receptor puede ser parte de un transceptor en un circuito integrado que tiene una interfaz I2C. De acuerdo con una realizacion adicional, el receptor puede comprender adicionalmente una batena como una fuente de alimentacion.
De acuerdo con otra realizacion mas, un transceptor puede comprender una unidad de calculo de informacion de redundancia; una unidad de ensamblaje y reconstruccion de mensaje acoplada con la unidad de calculo de informacion de redundancia; una unidad de transceptor acoplada con la unidad de ensamblaje de mensaje para transmitir y recibir paquetes, en el que la unidad de ensamblaje y reconstruccion de mensaje puede operarse para transmision: para ensamblar un paquete que incluye informacion de control y datos de cabida util, en el que la informacion de control incluye una direccion de destino; reenviar el paquete a la unidad de calculo de informacion de redundancia para calcular una informacion de redundancia, retirar la direccion de destino del paquete y anadir la informacion de redundancia al paquete, establecer un bit de control en el paquete que indica que no se incluye direccion de destino en el paquete; y reenviar el paquete a la unidad de transmision; y que opera adicionalmente para recepcion: para determinar si se incluye una direccion de destino en informacion de control de un paquete recibido; si no se incluye direccion de destino, insertar una direccion en la informacion de control y eliminar una informacion de redundancia recibida desde el paquete; reenviar el paquete a la unidad de calculo de redundancia para calcular una informacion de redundancia de recepcion; y comparar la informacion de redundancia de recepcion y la informacion de redundancia recibida y si coinciden, aceptar el paquete y de otra manera descartar el paquete.
De acuerdo con una realizacion adicional, la unidad de calculo de informacion de redundancia puede ser una unidad de comprobacion de redundancia dclica (CRC). De acuerdo con una realizacion adicional, la unidad de transceptor puede ser una unidad de transceptor inalambrico. De acuerdo con una realizacion adicional, la unidad de transceptor inalambrico puede operar de acuerdo con una norma 802.15.4. De acuerdo con una realizacion adicional, el transceptor puede comprender adicionalmente una interfaz I2C. De acuerdo con una realizacion adicional, el transceptor puede comprender adicionalmente una batena como una fuente de alimentacion. De acuerdo con una realizacion adicional, el transceptor puede comprender adicionalmente memoria para almacenar la informacion de redundancia recibida. De acuerdo con una realizacion adicional, el transceptor puede comprender adicionalmente memoria para almacenar la direccion insertada. De acuerdo con una realizacion adicional, el transceptor puede operarse para establecer el bit de control en el paquete que indica que no se incluye direccion de destino en el paquete antes de reenviar el paquete a la unidad de calculo de informacion de redundancia.
Un entendimiento mas completo de la presente divulgacion y ventajas de la misma puede obtenerse haciendo referencia a la siguiente descripcion cuando se toma en conjunto con los dibujos adjuntos en los que:
La Figura 1 es un diagrama de bloques del sistema con un transmisor y un receptor de acuerdo con una
realizacion;
5
10
15
20
25
30
35
40
45
50
55
La Figura 2 es un diagrama de bloques de un transceptor de acuerdo con una realizacion;
Las Figuras 3 y 4 muestran diferentes realizaciones de transmision de datos basada en paquetes;
La Figura 5 muestra elementos de un motor de CRC;
La Figura 6 muestra un calculo de CRC ejemplar; y
La Figura 7 muestra elementos genericos de un motor de CRC.
Aunque las realizaciones de esta divulgacion se han representado, descrito y se definen por referencia a realizaciones de ejemplo de la divulgacion, tales referencias no implican una limitacion en la divulgacion, y no se ha de inferir tal limitacion. Pueden realizarse en la materia objeto desvelada modificaciones y alteraciones considerables, y equivalentes en forma y funcion, como se les ocurrira a los expertos en la materia pertinente y que tienen el beneficio de esta divulgacion. Las realizaciones representadas y descritas de esta divulgacion son ejemplos unicamente y no son exhaustivas del alcance de la divulgacion.
Por lo tanto en la comunicacion basada en paquetes, en particular en escenarios de comunicacion inalambrica propietarios mencionados en el presente documento, se desea idear un protocolo de comunicaciones que permita ahorros en el ciclo de trabajo de transmision de radio y reduccion de la tara de alineacion de tramas de paquetes para reducir la potencia operacional usada por el dispositivo inalambrico reduciendo el numero de bytes transmitidos.
Este y otros objetos pueden conseguirse mediante los procedimientos, transceptor, transmisor y/o receptor como se definen en las reivindicaciones independientes. Mejoras adicionales estan caracterizadas en las reivindicaciones dependientes.
En redes de comunicacion inalambricas y cableadas, la transmision de datos basada en paquetes puede incluir el identificador de direccion de la unidad de transmision y recepcion como informacion de control. Por lo tanto, en la recepcion un receptor puede comprobar inmediatamente si la transmision pretendfa recibirse por esta unidad y si no, descarta la informacion recibida. De acuerdo con las ensenanzas de esta divulgacion, se consigue una reduccion en el paquete o longitud de trama para protocolos inalambricos omitiendo la direccion de destino, por ejemplo, infiriendo la direccion de destino del paquete o trama. Infiriendo la direccion de destino de otra informacion en el paquete o trama tal como una redundancia o informacion de seguridad, la direccion de destino puede omitirse de cada paquete o trama, y de esta manera reducir el paquete global o longitud de trama. Por ejemplo, una comprobacion de redundancia dclica (CRC) puede usarse para generar informacion adicional que infiere la direccion de destino como se explicara en mas detalle a continuacion. Esta reduccion en longitud de datos puede ser tfpicamente el diez por ciento en el dominio de aplicacion objetivo. Por lo tanto, la transmision puede ser mas rapida y de manera mas importante, para transmision inalambrica en sistemas operados por batena, es necesaria menos energfa para transmitir los datos. Esto puede ser ventajoso en dispositivos que transmiten muy pocos datos pero de manera constante, tal como un dispositivo de entrada inalambrico que incluye un raton y teclado inalambrico. En los casos de un raton o teclado la cabida util a menudo es significativamente mas pequena que la informacion de control en un paquete o trama. Por lo tanto, reducir la informacion de control puede ser muy beneficioso para ahorros de velocidad y energfa.
La Figura 1 muestra un sistema 100, 105 para transmision de datos basada en paquetes usando una unidad 110 de redundancia dclica (CRC) para anadir redundancia adicional a la informacion transmitida. Pueden usarse otros procedimientos de redundancia como sera evidente a partir de la presente divulgacion. Puede proporcionarse una unidad 130 de ensamblaje de mensaje que recibe la cabida util 120 de los datos e informacion 150 de control de trama asf como otra informacion (no mostrada). La informacion 150 de control de trama puede incluir un bit 160 que cuando se establece indica a la unidad 130 de ensamblaje de mensaje que un paquete o trama con o sin la direccion de destino se ha de generar y transmitir. La informacion 150 de control de trama puede incluir una pluralidad de otros bits de control que controlan como la unidad de ensamblaje de mensaje configura los datos a transmitirse. Estos pueden incluir, modos de difusion, modo de acuse de recibo, etc. La unidad 130 de ensamblaje de mensaje esta acoplada con una unidad 140 de transmision para transmision cableada o inalambrica. La Figura 1 tambien muestra una unidad 170 de fuente de alimentacion por batena que indica que el transmisor puede ser un dispositivo inalambrico movil.
En el lado del receptor, un receptor 145 cableado o inalambrico esta acoplado con una unidad 135 de reconstruccion. De acuerdo con una realizacion, la unidad 135 de recepcion recibe la direccion de unidad por ejemplo desde un registro o memoria 125. La unidad 135 de reconstruccion esta acoplada con una unidad 115 de CRC que puede ser identica a la unidad 110 de CRC del transmisor 100. De nuevo, el receptor puede alimentarse tambien por batena como se indica por el recuadro 175 de lmea discontinua. El receptor 105 recibe un mensaje y decodifica la informacion de control de trama para determinar la configuracion del mensaje recibido.
Se apreciara, que el transmisor 100 y el receptor 105 pueden combinarse para formar un transceptor. En una realizacion de este tipo, unicamente es necesaria una unica unidad de CRC y puede compartirse con la respectiva circuitena de recepcion y de transmision.
5
10
15
20
25
30
35
40
45
50
55
60
Usar un procedimiento de CRC generalmente requiere que los datos incluyan informacion de control y cabida util de datos para que se procesen por una unidad 110 de CRC usando un polinomio generador predefinido como se explicara a continuacion en mas detalle. A continuacion, el resultado de un calculo de CRC se anade en general, por ejemplo, anexa, a los datos a transmitirse. El receptor 105 que tambien tiene conocimiento del polinomio generador aplica el mismo algoritmo a los datos y compara el resultado con el resultado que se ha anadido a la transmision. Por lo tanto, puede verificarse una transmision correcta en el lado del receptor. En caso de que la transmision se interrumpiera de manera que los datos de la transmision se hayan corrompido, el receptor generara un resultado diferente y a continuacion descartara el paquete o trama recibida y solicitara retransmision.
El calculo de CRC puede realizarse usando un Registro de Desplazamiento de Realimentacion Lineal (LFSR) como se explicara a continuacion en mas detalle. Sin embargo, puede ser mas eficaz en cuanto al ciclo calcular la CRC con un procedimiento orientado a byte que unicamente calcula el resto. Para coordinarse con la recepcion, esto puede ser beneficioso de acuerdo con diversas realizaciones.
De acuerdo con una realizacion, esta comprobacion de redundancia se usa para reducir la cantidad de datos transmitidos. Por ejemplo, si el bit 160 se establece a “0”, esto indicara a la unidad 130 de ensamblaje de mensaje que no hay direccion de destino para que se incluya en el paquete o trama. En el flujo de datos a transmitir, la unidad 130 de ensamblaje de mensaje, por ejemplo, incluye este bit en el encabezamiento de trama. Por lo tanto, un receptor podra reconocer inmediatamente si una direccion de destino esta presente o no. Si este bit se establece a “0”, la unidad 130 de ensamblaje de mensaje suprimira la direccion de destino del paquete o trama transmitido y deja que la decision de aceptacion en el receptor se base unicamente en la Secuencia de Comprobacion de Trama recibida que en la realizacion mostrada en la Figura 1 es una CRC. Como se ha mencionado anteriormente, se reserva una bandera de “Direccion de Destino presente” en un encabezamiento de trama (Campo Control de Trama (FrameControl)) y se establece a Falso (0) para senalizar el modo de direccionamiento inferido. El transmisor calcula la CRC a traves de toda la trama completa incluyendo la direccion de destino pero a continuacion suprime la direccion de destino (DAddr) antes de que se transmita el paquete o trama. Por lo tanto, la direccion de destino puede inferirse del resultado de CRC como se explicara a continuacion.
El receptor 105 comprueba la CRC insertando su propia direccion como se explicara a continuacion. En el caso de una coincidencia se acepta la trama, de otra manera se descarta de manera silenciosa. De esta manera el filtrado de CRC se hace cargo del papel del filtrado de Coincidencia de Direccion. Como se apreciara, puede usarse cualquier otra comprobacion de redundancia o incluso una codificacion de seguridad que incluya la direccion de destino en un algoritmo que genera un resultado conocido.
En particular, en sistemas inalambricos, puesto que la tara de alineacion de trama se hace mas corta, el ciclo de trabajo de la radio se reduce, y el caudal se aumenta. Puesto que la energfa consumida enviando un unico byte puede superar el presupuesto de energfa de cientos de operaciones de bytes de MCU, el impacto en la vida de la batena puede ser significativo.
La Figura 2 muestra otra realizacion con un dispositivo 320 transceptor acoplado con un microcontrolador o procesador 310 mediante una interfaz en serie y mediante circuitena 330 de adaptacion con una antena 340. El transceptor 320 puede disenarse para operar con un protocolo de transmision inalambrica, por ejemplo de acuerdo con la norma 802.15.4. Para este fin, el dispositivo transceptor comprende todos los elementos necesarios tales como la capa de control de acceso al medio (MAC), capa ffsica PHY, interfaz, gestion de potencia y memoria, etc., para transmitir y recibir de acuerdo con la norma. La funcionalidad adicional de acuerdo con diversas realizaciones puede implementarse en el dispositivo 320 transceptor o en el microcontrolador 310 como se indica mediante el registro 150 de control de trama con el bit 160 de indicacion de direccion de destino. Si se usa una unidad de CRC para realizar la comprobacion de redundancia, una unidad de este tipo se implementa en el respectivo dispositivo 320 como se muestra, por ejemplo, en la Figura 1 o en el microcontrolador 310. En caso de un microcontrolador o procesador, la CRC puede realizarse mediante software, por lo tanto, no requiriendo el hardware adicional. El transceptor puede ser un dispositivo de circuito integrado que puede acoplarse con un microcontrolador 310 por medio de una interfaz I2C y puede operarse en particular con batena.
Las Figuras 3 y 4 muestran diferentes modos de implementacion. De acuerdo con la Figura 3, el transmisor 100 o transceptor construyen la trama de manera que la informacion de control de trama FrameCtrl se concatena con un numero secuencial SeqNo, una direccion de destino DAddr, una direccion de origen SAddr y la cabida util de los datos. Como puede observarse un paquete o trama generalmente consiste en informacion de control que incluye la direccion de destino y datos de cabida util. Esta trama se alimenta a continuacion a la unidad 110 de CRC que calcula un resultado. El resultado se anexa a continuacion a la trama y de manera mas importante si el bit 160 de direccion de destino se establece a “0”, la direccion de destino DAddr se retira de la trama como se muestra en la trama B en la Figura 3. Por lo tanto, dependiendo del tipo de transmision, la informacion de control incluye cualesquiera datos de control que sean necesarios pero sin la direccion de destino. El receptor recibe la trama B, almacena el resultado de CRC transmitido y lo retira de la trama e inserta su propia direccion NAddr, en este punto entre SeqNo y Saddr como se muestra en la trama C en la Figura 3. Esta trama C se alimenta a continuacion en la unidad 115 de CRC en el lado del receptor que calcula el resultado de CRC. El resultado de CRC de lado del receptor se compara a continuacion con el resultado de CRC de transmisor previamente almacenado. Si ambos son el mismo, a continuacion se transmite la trama que se designo para el receptor y el receptor puede procesar
5
10
15
20
25
30
35
40
45
50
55
60
adicionalmente los datos almacenandolos y/o procesandolos.
La Figura 4 muestra otra posible realizacion que proporciona velocidad de procesamiento mejorada en particular cuando se usa un algoritmo de CRC. En esta realizacion la direccion de destino DAddr se mueve a la cabecera del calculo de CRC en el modo de direccionamiento inferido. Esto puede hacerse sin penalizacion puesto que la DAddr no se envio. El beneficio es que ahora el receptor puede inicializar el calculo de la CRC con un vector precalculado desde su propia direccion NAddr una vez en la inicializacion. Esto puede hacerse antes de que se haya recibido cualquier dato. Por lo tanto en la llegada de la trama, el calculo de cRc se coordina con la recepcion en particular a medida que el algoritmo de CRC procesa su resultado desplazando los bits de datos recibidos en el motor de CRC que se explicara en mayor detalle a continuacion.
Incluso aunque en algunas realizaciones pueden descartarse tramas unicamente despues de que se haya recibido el ultimo byte, por lo tanto, aumentando el consumo de potencia en nodos no direccionados por la trama, en general sustancialmente no tiene lugar penalizacion puesto que los dispositivos inalambricos de ciclo de trabajo alto se alimentan para que esten activos la mayona del tiempo de todas maneras. Mientras que los nodos de ciclo de trabajo bajo usan interrogacion u otros procedimientos de sincronizacion para recepcion, que minimiza la ventana de tiempo para direccionamiento erroneo. Mientras tanto el lado de transmision siempre ahorra potencia.
En casos muy raros dos direcciones elegidas aleatoriamente pueden producir el mismo vector de inicializacion de CRC creando por lo tanto un conflicto de direccionamiento. Suponiendo una CRC de 16 bits, este caso tiene muy baja probabilidad, e incluso puede no tener lugar si las dos direcciones difieren unicamente a traves de un intervalo de 16 bits. Pueden usarse otros elementos del protocolo para resolver el problema. Pautas de error espedficas pueden dar como resultado direccionamiento erroneo. Pero esto es equivalente al caso cuando un error pasa desapercibido. Por lo tanto, se supone que las aplicaciones lo hacen frente.
De acuerdo con una realizacion de ejemplo espedfica de esta divulgacion un campo Destino Presente de 1 bit en el paquete o trama puede determinar si existe una direccion de destino en el encabezamiento de MAC. Cuando se establece este bit, la direccion de destino con longitud definida mediante el transceptor o el protocolo de interconexion en red esta presente en el encabezamiento de MAC. Cuando este bit esta libre, la direccion de destino no se muestra en el encabezamiento de MAC. La ausencia de una direccion de destino puede ocurrir en otras transmisiones. Por ejemplo, en un paquete de acuse de recibo, no hay direccion de destino presente. Cuando el tipo de paquete o trama es 0b10, el bit de Destino Presente debe liberarse ya que no es necesario para un acuse de recibo. Un modo de transmision completamente diferente tampoco requiere una direccion de destino, en concreto, un paquete de difusion, tal como una transmision que se pretende que se reciba por cualquier receptor. Por lo tanto, cuando se establece el bit de difusion, el bit de Destino Presente debe liberarse tambien y no se incluye direccion de destino. Finalmente, como se ha explicado anteriormente, la direccion de destino puede omitirse si se usa destino inferido. Cuando se usa el modo de destino inferido, la direccion de destino se usa aun cuando se calcula la CRC, pero no se transmite. Cuando el transceptor recibe el paquete o trama, comprobara la CRC con su propia direccion anadida. Un error de CRC en este caso es debido al error de transmision o a que el mensaje no es para este nodo de recepcion.
La siguiente divulgacion explica el algoritmo de CRC en mas detalle. Sin embargo, como se ha establecido anteriormente, pueden usarse otros procedimientos para comprobar una redundancia y la presente invencion no esta limitada a usar el procedimiento de CRC.
CRC es uno de los algoritmos de comprobacion de errores mas versatiles usados en diversos sistemas de comunicacion digital. CRC establece la Comprobacion de Codigo de Redundancia Cfclica o simplemente la Comprobacion de Redundancia Cfclica. La mayona de los protocolos de comunicacion populares, como CAN, USB, IrDA®, SDLC, HDLC y Ethernet, emplean CRC para deteccion de errores. Normalmente, para la deteccion de errores en sistemas de comunicacion digitales, se calcula una suma de comprobacion en el mensaje que necesita transmitirse. La suma de comprobacion calculada se anexa a continuacion al final del flujo de mensaje y se transmite. En el extremo de recepcion, la suma de comprobacion del flujo de mensaje se calcula y compara con la suma de comprobacion transmitida. Si ambas son iguales, entonces el mensaje recibido se trata como libre de errores.
CRC funciona de una manera similar, pero tiene mayores capacidades para deteccion de errores que las formas convencionales. Se emplean diferentes polinomios de CRC para deteccion de errores. El tamano de CRC depende del polinomio elegido. Un modulo de hardware especializado puede usarse para implementar una CRC. Todos los calculos de CRC se llevan a cabo en el GF (2) (campo de Galois para 2 elementos); 'campo' es algo en el que realizar adicion, resta, multiplicacion y division puede realizarse y los '2 elementos' especifican que el campo tiene unicamente dos valores, cualquiera de '1' o '0'. Esto es analogo al campo binario o modulo 2. La aritmetica modulo 2 usa adicion o resta binaria sin arrastre, que es equivalente a la operacion XOR. La multiplicacion y division son similares a la multiplicacion y division binaria, respectivamente. El mensaje a transmitirse se trata como un polinomio y se divide por un polinomio irreducible (primo) conocido como el 'polinomio generador'. El grado del polinomio generador debena ser menor que el del polinomio del mensaje. Para un polinomio generador de 'n + 1' bits, el resto no sera mayor que 'n' bits. La suma de comprobacion de CRC de los datos es el binario equivalente del resto despues de la division.
5
10
15
20
25
30
Si se considera un mensaje de 'M' de 'k' bits y polinomio generador 'G' de 'n + 1' bits, dividir el mensaje por el generador producira un resto 'R' de 'n' bits. Por lo tanto, M = GQ + R; donde Q es el cociente obtenido cuando M se divide por G.
M = G . Q + R
M + R = GQ = M - R (1)
(Puesto que la adicion y resta son equivalentes en la aritmetica de modulo 2). Ahora, M + R = GQ, donde la suma de comprobacion esta embebida en el mensaje (M + R). En este punto, anadiendo la suma de comprobacion al mensaje, los ultimos 'n' bits del mensaje se corrompen. En lugar de embeber la suma de comprobacion en el mensaje, la suma de comprobacion se anexa al mensaje, evitando por lo tanto la corrupcion de los bits de mensaje. Cuando se anexa el resto al mensaje para transmision, es equivalente a desplazar los bits de mensaje por el numero de bits restantes. Inicialmente, el flujo de mensaje se anexa con ceros. Despues del calculo de suma de comprobacion, se sustituyen ceros por la suma de comprobacion real calculada, que es el binario equivalente del resto de la division. El numero de ceros anexados es dependiente del grado del polinomio generador.
Anexar 'n' bits cero al polinomio del mensaje es equivalente a multiplicar el polinomio por 2n. La ecuacion 2 explica esto:
M = G - Q + R M 2n = Q1 • G + R1
M 2n + R1 = Q1 • G (2)
A partir de la ecuacion 2, puede observarse que G es el multiplo exacto de (M 2n + R'). En el extremo de recepcion, si G es un multiplo exacto del mensaje, entonces el mensaje no se corrompe.
En el campo binario, los datos estan en forma de un polinomio (es decir, si el campo de datos es '11101', entonces puede representarse en la forma polinomial escribiendose como X4+ X3+ X2+ X0). En general, un polinomio generador es irreducible y los bits Mas Significativos y los bits Menos Significativos son siempre '1'. Algunos polinomios generadores y su interpretacion se muestran a continuacion en la Tabla 1.
Tabla 1
- Tipo
- Polinomio Binario Hex
- CRC. 12:
- X12+X11+X3+X2+X+1 1100000001111 :180Fh
- CRC. 16:
- X16+X15+X2+1 11000000000000101 :11021h
- CRC. CCITT:
- X16+X12+X5+1 10001000000100001 :18005h
Como se muestra en un calculo ejemplar en la Figura 5, lo siguiente supone que un polinomio de mensaje es '1100100111' y un polinomio generador es '10101' (n + 1 = 5). Para el fin del calculo de CRC, se anexan cuatro (n) ceros al polinomio de mensaje y se divide el polinomio de mensaje por el polinomio generador.
A partir de la Figura 5, puede inferirse que en cada etapa se desplaza el bit mas superior del resultado. Estos bits desplazados forman el cociente de la division polinomial. El resto de la division polinomial es la CRC del mensaje. Con el ejemplo de division dado, puede deducirse que:
- Si el bit mas superior de un polinomio de mensaje es '1', entonces se realiza XOR con el polinomio generador. Entonces, este polinomio de mensaje se desplaza en 1 bit.
- Si el bit mas superior es un '0', realizar una operacion de desplazamiento en 1 bit en el polinomio de mensaje (puesto que XOR con ceros da como resultado el mismo polinomio).
Con las inferencias anteriores, puede definirse un algoritmo para calculo de CRC como:
1. Si el bit Mas Significativo es '1', desplazar los bits de mensaje en 1 posicion y realizar una operacion XOR.
2. Si el bit Mas Significativo es '0', desplazar los bits de mensaje en 1 posicion.
3. Si aun hay mas bits, entonces repetir desde la etapa 1.
Puede observarse que la operacion de desplazamiento se realiza en primer lugar y a continuacion la operacion
5
10
15
20
25
30
35
40
45
50
55
60
XOR. Cuando el polinomio generador es 'n + 1' bits, el bit Mas Significativo es siempre '1'. Puesto que es siempre '1', puede hacerse mas redundante o no es necesario que se indique. Por lo que, de manera eficaz, 'n' bits pueden usarse para representar el polinomio generador en lugar de 'n + 1' bits. Si se supone '10101' como el polinomio generador, puesto que el MSb es el bit mas redundante, la longitud de bits real es 4 bits en lugar de 5 bits. La operacion XOR real debena realizarse cuando el registro de desplazamiento MSb sea '1'; puesto que no se considera el 5° bit, se observa el 4° bit, y cuando es logica '1', se desplaza 1 bit mas y se realiza la operacion XOR. Por lo tanto, se realiza en primer lugar una operacion de desplazamiento antes de la operacion XOR.
El algoritmo anterior puede usarse para el calculo de CRC tanto en hardware como en software. En hardware, el calculo de CRC se hace usando un Registro de Desplazamiento de Realimentacion Lineal (LFSR). El LFSR esta constituido por biestables D y puertas XOR como se muestra por ejemplo en la Figura 6, el numero de registros de desplazamiento es igual al grado del polinomio generador seleccionado. Las puertas XOR forman una realimentacion desde el registro LFSR para actuar como un controlador de derivacion para el polinomio. Despues de que se han desplazado todos los bits del mensaje, los bits que se han desplazado desde el cociente y los bits restantes en el registro de desplazamiento forman el resto.
Una CRC es una operacion sencilla y robusta que se consigue usando un registro de desplazamiento en aritmetica de modulo 2. Esto es debido a que el calculo de modulo 2 se realiza de manera sencilla realizando operaciones XOR en los numeros, por lo tanto, es muy conocido. En este tipo de operacion de CRC, tanto el resto como el cociente pueden obtenerse. Puesto que el cociente en el calculo de CRC no es necesario, se desprecia y unicamente se toma el resto del registro de LFSR. En el extremo de recepcion, el flujo de mensaje mas la suma de comprobacion se tratan como el mensaje para el calculo de CRC. Si el resultado es cero, entonces el mensaje recibido, junto con la CRC, estan libres de errores, sino el flujo de mensaje esta corrupto.
De acuerdo con diversas realizaciones, una unidad de CRC programable puede estar integrada en un transceptor inalambrico o un microcontrolador. La Figura 7 muestra una realizacion del motor 110/115 de CRC que puede usarse, por ejemplo, en un transmisor, receptor o transceptor inalambrico como se muestra en las Figuras 1 y 2. Un registro TAP se forma por las celdas 230a, 240a, 250a,...270 de registro de desplazamiento que se controlan por una senal de reloj Clk y senal de retencion Hold. La realizacion mostrada en la Figura 7 representa ciertas secciones de un generador de cRc de 16 bits. Sin embargo, pueden realizarse facilmente otras configuraciones con 8 o 32 bits o cualquier otro tamano. La entrada de la celda 230a esta acoplada con la salida de la puerta 220 XOR que recibe la senal 225 de entrada de datos en serie y la senal de salida de realimentacion desde el multiplexor 210. La salida de la celda 230a esta acoplada con la primera entrada del multiplexor 210, la primera entrada del multiplexor de seleccion X1, la primera entrada de la puerta 230b XOR, y el bus 280 de lectura de CRC. La segunda entrada de la puerta 230b XOR esta acoplada con la senal de salida de realimentacion desde el multiplexor 210 y la salida de la puerta 230b XOR con la segunda entrada del multiplexor 230c de seleccion. La salida del multiplexor 230c de seleccion esta acoplada con la entrada de la siguiente celda 240a de desplazamiento y con el bus 290 de escritura de CRC. Las siguientes celdas 240a...250a de desplazamiento se proporcionan con las respectivas puertas 240b..250b XOR y multiplexores 240c...260c de seleccion y estan conectadas de la misma manera que la celda 230a a respectivas entradas del multiplexor 210 y los buses 280 y 290. La salida de la ultima celda 270 esta acoplada con la ultima entrada del multiplexor 210, y los buses 280 y 290 de lectura y escritura de CRC. El multiplexor 210 se controla por el registro 215 de longitud polinomial PLEN. Los multiplexores 230c...260c se controlan por el registro 235 polinomial POLY. El bus 280 de lectura de CRC puede acoplarse con el registro 285 que contiene el resultado y el bus 290 de escritura de CRC puede acoplarse al registro 295 que contiene el valor de precarga.
El multiplexor 210 se usa para seleccionar el punto de realimentacion y longitud efectiva del generador de CRC a traves del registro PLEN. El registro 215 controla la longitud del generador 200 de CRC y es seleccionable por el usuario. Se realiza la operacion XOR a los datos de realimentacion que se proporcionan por la salida del multiplexor 210 con los datos actualmente en el registro 230a, 240a, 250a, 270 de desplazamiento de CRC por medio de las puertas 230b...260c XOR. Los multiplexores 230c, 240c, 250c y 260c de seleccion se usan para seleccionar si los datos XOR o los datos anteriores en el registro 230a, 240a, 250a, 270 de desplazamiento se desplazan en el siguiente reloj. El registro 235 polinomial se usa para configurar que bits se desplazan a traves y que bits toman los datos de realimentacion que se han sometido a la operacion XOR con los datos anteriores en el generador de CRC que contiene la entrada X1 de los multiplexores 230c, 240c, 250c y 260c. El bus 290 de escritura de CRC puede usarse para precargar los biestables 230a, 240a, 250a, 270 de CRC por medio de un registro 295 de precarga. El bus 280 de lectura de CRC puede usarse para leer el valor del generador de CRC. Los datos 225 se proporcionan mediante la salida del multiplexor 160 y se desplazan en la CRC a traves de la puerta 220 XOR. La disposicion mostrada en la Figura 7, por lo tanto, proporciona un registro de desplazamiento de realimentacion lineal (LFSR) con diversas configuraciones basandose en la localizacion de derivacion/XOR en una cadena de estilo LFSR.
El motor de CRC puede ser un motor de CRC de desplazamiento en serie convencional como se muestra por ejemplo en la Figura 7 con puntos de alimentacion anticipada y realimentacion configurables a traves de ajustes de multiplexor. Sin embargo, puede usarse cualquier otro tipo de motor de CRC. El polinomio generador puede programarse usando los 16 bits. Escribir un '1 ' en un biestable 230a, 240a, 250a, 270 activa la puerta 220, 230b, 240b, 250b XOR asociada con ese elemento del polinomio. El registro 215 de longitud polinomial senaliza la longitud del polinomio, y conmuta un multiplexor 210 para dictar la derivacion desde la que proviene la realimentacion. El
registro 180, 190 de anchura de datos configura la anchura de la palabra de datos y afecta el numero de relojes despues de que el FIFO 130 avanza a la siguiente palabra de datos. El resultado del calculo de CRC puede obtenerse leyendo los biestables 230a, 240a, 250a, 270 de retencion a traves del bus 280 de lectura de CRC y almacenarse en el registro 285. La anchura de datos puede configurarse independiente de la longitud de polinomio 5 usando los bits de configuracion de anchura de datos en un respectivo registro. No hay restricciones sobre la relacion entre la anchura de datos y la longitud del polinomio. Si los datos son mas anchos que la longitud polinomial, los relojes adicionales desplazaran los datos mas anchos a traves del polinomio y viceversa.
Las realizaciones representadas y descritas de esta divulgacion son ejemplos unicamente.
Claims (15)
- 510152025303540455055REIVINDICACIONES1. Un transceptor que tiene una direccion asociada, que comprende:una unidad (110,115) de calculo de informacion de redundancia;una unidad (130, 135) de ensamblaje y reconstruccion de mensaje acoplada con dicha unidad (110,115) de calculo de informacion de redundancia;una unidad de transceptor acoplada con la unidad (130, 135) de ensamblaje y reconstruccion de mensaje para transmitir y recibir paquetes,en el que la unidad (130, 135) de ensamblaje y reconstruccion de mensaje esta configurada para transmision:para ensamblar un paquete que incluye informacion de control y datos de cabida util, en el que la informacion de control incluye una direccion de destino;reenviar dicho paquete ensamblado a la unidad (110, 115) de calculo de informacion de redundancia para calcular una informacion de redundancia,retirar dicha direccion de destino desde dicho paquete ensamblado y anadir la informacion de redundancia al paquete,establecer un bit (160) de control en el paquete que indica que no se incluye direccion de destino en el paquete; yreenviar el paquete a una unidad (140) de transmision de la unidad de transceptor; y configurado adicionalmente para recepcion:para determinar si se incluye una direccion de destino en informacion de control de un paquete recibido; si no se incluye direccion de destino, insertar la direccion (125) asociada del transceptor en la informacion de control y eliminar una informacion de redundancia recibida desde dicho paquete;reenviar dicho paquete que incluye dicha direccion asociada a dicha unidad (110, 115) de calculo de redundancia para calcular una informacion de redundancia de recepcion; ycomparar la informacion de redundancia de recepcion y la informacion de redundancia recibida y si coinciden, aceptar dicho paquete y de otra manera descartar dicho paquete.
- 2. Un procedimiento de transmision de datos en un sistema de transmision basado en paquetes, que comprende las etapas de:ensamblar un paquete que incluye informacion de control y datos de cabida util, en el que la informacion de control incluye una direccion de destino;calcular informacion de redundancia usando dicho paquete ensamblado;retirar dicha direccion de destino desde dicho paquete despues de que se haya calculado la informacion de redundancia, anadir la informacion de redundancia al paquete, y establecer un bit de control en el paquete que indica que no se incluye direccion de destino en el paquete; y transmitir el paquete.
- 3. Un transmisor que comprende:una unidad (130) de ensamblaje de mensaje;unidad (110) de calculo de informacion de redundancia acoplada con dicha unidad (130) de ensamblaje de mensaje; yuna unidad (140) de transmision acoplada con la unidad (130) de ensamblaje de mensaje,en el que la unidad (130) de ensamblaje de mensaje esta configurada paraensamblar un paquete que incluye informacion de control y datos de cabida util, en el que la informacion de control incluye una direccion de destino;reenviar dicho paquete ensamblado a la unidad (110) de calculo de informacion de redundancia para calcular una informacion de redundancia,retirar dicha direccion de destino desde dicho paquete despues de que se haya calculado la informacion de redundancia,anadir la informacion de redundancia al paquete,establecer un bit (160) de control en el paquete que indica que no se incluye direccion de destino en el paquete, y reenviar el paquete a la unidad (140) de transmision.
- 4. El procedimiento, transceptor o transmisor de acuerdo con una de las reivindicaciones anteriores, en los que el bit (160) de control en el paquete que indica que no se incluye direccion de destino en el paquete se establece antes de calcular la informacion de redundancia.
- 5. El procedimiento, transceptor, o transmisor de acuerdo con una de las reivindicaciones anteriores, en los que, durante el ensamblaje, la direccion de destino esta incluida en un encabezamiento de trama.510152025303540
- 6. El procedimiento, transceptor, o transmisor de acuerdo con una de las reivindicaciones anteriores, en los que, durante el ensamblaje, la direccion de destino es la primera informacion incluida en el encabezamiento de trama.
- 7. Un procedimiento de recepcion de datos en un sistema de transmision basado en paquetes, en el que un receptor tiene una direccion asociada, comprendiendo el procedimiento las etapas de:recibir un paquete que incluye informacion de control, datos de cabida util e informacion de redundancia de transmision;determinar si se incluye una direccion de destino en dicha informacion de control;si no se incluye direccion de destino entonces insertar la direccion asociada en la informacion de control yeliminar dicha informacion de redundancia de transmision desde dicho paquete;posteriormente calcular informacion de redundancia de recepcion usando dicho paquete; ycomparar la informacion de redundancia de recepcion y la informacion de redundancia de transmision y sicoinciden, aceptar dicho paquete y de otra manera descartar dicho paquete.
- 8. Un receptor que tiene una direccion asociada, que comprende:una unidad (135) de reconstruccion de mensaje;una unidad (115) de calculo de informacion de redundancia acoplada con dicha unidad (135) de reconstruccion de mensaje; yuna unidad (145) de recepcion acoplada con la unidad (135) de reconstruccion de mensaje, operable para recibir un paquete que incluye informacion de control, datos de cabida util e informacion de redundancia de transmision,en el que la unidad (135) de reconstruccion de mensaje puede operarse para determinar si se incluye una direccion de destino en dicha informacion de control;si no se incluye direccion de destino, entonces la unidad (135) de reconstruccion de mensaje esta configurada para insertar la direccion (125) asociada del receptor en la informacion de control y eliminar dicha informacion de redundancia de transmision desde dicho paquete;reenviar dicho paquete a dicha unidad (115) de calculo de redundancia para calcular una informacion de redundancia de recepcion; ycomparar la informacion de redundancia de recepcion y la informacion de redundancia de transmision y si coinciden, aceptar dicho paquete y de otra manera descartar dicho paquete.
- 9. El procedimiento, transceptor, transmisor o receptor de acuerdo con una de las reivindicaciones anteriores, en los que la informacion de redundancia se calcula usando una comprobacion de redundancia dclica, CRC.
- 10. El procedimiento o receptor de acuerdo con una de las reivindicaciones anteriores 7-9, en los que determinar si se incluye una direccion de destino se realiza comprobando si se establece un bit (160) predeterminado en un encabezamiento de trama.
- 11. El procedimiento, transceptor, transmisor o receptor de acuerdo con una de las reivindicaciones anteriores, en los que el paquete se transmite o recibe de manera inalambrica.
- 12. El procedimiento, transceptor, transmisor o receptor de acuerdo con la reivindicacion 11, en el que el procedimiento opera con una norma de transmision 802.15.4.
- 13. El transmisor o receptor de acuerdo con una de las reivindicaciones anteriores, en el que el transmisor o receptor es parte de un transceptor en un circuito integrado que tiene una interfaz I2C.
- 14. El transmisor, transceptor o receptor de acuerdo con una de las reivindicaciones anteriores, que comprende adicionalmente una batena como una fuente (170, 175) de alimentacion.
- 15. El receptor o transceptor de acuerdo con una de las reivindicaciones anteriores, que comprende adicionalmente memoria para almacenar la informacion de redundancia de transmision y/o la direccion (125) asociada insertada.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US757709 | 1991-09-11 | ||
| US18563509P | 2009-06-10 | 2009-06-10 | |
| US185635P | 2009-06-10 | ||
| US12/757,709 US8571021B2 (en) | 2009-06-10 | 2010-04-09 | Packet based data transmission with reduced data size |
| PCT/US2010/037951 WO2010144561A1 (en) | 2009-06-10 | 2010-06-09 | Packet based data transmission |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2608807T3 true ES2608807T3 (es) | 2017-04-17 |
Family
ID=43306368
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES10731631.7T Active ES2608807T3 (es) | 2009-06-10 | 2010-06-09 | Transmisión de datos basada en paquetes |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8571021B2 (es) |
| EP (1) | EP2441197B1 (es) |
| KR (1) | KR101787467B1 (es) |
| CN (1) | CN102388559B (es) |
| ES (1) | ES2608807T3 (es) |
| TW (1) | TWI462532B (es) |
| WO (1) | WO2010144561A1 (es) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8565229B2 (en) * | 2010-06-18 | 2013-10-22 | Schweitzer Engineering Laboratories Inc | Systems and methods for data packet transmission |
| US9154363B2 (en) | 2011-05-13 | 2015-10-06 | Qualcomm Incorporated | Systems and methods for wireless communication of packets having a plurality of formats |
| US9515925B2 (en) * | 2011-05-19 | 2016-12-06 | Qualcomm Incorporated | Apparatus and methods for media access control header compression |
| US9781235B2 (en) * | 2013-03-14 | 2017-10-03 | Qualcomm, Incorporated | Subframe format indication field |
| CN111065074B (zh) | 2014-01-16 | 2023-06-09 | 三星电子株式会社 | 电子设备及其方法 |
| CN103955445B (zh) * | 2014-04-30 | 2017-04-05 | 华为技术有限公司 | 一种数据处理方法、处理器及数据处理设备 |
| US10581569B2 (en) * | 2014-08-22 | 2020-03-03 | Qualcomm Incorporated | Techniques for transmitting and receiving synchronization signals over an unlicensed radio frequency spectrum band |
| US10779147B2 (en) | 2014-11-18 | 2020-09-15 | Micron Technology, Inc. | Wireless memory interface |
| DE102015004580A1 (de) * | 2015-04-14 | 2016-10-20 | Airbus Defence and Space GmbH | Übertragungsverfahren und Vorrichtungen zur Übertragung |
| GB201717295D0 (en) * | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Synchronization in a multi-tile processing array |
| US10963003B2 (en) * | 2017-10-20 | 2021-03-30 | Graphcore Limited | Synchronization in a multi-tile processing array |
| US10812103B1 (en) * | 2018-02-23 | 2020-10-20 | Xilinx, Inc. | Cyclic redundancy check engine and method therefor |
| US10841039B2 (en) * | 2018-10-30 | 2020-11-17 | Infineon Technologies Ag | System and method for transferring data and a data check field |
| DE102020105794B4 (de) * | 2020-03-04 | 2022-02-03 | Infineon Technologies Ag | Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation |
| US20230185821A1 (en) * | 2021-12-09 | 2023-06-15 | BlackBear (Taiwan) Industrial Networking Security Ltd. | Method of database replication and database system using the same |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2996750B2 (ja) * | 1991-02-13 | 2000-01-11 | 株式会社東芝 | ディジタル無線通信装置 |
| US6115394A (en) | 1998-03-04 | 2000-09-05 | Ericsson Inc. | Methods, apparatus and computer program products for packet transport over wireless communication links |
| JP2007529928A (ja) * | 2004-03-19 | 2007-10-25 | ノボ・ノルデイスク・エー/エス | 医療用デバイスのデータ伝送に使用されるパケットヘッダのフォーマットサイズの削減 |
| US20050271150A1 (en) * | 2004-06-07 | 2005-12-08 | Steve Moore | Digital modulation system and method |
| JP2006244416A (ja) * | 2005-03-07 | 2006-09-14 | Fujitsu Ltd | マスターノード及びスレーブノードを有する電子装置システム |
| US8045589B2 (en) * | 2007-04-26 | 2011-10-25 | Kyocera Corporation | Radio communication system with data structure change |
| EP1988655A1 (en) | 2007-05-03 | 2008-11-05 | NTT DoCoMo, Inc. | Method and apparatus for using an error code in transmission of data |
| CN101350768B (zh) * | 2007-07-19 | 2011-08-24 | 中兴通讯股份有限公司 | 在广播网络中传送ip报文的方法 |
-
2010
- 2010-04-09 US US12/757,709 patent/US8571021B2/en active Active
- 2010-05-28 TW TW099117262A patent/TWI462532B/zh active
- 2010-06-09 WO PCT/US2010/037951 patent/WO2010144561A1/en not_active Ceased
- 2010-06-09 ES ES10731631.7T patent/ES2608807T3/es active Active
- 2010-06-09 CN CN201080016357.9A patent/CN102388559B/zh active Active
- 2010-06-09 EP EP10731631.7A patent/EP2441197B1/en active Active
- 2010-06-09 KR KR1020117023754A patent/KR101787467B1/ko active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP2441197B1 (en) | 2016-09-28 |
| US8571021B2 (en) | 2013-10-29 |
| CN102388559B (zh) | 2016-02-03 |
| WO2010144561A1 (en) | 2010-12-16 |
| TWI462532B (zh) | 2014-11-21 |
| CN102388559A (zh) | 2012-03-21 |
| KR101787467B1 (ko) | 2017-10-19 |
| US20100315965A1 (en) | 2010-12-16 |
| KR20120035910A (ko) | 2012-04-16 |
| EP2441197A1 (en) | 2012-04-18 |
| TW201110621A (en) | 2011-03-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2608807T3 (es) | Transmisión de datos basada en paquetes | |
| US8543888B2 (en) | Programmable cyclic redundancy check CRC unit | |
| ES2512444T3 (es) | Sistema y método para detectar y comunicar pérdida y retención de sincronización en un esquema de transferencia de datos en tiempo real | |
| ES2727623T3 (es) | Procedimiento para la transmisión en serie de una trama mediante un sistema de bus, desde un emisor hacia al menos un receptor, y participantes de un sistema de bus | |
| ES2206222T3 (es) | Metodo y aparato de transmision de datos. | |
| EP0229353B1 (en) | Method and system for handling transmission errors | |
| TW588521B (en) | A protocol for framing a payload | |
| EP1815624B1 (en) | Systems and methods for implementing cyclic redundancy checks | |
| US5195093A (en) | Method and apparatus for ensuring CRC error generation by a data communication station experiencing transmitter exceptions | |
| CN104620542A (zh) | 具有灵活数据速率的控制器局域网 | |
| US20130042162A1 (en) | Chained checksum error correction mechanism to improve tcp performance over network with wireless links | |
| PL178432B1 (pl) | Sposób i system do nadawania i odbioru wiadomości | |
| US10129371B2 (en) | Serial communication device and serial communication method | |
| ES2957415T3 (es) | Estación de abonado para un sistema de bus serie y procedimiento de comunicación en un sistema de bus serie | |
| US7434150B1 (en) | Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations | |
| US7055086B2 (en) | Method and apparatus for protecting parts of a packet in a wireless network | |
| US7360142B1 (en) | Methods, architectures, circuits, software and systems for CRC determination | |
| US7913150B2 (en) | Error detection in a communications link | |
| ES2982992T3 (es) | Estación de suscripción a un sistema de bus en serie y método de comunicación en dicho sistema | |
| ES2476026T3 (es) | Receptor sincronizado | |
| US9438411B1 (en) | Method and apparatus for synchronizing digital messages | |
| CN111713046A (zh) | 用于串行通信网络的用户站和用于校正串行通信网络的消息中的各个错误的方法 | |
| KR20160050486A (ko) | 프레임 헤더 전송 장치 및 이를 이용한 프레임 헤더 전송 방법 | |
| US8467372B2 (en) | Wireless communication system with reordering of data symbols and related methods | |
| JP7065780B2 (ja) | デジタル通信システムにおけるパケット開始検出のための方法及び装置 |