Nrf24l01 est une puce de communication 2,4 g développée par Nordic Company.Il a les caractéristiques d'une faible consommation d'énergie, d'un faible coût et d'une grande vitesse, et peut fournir de meilleures solutions pour l'application de produits informatiques de bureau et d'appareils intelligents.Cet article le présentera du fabricant, de la structure, des applications, des modes de travail et du principe de travail.
Catalogue
Le NRF24L01 est un nouveau émetteur-récepteur RF monolithique spécialement conçu pour la bande de fréquence ISM de 2,4 GHz à 2,5 GHz.Il intègre plusieurs modules fonctionnels tels que l'oscillateur en cristal, le synthétiseur de fréquence, l'amplificateur de puissance et le modulateur, et adopte la technologie avancée de choc.Grâce à l'interface SPI, le NRF24L01 peut communiquer avec le microcontrôleur 5V, afin que la puissance de sortie, la sélection de canaux et les paramètres de protocole puissent être configurés via l'interface SPI.Cela signifie que NRF24L01 peut être connecté à presque toutes sortes de puces de microcontrôleur pour atteindre des fonctions de transmission de données sans fil.
Alternatives et équivalents
Le NRF24L01 est fabriqué par Nordic Semiconductor.Nordic Semiconductor, initialement nommé Nordic VLSI, est une société de semi-conducteurs.L'entreprise est spécialisée dans les dispositifs de systèmes sans fil à performance ultra-lobe et de connectivité sans fil pour la bande ISM 2,4 GHz, la consommation d'énergie et le coût étant les principaux domaines d'intervention.Les applications de l'utilisateur final de Nordic Semiconductor sont des accessoires de téléphone mobile sans fil, des souris et des claviers, un médical sans fil, une électronique grand public, des appareils sportifs intelligents, des commandes à distance, des contrôleurs de jeux sans fil, des applications audio vocales sans fil (telles que la voix au-dessus), la sécurité et les jouets.
Le diagramme de blocs du NRF24L01 est illustré ci-dessus.Du point de vue du contrôle du microcontrôleur, nous n'avons qu'à prêter attention à six ports de signal de contrôle, à savoir CSN, SCK, MISO, MOSI, IRQ et CE.
- HeadSesets VoIP
- RFID actif
- contrôleurs de jeu
- périphériques PC sans fil
- Montres sportives et capteurs
- Systèmes de traçage des actifs
- souris, claviers et télécommandes
- Réseaux de capteurs d'alimentation ultra-bas
- Automatisation à domicile et commerciale
- Télémistes avancés du centre multimédia
- RF Remote-Commandes pour l'électronique grand public
Deux communications NRF24L01 doivent répondre aux trois conditions suivantes:
- Les canaux sont les mêmes (définissez le registre des canaux RF_CH).
- Les adresses sont les mêmes (définissez TX_ADDR et RX_ADDR_PO identiques).
- Le nombre d'octets envoyés et reçus à chaque fois est le même (si la largeur de données effective du canal est définie sur n, alors le nombre d'octets envoyés à chaque fois doit également être n, bien sûr, n<=32).
Le module de communication sans fil NRF24L01 peut être réglé sur une variété de modes de travail différents, y compris le mode de mise à jour, le mode de secours et le mode de traitement des paquets de données.Les fonctions et les opérations de chaque mode sont les suivantes.
Mode de puissance
En mode alimentation, chaque fonction du NRF24L01 est désactivée pour maintenir la consommation actuelle au minimum.Après être entré dans le mode de puissance, le NRF24L01 cesse de fonctionner, mais le contenu du registre reste inchangé.Le mode Power-Down est contrôlé par le bit PWR_UP dans le registre.
Mode veille
Le mode de veille I réduit le courant moyen de consommation du système tout en garantissant un démarrage rapide.En mode veille I, le cristal fonctionne normalement.En mode veille II, certains tampons d'horloge sont en mode de fonctionnement.Lorsque le registre FIFO TX du côté de l'émetteur est vide et CE est élevé, il entre en mode de veille II.En mode veille, le contenu des mots de configuration du registre reste inchangé.
Mode de traitement des paquets
Les modes de traitement des paquets NRF24L01 incluent le mode Shockburst et le mode Shockburst amélioré.
En mode Shockburst, le NRF24L01 peut être connecté à un MCU à basse vitesse à moindre coût.Le traitement du signal à grande vitesse est géré par le protocole RF interne de la puce, tandis que la transmission de données est effectuée via l'interface SPI à un débit de données qui dépend de la vitesse d'interface du MCU lui-même.Le mode Shockburst réduit la consommation moyenne de courant pour la communication en permettant une communication à basse vitesse avec le MCU tout en maintenant une communication à grande vitesse dans la section sans fil.
Le mode Shockburst amélioré rend l'exécution du protocole de liaison bidirectionnel plus simple et plus efficace.Dans un lien bidirectionnel typique, l'expéditeur demande au périphérique final d'envoyer un signal de réponse après avoir reçu des données afin que l'expéditeur puisse détecter si les données sont perdues.Si la perte de données se produit, les données perdues sont récupérées par une fonction de retransmission.Le mode Shockburstm amélioré contrôle à la fois les fonctions de réponse et de retransmet sans augmenter la charge de travail du MCU.
Lors de la transmission de données, nous configurons d'abord le NRF24L01 en mode transmission.Ensuite, nous écrivons l'adresse de nœud de réception TX_ADDR et les données valides TX_PLD dans la zone tampon de NRF24L01 via le port SPI en séquence.TX_PLD doit être écrit en continu tandis que CSN est faible, tandis que TX_ADDR ne doit être écrit qu'une seule fois lors de la transmission.Ensuite, nous avons réglé CE élevé et le maintenons élevé pendant au moins 10 microsecondes, puis commençons à transmettre des données après un retard de 130 microsecondes.Si l'auto-répondant est activé, NRF24L01 entrera le mode de réception immédiatement après la transmission des données pour recevoir le signal d'accusé de réception (l'adresse de réception automatique doit être cohérente avec l'adresse de nœud de réception TX_ADDR).Si une réponse est reçue, la communication est considérée comme réussie, l'indicateur TX_DS sera défini et TX_PLD sera effacé du FIFO TX.Si aucune réponse n'est reçue, le NRF24L01 retransmettra automatiquement les données (si la retransmission automatique est activée).Si le nombre de retransmissions (ARC) atteint la limite supérieure, l'indicateur MAX_RT sera réglé haut et que les données du FIFO TX seront conservées pour la retransmission.Lorsque l'indicateur MAX_RT ou TX_DS est défini haut, l'IRQ sera effacé et une interruption sera générée pour informer le MCU.Enfin, si la transmission est réussie et CE est faible, le NRF24L01 entre en mode inactif 1. S'il y a des données dans la pile de transmission et CE est élevée, entrez la transmission suivante.S'il n'y a pas de données dans la pile de transmission et que CE est élevée, il entre en mode inactif 2.
Lorsque nous recevons des données, nous configurons d'abord le NRF24L01 en mode de réception.Ensuite, il retarde 130 microsecondes pour saisir l'état de réception et attendre l'arrivée des données.Lorsque le récepteur détecte une adresse valide et un CRC, il stocke le paquet de données dans le RX FIFO et définit le bit de l'interruption RX_DR High, ce qui rend le IRQ bas, générant une interruption et en informant le MCU pour lire les données.Si la fonction automatique est activée pour le moment, le récepteur entrera dans l'état de transmission en même temps et renverra un signal de réponse.Enfin, si la réception est réussie et que CE est faible, le NRF24L01 entre en mode inactif 1.
Tout d'abord, le module A et le module B doivent être définis sur le même canal et assurez-vous que la longueur de données de transmission du module A est égale à la longueur de données de réception du module B. Ensuite, nous configurons une adresse de réception addr_b pour le module B.Ensuite, configurez également l'adresse de transmission du module A pour être addr_b, afin que le module B puisse recevoir correctement les données lorsque le module A l'envoie.
En fait, l'adresse de réception ADDR_B configurée pour le module B n'est que l'un de ses multiples canaux de données de réception.Un module dispose généralement de six canaux de réception, ce qui signifie que le module B peut recevoir des données de six modules différents en même temps.Bien sûr, le module B ne peut envoyer des données qu'en même temps que l'envoi de données sur le même canal en même temps peut entraîner des interférences.
Questions fréquemment posées [FAQ]
1. Nrf24L01 est-il fiable?
Pour conclure, le NRF24L01 est une solution fiable si vous souhaitez créer un module RF à faible coût pour votre projet.Contactez-nous si vous avez besoin de clarifications supplémentaires sur l'appareil ou comment l'intégrer dans votre projet.
2. Quelle est la distance maximale de NRF24L01?
Il utilise la bande 2,4 GHz et il peut fonctionner avec des taux de bauds de 250 kbps à 2 Mbps.S'il est utilisé dans l'espace ouvert et avec un taux de bauds inférieur, sa plage peut atteindre jusqu'à 100 mètres.
3. Que fait NRF24L01?
Le NRF24L01 est un émetteur-récepteur à 2,4 GHz à puce avec un moteur de protocole de bande de base intégré (amélioration Shockburst ™), conçu pour des applications sans fil ultra-low Power.Le NRF24L01 est conçu pour le fonctionnement dans la bande de fréquences ISM mondiale à 2,400 - 2,4835 GHz.
4. Quelle est la différence entre NRF24L01 et NRF24L01?
Ils sont en fait similaires, NRF24L01 + est une version améliorée de la puce NRF24L01.NRF24L01 ne prend en charge que 1 Mbps et le taux de transmission de 2 Mbps, tandis que NRF24L01 + prend également en charge le taux de transmission de 250 Kbps.
5. NRF24L01 utilise-t-il le wifi?
Mais parfois, vous voudrez peut-être simplement envoyer ou recevoir sans avoir à utiliser le WiFi ou le Bluetooth, eh bien, le NRF24L01 serait un bon choix.Contrairement aux autres, il utilise Radio Wave pour communiquer entre les modules, le même type utilisé dans les téléphones sans fil dans votre maison.