Utilizo un módulo NRF24L01 + configurado para el receptor, dirección de 3 bytes, CRC de 1 byte, 1 Mbit / s, canal 2402 MHz, escucha de 2 canales. Las direcciones son no triviales (0x525443 y 0x4d4252).
Pero cuando el transmisor está apagado y el receptor sigue escuchando, a menudo detecto falsos paquetes: cada 5-15 minutos recibo un paquete válido (con carga útil al azar, por supuesto) para una tubería. Así que la dirección y el CRC coinciden. ¿Por qué ?
Solo un simple cálculo: supongamos que el chip NRF24 desmodula constantemente la señal de RF entrante, incluso si no hay un operador 1) . Para un paquete válido, es necesario que coincida con 4 bytes: synchro (0xAA / 0x55 según el primer bit de dirección), 3 bytes de dirección (cualquiera de las 2 canalizaciones), 1 byte CRC, por lo que el tiempo promedio para la detección falsa (suponga una distribución uniforme) es
2 40 / (2 × 10 6 ) sec = 152 horas
Además, cuando configuré el chip para CRC de 2 bytes, obtuve una detección falsa después de 1.5 horas . Esto es muy sorprendente, ya que el CRC se distribuye de manera uniforme y el tiempo promedio para la detección falsa se debe multiplicar por 256, pero en realidad se multiplica por 10 aproximadamente. ¿Por qué? Estoy muy confundido.
¿Alguien tiene este problema? Tal vez alguien pueda repetir mi experimento?
P. S. Sé que NRF24L01 + admite direcciones de 5 bytes, y puedo agregar cualquier número de mis propios bytes de suma de control a la carga útil para resolver mi problema. Tengo una pregunta teórica. ¿Por qué tengo tan a menudo la detección falsa, que no está de acuerdo con las matemáticas.
1) El registro de detección de portadora de impresión del receptor (0x09, llamado RPD
para NRF24L01 +) cuando aparece un paquete válido: RPD es 0
cuando tengo un paquete accidental, RPD
es 1 cuando envío un paquete desde un transmisor.