problema en el modo de suspensión de la serie 2 de xbee

2

Tengo algunos problemas para manejar el modo de suspensión xbee s2. Espero que todos puedan ayudarme.

El siguiente es mi configuración: La red se compone de un coordinador y varios dispositivos finales, todos en modo transparente. El coordinador está conectado a X-CTU y una computadora y recibe todos los mensajes.

Los dispositivos finales están conectados a otra MCU (MSP430), MCU despierta xbee periódicamente (8 segundos, 16 segundos, 48 segundos, etc.), escribe un mensaje corto (11 bytes) a xbee a través de UART, luego afirma inmediatamente el pin sleep_rq de xbee.

Aquí está el problema: Si configuro el intervalo de activación en 8 segundos, todos los mensajes del mismo dispositivo final se enviarán en dos lotes de mensajes en un intervalo de aproximadamente 16 segundos, en lugar de un mensaje cada 8 segundos. Si configuro el intervalo de activación en 48 segundos, nuevamente, todos los mensajes siguen llegando en dos grupos de mensajes aproximadamente cada 96 segundos, más los últimos dos bytes del segundo mensaje se pierden constantemente.

El SN, SP tanto en el coordinador como en los dispositivos finales están configurados correctamente. El RO está en el valor predeterminado 3.

Si no hago valer el pin sleep_rq de xbee y mantengo xbee despierto todo el tiempo, entonces no importa cuál sea el intervalo entre dos mensajes, todos los mensajes vienen uno por uno en un intervalo definido.

Creo que esto tiene algo que ver con la paquetización, pero podría resolver el problema exacto.

Editar: Creo que en ciertas condiciones, cuando se afirma sleep_rq, el mensaje hasta cierta longitud se retendrá en el búfer de transmisión de xbee hasta que se despierte xbee la próxima vez. Me pregunto si hay alguna forma de forzar a xbee a enviar todo antes de dormir. Una forma de hacerlo es escribir suficiente byte ficticio para llenar todo el búfer de transmisión (84 bytes en modo transparente sin cifrado). Pero esto es realmente un desperdicio de rendimiento limitado de la red xbee. Así que espero que alguien pueda encontrar algo mejor.

Esto me está volviendo loco. Alguien, por favor diríjame a alguna literatura relevante.

Gracias de antemano, ZL

    
pregunta Zhiyong Li

1 respuesta

4

Tuve el mismo problema, fue causado por no esperar lo suficiente después de enviar el mensaje antes de volver a confirmar el pin sleep_rq. (@Dzarda lo consiguió). Experimenta con diferentes retrasos hasta que funcione.

Editar: Sé que ya has configurado SN y SP correctamente, pero dejaré esta parte de la respuesta para otros:

La otra cosa que debe saber es que debe configurar SN y SP en el enrutador siempre encendido para que no se agote el tiempo de espera y se olvide de los dispositivos finales. Si lo hace, la conexión puede tardar hasta 6 segundos en renegociar cuando el dispositivo final se quedó sin dormir. Consulte enlace

    
respondido por el geometrikal

Lea otras preguntas en las etiquetas