XBee, ¿cómo lidia con las colisiones?

4

Estoy empezando con los módulos XBEE S2 y tengo una duda de que todavía no puedo obtener una aclaración, espero que ustedes puedan ayudar.

Quiero que 2 dispositivos finales transmitan datos a un coordinador, todos ellos trabajando en modo API (caracteres escapados). Los datos deben enviarse "lo más rápido posible", así que me temo que tendré muchas colisiones. ¿Cómo trata XBEE con eso?

En los paquetes de RX puedo obtener la dirección de origen pero necesito leer muchos bytes antes de saberlo. ¿Qué sucede si mientras estoy leyendo bytes de un paquete, el otro dispositivo final comienza a enviar otro paquete? Si XBEE utiliza implícitamente la prevención de colisiones, ¿es eso "por byte" o "por paquete"?

¡Gracias!

    
pregunta msr

2 respuestas

5

La radio utilizada por estos módulos (capa MAC y AMP; PHY) se define mediante la IEEE 802.15.4 estándar que especifica el uso de Acceso múltiple por detección de portadora con prevención de colisión o abreviado como CSMA / CA .

En un resumen simple, un dispositivo realizará una exploración rápida del canal en el que está su red PAN y, si detecta que se está utilizando, esperará y volverá a intentar utilizando un esquema de retroceso exponencial aleatorio. Usando este método, puede pensar en el canal como un recurso compartido que "toma" un dispositivo para realizar una transmisión de ráfaga y luego se libera para que otros lo utilicen.

Se pueden responder otras preguntas sobre el transporte confiable al leerlo en la especificación Zigbee o la especificación IEEE 802.15.4.

    
respondido por el Jon L
1

No sé los detalles de XBee, pero creo que es un protocolo bastante pesado. Como tal, apostaría que emplea tanto la evitación de colisiones (en el nivel de control de acceso medio) como las retransmisiones automáticas (similar a TCP) y lo hace a nivel de paquetes.

    
respondido por el vicatcu

Lea otras preguntas en las etiquetas