NRF24L01 detección de presencia

7

He adaptado mi biblioteca RF73 / RFM73 para el NRF24L01. Estos chips son casi idénticos, excepto que el RFM73 tiene un segundo banco de registros que deben inicializarse con algunos valores mágicos. El RFM73 tiene un comando especial para cambiar entre los bancos y un bit en el registro de estado que indica el banco actual. Esto proporciona un buen mecanismo para probar la presencia del chip (cambie el otro banco y verifique que el bit en el registro de estado conmuta), sin alterar ninguna configuración ni transmitir nada.

¿Alguien ha encontrado una característica del NRF24L01 que se pueda usar de manera similar para probar la presencia de este chip?

    

2 respuestas

2

Esta biblioteca distingue el NRF24L01 del NRF24L01 + al intentar establecer la velocidad de datos de 250 Kbps. Si tiene éxito, entonces el chip es de la variedad +. También puedes intentar encender y apagar el chip. ¿Parece improbable que molestes a otros controladores de software? estableciendo y volviendo a establecer estas configuraciones. enlace

    
respondido por el joeforker
1

No conozco todas tus restricciones, es decir, cuántos bytes te atreves a enviar si te preocupa que algún dispositivo SPI otro esté presente en su lugar o lo que sea, pero suponiendo que estés dispuesto a hacerlo Algunas comunicaciones [SPI, no necesariamente RF] y que usted es el usuario exclusivo de ese dispositivo SPI seleccionado, parece que hay muchas formas de abordar esto:

  • si sabe que la radio se habrá reiniciado en sus valores predeterminados, verifique que RX_ADDR_P0 sea 0xE7E7E7E7E7. No descarta completamente el ruido, y algunos bytes más que la comprobación, por ejemplo. RF_SETUP byte, pero parece una apuesta decente.
  • si está escribiendo bien en el dispositivo, configure RX_ADDR_P0 a algún valor de señal aleatorio o improbable y compruebe si se lee correctamente. Del mismo modo, con cualquiera de las otras configuraciones (SETUP_RETR parece un buen candidato para un valor de un solo byte).

Ninguno de estos confirmará que se hayan conectado otros pines ... para eso, probablemente deba intentar un envío ACK'ed donde probablemente fallará (y, por lo tanto, su pin CE si está conectado debería hacer que se establezca el bit de estado MAX_RT y el pin IRQ señalado). Tampoco podrían distinguirse de un dispositivo potencialmente similar o lo que sea. Pero solo para el cableado SPI básico, verifique que los elementos con viñetas anteriores sean suficientes como IMO.

    
respondido por el natevw

Lea otras preguntas en las etiquetas