Prevención de interferencias al utilizar transmisores y receptores de RF

2

Quiero utilizar un enfoque de "escuchar antes de hablar" para transmitir datos de sensores conectados a un par de transmisor y receptor a una MCU conectada a un transmisor y receptor, lo que significa que el sensor solo transmitirá datos una vez que haya La MCU me pidió que lo hiciera, pero el problema que tengo es que mis receptores no tendrán forma de saber si la información que está recibiendo es de uno de mis transmisores o de algún otro transmisor 433 en el área. El receptor I querer usar tiene una descripción del producto aquí que parece sugerir que puede haber un método para emparejar mis transmisores y receptores, pero cómo ? Si transmito información de identificación del transmisor, por ejemplo, si el transmisor está transmitiendo 4 bits, hago los primeros dos bits siempre "11" para que el receptor sepa que la información es de uno de los transmisores que debería escuchar si pudiera filtrar datos. No quiero en el AVR?

    
pregunta KillaKem

1 respuesta

5

Esos tipos de transmisores y receptores solo funcionan en un solo canal. Los receptores generalmente emplean una forma de control de ganancia activa (AGC), por lo que aumentarán la ganancia hasta que se reciba algo (generalmente ruido). La ganancia se reduce a un nivel apropiado cuando se inicia una transmisión.

Generalmente, la mejor práctica es:

  • Acepte una tasa de bits entre los dos sistemas (por ejemplo, 4800 bps). Generalmente los pares de receptor / transmisor le darán una guía sobre estos.
  • Transmita un preámbulo de 10101010 (generalmente entre 8 y 40 bits) antes de iniciar la transmisión principal. Esto tiene dos propósitos: permite al AGC establecerse en Un buen punto, y puede ser detectado por el microcontrolador por lo que es consciente de que se está iniciando una transmisión.
  • Transmitir una palabra de sincronización, p. ej. 0xD5F7, y solo escuche paquetes que tengan la palabra de sincronización correcta. La longitud de la palabra de sincronización varía.
  • Use el resto del paquete de datos para detallar la dirección, dirección y datos.

Descubrí que la biblioteca VirtualWire para Arduino es en realidad un ejemplo claro y agradable de Como va esto. Tal vez eche un vistazo, incluso si está trabajando con otra familia de microcontroladores.

Otra cosa que vale la pena considerar es la codificación de bits. Solo puedes enviar un 1 como un 1 y un 0 como un 0. Sin embargo, hay esquemas más complejos. La codificación de Manchester garantiza que cada bit de datos transmitidos tenga al menos una transición de señal. Esto tiene dos efectos significativos:

  1. Independientemente de los datos enviados, habrá un número igual de altos y bajos enviados. Esto significa que el AGC puede funcionar correctamente y no hay una polarización de CC en la señal.
  2. Como hay una transición para cada bit, es fácil recuperar el reloj de la señal incluso si no se conoce. Esto realmente significa que los transmisores ya no tienen la necesidad de usar un cristal externo: el oscilador interno es lo suficientemente preciso.
respondido por el Cybergibbons

Lea otras preguntas en las etiquetas