NRF24L01 este un cip de comunicare de 2,4 G dezvoltat de Nordic Company.Are caracteristicile consumului redus de energie, costuri reduse și viteză mare și poate oferi soluții mai bune pentru aplicarea produselor computerului desktop și a dispozitivelor inteligente.Acest articol îl va introduce de la producător, structură, aplicații, moduri de lucru și principiul de lucru.
Catalog
NRF24L01 este un nou transceiver RF monolitic conceput special pentru banda de frecvență ISM de la 2,4 GHz la 2,5 GHz.Integrează mai multe module funcționale, cum ar fi oscilatorul de cristal, sintetizatorul de frecvență, amplificatorul de putere și modulatorul și adoptă tehnologie avansată de șoc.Prin interfața SPI, NRF24L01 poate comunica cu microcontrolerul 5V, astfel încât puterea de ieșire, selecția canalului și setările protocolului să poată fi configurate prin interfața SPI.Aceasta înseamnă că NRF24L01 poate fi conectat la aproape toate tipurile de cipuri de microcontroller pentru a realiza funcții de transmisie a datelor fără fir.
Alternative și echivalente
NRF24L01 este fabricat de Nordic Semiconductor.Nordic Semiconductor, numit inițial Nordic VLSI, este o companie cu semiconductor fabless.Compania este specializată în sisteme wireless cu performanță ultra-scăzută cu performanțe de putere și dispozitive de conectivitate și conectivitate pentru banda ISM de 2,4 GHz, consumul de energie și costurile fiind principalele zone de focalizare.Aplicațiile pentru utilizatorul final Nordic Semiconductor sunt accesorii pentru telefonul mobil wireless, șoareci și tastaturi, medicale fără fir, electronice de consum, dispozitive sportive inteligente, telecomenzi, controlere de jocuri wireless, aplicații audio vocale wireless (cum ar fi voce peste IP), securitate și jucării.
Diagrama bloc a NRF24L01 este prezentată mai sus.Din perspectiva controlului microcontrolerului, trebuie să acordăm atenție doar șase porturi de semnal de control, și anume CSN, SCK, MISO, MOSI, IRQ și CE.
- Căști VOIP
- RFID activ
- Controlere de joc
- Periferice pentru PC wireless
- Ceasuri și senzori sportivi
- Sisteme de urmărire a activelor
- Mouse, tastaturi și telecomenzi
- rețele de senzor de putere ultra-scăzut
- Automatizare la domiciliu și comercial
- Avansate telecomenzi pentru centru media
- Telecomande RF pentru electronice de consum
Două comunicări NRF24L01 trebuie să îndeplinească următoarele trei condiții:
- Canalele sunt aceleași (setați registrul canalului RF_CH).
- Adresele sunt aceleași (setați tx_addr și rx_addr_po la fel).
- Numărul de octeți trimiși și primiți de fiecare dată este același (dacă lățimea efectivă a datelor a canalului este setată la n, atunci numărul de octeți trimiși de fiecare dată trebuie să fie și n, desigur, n<=32).
Modulul de comunicare fără fir NRF24L01 poate fi setat la o varietate de moduri de lucru diferite, inclusiv modul de pornire, modul de așteptare și modul de procesare a pachetelor de date.Funcțiile și operațiunile fiecărui mod sunt următoarele.
Mod de pornire
În modul de pornire, fiecare funcție a NRF24L01 este oprită pentru a menține consumul curent cel puțin.După intrarea în modul de pornire, NRF24L01 nu mai funcționează, dar conținutul registrului rămâne neschimbat.Modul de pornire este controlat de bitul PWR_UP din registru.
Mod de asteptare
Modul de așteptare I reduce curentul mediu de consum al sistemului, asigurând în același timp pornirea rapidă.În modul de așteptare I, cristalul funcționează normal.În Standby Modul II, unele dintre tampoanele de ceas se află în modul de funcționare.Când registrul TX FIFO din partea emițătorului este gol și CE este ridicat, acesta intră în modul de așteptare II.În timpul modului de așteptare, conținutul cuvintelor de configurare a registrului rămâne neschimbat.
Mod de procesare a pachetelor
Modurile de procesare a pachetelor NRF24L01 includ modul de șoc și în modul de șoc îmbunătățit.
În modul Shockburst, NRF24L01 poate fi conectat la un MCU cu viteză mică mai mică.Procesarea semnalului de mare viteză este gestionată de protocolul RF intern al cipului, în timp ce transmisia datelor este efectuată prin interfața SPI la o viteză de date care depinde de viteza de interfață a MCU în sine.Modul SHOCKBURST reduce consumul mediu de curent pentru comunicare, permițând comunicarea cu viteză mică cu MCU, menținând în același timp comunicare de mare viteză în secțiunea wireless.
Modul îmbunătățit de șoc de șoc face ca execuția protocolului de legătură bidirecțional să fie mai simplă și mai eficientă.Într-o legătură tipică cu două sensuri, expeditorul solicită dispozitivului final să trimită un semnal de răspuns după ce a primit date, astfel încât expeditorul să poată detecta dacă datele sunt pierdute.Dacă are loc pierderea de date, datele pierdute sunt recuperate de o funcție de retransmitere.Modul îmbunătățit SHOMBURSTTM controlează atât funcțiile de răspuns, cât și de retransmite, fără a crește volumul de muncă al MCU.
Când transmitem date, configuram mai întâi NRF24L01 în modul de transmitere.În continuare, scriem adresa nodului primitor TX_ADDR și datele valide TX_PLD în zona tampon a NRF24L01 prin portul SPI în secvență.TX_PLD trebuie să fie scris continuu în timp ce CSN este scăzut, în timp ce TX_ADDR trebuie să fie scris doar o dată la transmitere.Apoi, stabilim CE High și îl menținem ridicat pentru cel puțin 10 microsecunde, apoi începem să transmitem date după o întârziere de 130 de microsecunde.Dacă auto-răspunsul este activat, NRF24L01 va intra în modul de recepție imediat după transmiterea datelor pentru a primi semnalul de confirmare (adresa de primire automată ar trebui să fie în concordanță cu adresa nodului primitor TX_ADDR).Dacă se primește un răspuns, comunicarea este considerată de succes, steagul TX_DS va fi setat înalt, iar TX_PLD va fi șters din TX FIFO.Dacă nu se primește niciun răspuns, NRF24L01 va retransmite automat datele (dacă este activată retransmisia automată).Dacă numărul de retransmisii (ARC) atinge limita superioară, steagul Max_RT va fi setat înalt, iar datele din TX FIFO vor fi păstrate pentru retransmitere.Când steagul Max_RT sau TX_DS este setat ridicat, IRQ va fi șters și va fi generată o întrerupere pentru a anunța MCU.În cele din urmă, dacă transmisia este de succes și CE este scăzută, NRF24L01 intră în modul inactiv 1. Dacă există date în stiva de transmisie și CE este mare, introduceți următoarea transmisie.Dacă nu există date în stiva de transmitere și CE este ridicată, acesta intră în modul 2.
Când primim date, configuram mai întâi NRF24L01 în modul de recepție.Apoi întârzie 130 de microsecunde pentru a intra în starea de primire și a aștepta sosirea datelor.Când receptorul detectează o adresă valabilă și CRC, stochează pachetul de date în RX FIFO și stabilește bitul de întrerupere a pavilionului RX_DR ridicat, ceea ce face ca IRQ să fie scăzut, să genereze o întrerupere și să anunțe MCU să citească datele.Dacă funcția auto-răspuns este activată în acest moment, receptorul va intra în starea de transmitere în același timp și va trimite înapoi un semnal de răspuns.În cele din urmă, dacă recepția este de succes și CE este scăzută, NRF24L01 intră în modul Idle 1.
În primul rând, modulul A și modulul B trebuie să fie setat pe același canal și asigurați -vă că lungimea datelor de transmisie a modulului A este egală cu lungimea datelor de recepție a modulului B. Apoi, configuram o adresă de recepție addr_b pentru modulul B.În continuare, configurați adresa de transmisie a modulului A pentru a fi addr_b, astfel încât modulul B să poată primi datele corect atunci când modulul A îl trimite.
De fapt, adresa de recepție addr_b configurată pentru modulul B este doar unul dintre multiplele sale canale de date de recepție.De obicei, un modul are șase canale de recepție, ceea ce înseamnă că modulul B poate primi date de la șase module diferite în același timp.Desigur, modulul B poate trimite date doar în același timp, deoarece trimiterea de date pe același canal în același timp poate provoca interferențe.
Întrebări frecvente [FAQ]
1. Este nrf24l01 de încredere?
În concluzie, NRF24L01 este o soluție fiabilă dacă doriți să construiți un modul RF Transceiver cu costuri reduse pentru proiectul dvs.Contactați -ne dacă aveți nevoie de clarificări suplimentare pe dispozitiv sau cum să îl integrați în proiectul dvs.
2. Care este distanța maximă de NRF24L01?
Folosește banda de 2,4 GHz și poate funcționa cu rate de transfer de la 250 kbps până la 2 Mbps.Dacă este utilizat în spațiu deschis și cu o rată de transfer mai mică, intervalul său poate ajunge până la 100 de metri.
3. Ce face NRF24L01?
NRF24L01 este un singur transceiver cip de 2,4 GHz cu un motor de protocol cu bandă de bază încorporat (Enhanced ShockBurst ™), conceput pentru aplicații wireless cu putere ultra-joasă.NRF24L01 este proiectat pentru funcționare în banda de frecvență ISM mondială la 2.400 - 2.4835GHz.
4. Care este diferența dintre NRF24L01 și NRF24L01?
Sunt de fapt similare, NRF24L01+ este o versiune modernizată a cipului NRF24L01.NRF24L01 acceptă doar o rată de transmisie de 1Mbps și 2Mbps, în timp ce NRF24L01+ acceptă, de asemenea, rata de transmisie de 250kbps.
5. NRF24L01 folosește WiFi?
Dar, uneori, s -ar putea să doriți doar să puteți trimite sau primi fără a fi nevoie să utilizați WiFi sau Bluetooth, bine, atunci NRF24L01 ar fi o alegere bună.Spre deosebire de celelalte, folosește Wave Radio pentru a comunica între module, același tip folosit în telefoanele fără fir din casa ta.