STM32系列第32篇--NRF24L01無線通信
簡介:
NRF24L01是NORDIC公司生產(chǎn)的一款無線通信芯片,采用FSK 調(diào)制,集成NORDIC自家的Enhanced Short Burst協(xié)議??梢詫?shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無線通信。無線通信速度最高可達(dá)到2Mbps。 NRF24L01采用SPI通信,可以很方便的連接到MCU上面。
特點(diǎn):2.4G全球開放的ISM頻段,免許可證使用。
最高工作速率2Mbps,高效的GFSK調(diào)制,抗干擾能力強(qiáng)。
126個(gè)可選的頻道,滿足多點(diǎn)通信和調(diào)頻通信的需要。
內(nèi)置CRC檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)的通信地址控制。
可設(shè)置自動(dòng)應(yīng)答,確保數(shù)據(jù)可靠傳輸。
模塊引腳介紹:CE:模式控制線。在 CSN為低電平的情況下,CE 協(xié)同CONFIG 寄存器共同決定NRF24L01 的狀態(tài)(參照NRF24L01 的狀態(tài)機(jī))
CSN:SPI片選線
SCK:SPI時(shí)鐘線
MOSI:SPI數(shù)據(jù)線(主機(jī)輸出,從機(jī)輸入)
MISO:SPI數(shù)據(jù)線(主機(jī)輸入,從機(jī)輸出)
IRQ:中斷信號(hào)線。中斷時(shí)變?yōu)榈碗娖?,在以下三種情況變低:Tx FIFO 發(fā)完并且收到ACK(使能ACK情況下)、Rx FIFO 收到數(shù)據(jù)、達(dá)到最大重發(fā)次數(shù)。
讀寫時(shí)序圖:CPOL=0,CPHA=0,所以數(shù)據(jù)在時(shí)鐘第一個(gè)時(shí)間邊沿采集;
Cn:SPI命令位;Sn:STATUS寄存器位;Dn:數(shù)據(jù)位( MSB,多字節(jié)傳輸時(shí),低字節(jié)在前)
。
NRF24L01的工作模式,由CE和CONFIG寄存器(0X00)的PWR_UP(第1位)和PRIM_RX(第0位)位共同控制。
其中,收發(fā)模式又有: Enhanced ShockBurstTM收發(fā)模式和ShockBurstTM收發(fā)模式,只有Enhanced ShockBurstTM收發(fā)模式支持自動(dòng)ACK和自動(dòng)重發(fā)。開啟自動(dòng)ACK,則默認(rèn)選擇Enhanced模式
在Enhanced ShockBurstTM收發(fā)模式下,NRF24L01自動(dòng)處理字頭和CRC校驗(yàn)碼。在接收數(shù)據(jù)時(shí),自動(dòng)把字頭和CRC校驗(yàn)碼移去。在發(fā)送數(shù)據(jù)時(shí),自動(dòng)加上字頭和CRC校驗(yàn)碼,在發(fā)送模式下,置CE為高,至少10us,將使能發(fā)送過程。
在接收模式下,最多可以接收6路不通的數(shù)據(jù)。每一個(gè)數(shù)據(jù)通道使用不同的地址,但是共用相同的頻道。也就是說6個(gè)不同的NRF24L01設(shè)置為發(fā)送模式后可以與同一個(gè)設(shè)置為接收模式的NRF24L01進(jìn)行通訊,而設(shè)置為接收模式的NRF24L01可以對(duì)這6個(gè)發(fā)射端進(jìn)行識(shí)別。數(shù)據(jù)通道0和數(shù)據(jù)通道1是唯一的一個(gè)可以配置為40位自身地址的數(shù)據(jù)通道。1~5數(shù)據(jù)通道都為8 位自身地址和32位公用地址(公用地址可以由通道1設(shè)置)。所有的數(shù)據(jù)通道都可以設(shè)置為Enhanced ShockBurst模式。