目前,無(wú)線數(shù)據(jù)通信的應(yīng)用領(lǐng)域越來(lái)越多:遙控遙測(cè),無(wú)線抄表,工業(yè)數(shù)據(jù)采集系統(tǒng),身份識(shí)別,非接觸AB智能卡,信息家電,無(wú)線語(yǔ)音圖像傳輸,無(wú)線鼠標(biāo)鍵盤等。凡是布線繁雜或不允許布線的場(chǎng)合都希望能通過(guò)無(wú)線方案來(lái)解決。大量射頻IC(集成電路)芯片的出現(xiàn)與應(yīng)用大大縮短了無(wú)線通信系統(tǒng)的開(kāi)發(fā)周期,為此需要設(shè)計(jì)相應(yīng)的接口系統(tǒng),控制這些射頻芯片工作,完成可靠穩(wěn)定的無(wú)線數(shù)據(jù)通信。本文設(shè)計(jì)了+5V單片機(jī)AT89C52與nRF2401芯片的硬件接口電路,解決電平轉(zhuǎn)換的問(wèn)題,實(shí)現(xiàn)了數(shù)據(jù)的雙向傳輸。
1.NRF2401芯片
nRF2401芯片工作于2.4GHz全球開(kāi)放ISM頻段,125個(gè)頻道,滿足多點(diǎn)通信和跳頻通信需要,工作速率0~1Mb/s,最大發(fā)射功率0dBm,外圍元件極少,內(nèi)置硬件CRC(循環(huán)冗余校驗(yàn))和點(diǎn)對(duì)多點(diǎn)通信地址控制,集成了頻率合成器,晶體振蕩器和調(diào)制解調(diào)器。輸出功率、傳輸速率和頻道選擇可通過(guò)三線串行接口編程配置。
圖1 nRF2401芯片引腳圖
nRF2401芯片最突出的特點(diǎn)是有兩種通信模式:DirectMode(直接模式)和ShockBurstTMMode(突發(fā)模式)。直接模式的使用與其它傳統(tǒng)射頻收發(fā)器的工作一樣,需要通過(guò)軟件在發(fā)送端添加校驗(yàn)碼和地址碼,在接收端判斷是否為本機(jī)地址并檢查數(shù)據(jù)是否傳輸正確。ShockBurstTMMode使用芯片內(nèi)部的先入先出堆棧區(qū),數(shù)據(jù)可從低速微控制器送入,高速(1Mb/s)發(fā)射出去,地址和校驗(yàn)碼硬件自動(dòng)添加和去除,這種模式的優(yōu)點(diǎn)是:
①可使用低速微控制器控制芯片工作;
②減小功耗;
③射頻信號(hào)高速發(fā)射,抗干擾性強(qiáng);
④減小整個(gè)系統(tǒng)的平均電流。
因此,使用nRF2401芯片特有的ShockBurstTMMode使得系統(tǒng)整體的性能和效率提高。
2.NRF2401收發(fā)器的工作原理
關(guān)于NRF24L01收發(fā)器,它使用2.4GHz頻段,可以在250kbps至2Mbps的波特率下運(yùn)行。如果在開(kāi)放空間和較低的波特率下使用,其范圍可達(dá)100米。
圖2 NRF24L01收發(fā)器
該收發(fā)器模塊可以使用125個(gè)不同的通道,這使得在一個(gè)地方擁有一個(gè)由125個(gè)獨(dú)立工作的調(diào)制解調(diào)器組成的網(wǎng)絡(luò)成為可能。每個(gè)通道最多可以有6個(gè)地址,或者每個(gè)單元最多可以同時(shí)與6個(gè)其他單元通信。
圖3 NRF2401收發(fā)器工作原理圖
該收發(fā)器在傳輸過(guò)程中的功耗僅為12mA左右,甚至低于單個(gè)LED。模塊的工作電壓為1.9到3.6V,但好處是其他引腳可以承受5V邏輯,因此我們可以輕松地將其連接到Arduino,而無(wú)需使用任何邏輯電平轉(zhuǎn)換器。
圖4 NRF24L01收發(fā)器引腳連接圖
其中三個(gè)引腳用于SPI通信,它們需要連接到Arduino的SPI引腳,但是要注意,每個(gè)Arduino板都有不同的SPI引腳。引腳CSN和CE可以連接到Arduino板的任何數(shù)字引腳,它們用于將模塊設(shè)置為待機(jī)或活動(dòng)模式,以及在傳輸或命令模式之間切換。最后一個(gè)引腳是一個(gè)不必使用的中斷引腳。
NRF24L01有多種變體,最受歡迎的是帶有板載天線的天線。這使得收發(fā)器更加緊湊,但另一方面,將傳輸范圍降低到大約100米的距離。
圖5 基于NRF24L01芯片的各種模塊
第二個(gè)變體,不是板載天線,它有一個(gè)SMA連接器,我們可以連接一個(gè)鴨子天線以獲得更好的傳輸范圍。圖4顯示的第三種變體,除了鴨形天線外,還有一個(gè)RFX2401C芯片,其中包括PA(功率放大器)和LNA(低噪聲放大器)。這會(huì)放大NRF24L01信號(hào),并在開(kāi)放空間中實(shí)現(xiàn)更遠(yuǎn)達(dá)1000米的傳輸范圍。
3.硬件電路設(shè)計(jì)
硬件電路連接實(shí)現(xiàn)單片機(jī)與nRF2401芯片的接口連接。發(fā)送端與接收端硬件連接幾乎一樣,具有通用性,可以實(shí)現(xiàn)半雙工通信。單片機(jī)使用的是MCS51系列的AT89C52,成本低,控制簡(jiǎn)單,容易擴(kuò)展。硬件電路設(shè)計(jì)主要包括DC/DC電源供電電路設(shè)計(jì)、nRF2401芯片與+5V單片機(jī)的接口設(shè)計(jì)以及nRF2401芯片的外圍電路設(shè)計(jì)。電路圖如圖6所示。
圖6 單片機(jī)與nRF2401芯片的接口電路
由于nRF2401的供電電壓范圍為1.9~3.6V,而AT89C52單片機(jī)的供電電壓是5V,為了使芯片正常工作,需要進(jìn)行電平轉(zhuǎn)換和分壓處理。單電源供電時(shí),采用MAX884芯片進(jìn)行5V-3.3V電平轉(zhuǎn)換。
+5V單片機(jī)I/O口與nRF2401芯片引腳的接口需要進(jìn)行分壓處理,單片機(jī)向nRF2401發(fā)送控制信號(hào)和配置信號(hào)時(shí)采用電阻分壓,nRF2401向單片機(jī)傳送數(shù)據(jù)或者發(fā)送數(shù)據(jù)狀態(tài)信號(hào)時(shí)采用74HC04反向器兩級(jí)反向,這樣就可以實(shí)現(xiàn)兩個(gè)芯片在電壓允許范圍內(nèi)的雙向通信。也可以使用專用的雙向電平轉(zhuǎn)換芯片。單片機(jī)通過(guò)PWM_UP,CE,CS三端設(shè)置nRF2401的工作模式,表1列出nRF2401的四種工作模式。配置模式時(shí)單片機(jī)通過(guò)CLK1和DATA端向nRF2401發(fā)送配置字,發(fā)送數(shù)據(jù)時(shí)通過(guò)CLK1和DATA端向nRF2401發(fā)送地址和數(shù)據(jù),接收數(shù)據(jù)時(shí)通過(guò)CLK1和DATA端從nRF2401讀取數(shù)據(jù),DR1是nRF2401通知單片機(jī)已經(jīng)接收到數(shù)據(jù)并且可以讀取的狀態(tài)信號(hào)。CLK2、DOUT和DR2端為通道二保留使用,nRF2401可以同時(shí)接收兩路信號(hào)。
nRF2401芯片以及其外圍元件電路組成了發(fā)送接收模塊。這部分重要的是PCB板的設(shè)計(jì),使用兩層的PCB板,盡量多打一些通孔,使頂層和底層的地能夠充分接觸,空余部分大面積連續(xù)接地。電源濾波電容盡量靠近VDD引腳,注意調(diào)整電阻、電容和電感的位置。這樣能夠獲得好的射頻性能。
4.單片機(jī)對(duì)nRF2401芯片軟件控制
使用nRF2401芯片進(jìn)行無(wú)線數(shù)據(jù)通信時(shí)不需要進(jìn)行曼徹斯特編碼,編程和應(yīng)用非常方便。單片機(jī)對(duì)nRF2401芯片的控制包括在配置模式下對(duì)nRF2401的初始化配置、發(fā)送數(shù)據(jù)和接收存儲(chǔ)數(shù)據(jù)。配置字一共18byte,設(shè)定的具體參數(shù)見(jiàn)表2。發(fā)送端和接收端的配置必須匹配,只有配置字的最低位不同。數(shù)據(jù)包格式包括前綴、地址、有效數(shù)據(jù)和CRC。發(fā)送數(shù)據(jù)包時(shí)單片機(jī)只向nRF2401傳送地址和數(shù)據(jù),前綴和CRC會(huì)在nRF2401芯片內(nèi)部自動(dòng)加進(jìn)去。接收數(shù)據(jù)包時(shí),接收端檢測(cè)到本機(jī)地址的數(shù)據(jù)包,檢驗(yàn)正確后會(huì)自動(dòng)移去前綴、地址和CRC,將有效數(shù)據(jù)傳送給單片機(jī)。
5.調(diào)試
向單片機(jī)中載入程序,進(jìn)行軟硬件連調(diào)。單片機(jī)初始化nRF2401,寫入18byte的配置字,發(fā)送端的配置字為h8E08.1C50.5000.CCCC.CCCC.00CC.CCCC.CC83.6F04,接收端的配置字為h8EO8.1C50.5000.CCCC.CCCC.00CC.CCCC.CC83.6F05,設(shè)定發(fā)送端和接收端的地址長(zhǎng)度為32bit,地址為0xCCCCCCCC,每次發(fā)送的數(shù)據(jù)長(zhǎng)度為80bit(10byte),16bitCRC校驗(yàn)使能,ShockBurstTM通信模式,發(fā)射功率0dBm,晶振頻率24MHz,工作頻道為2402MHz。軟件程序采用匯編語(yǔ)言完成,調(diào)試成功后,能夠?qū)崿F(xiàn)穩(wěn)定可靠的數(shù)據(jù)傳輸,測(cè)得的數(shù)據(jù)傳輸速率達(dá)到60kbit/s左右,主要是受到單片機(jī)讀取和寫入速度的限制,更換高速單片機(jī)如MSP430或者DSP可以提高傳輸速率,控制原理相同。
6.關(guān)于NRF2401的常見(jiàn)問(wèn)題
6.1 NRF24L01和NRF24L01+有什么區(qū)別?
NRF24L01+是NRF24L01的新版本,能夠做的無(wú)線數(shù)據(jù)速率的額外的為250kbps,而且是沒(méi)有唯一的“+”擁有1Mbps的和2Mbps的。只要使用1或2MBps作為數(shù)據(jù)速率,這兩個(gè)版本就可以混合在一起。
6.2 如何編碼NRF24L01?
首先,將模塊上的VCC引腳連接到Arduino上的3.3V,將GND引腳接地。CSN和CE引腳可以連接到Arduino上的任何數(shù)字引腳。
6.3 NRF24L01是WIFI嗎?
不是,因?yàn)閚RF24L01+和wifi上的PHY層不同。
6.4 NRF24L01可以傳輸視頻嗎?
可以。nerfnet通過(guò)nRF24L01#Radio#Video流式傳輸視頻?,F(xiàn)在通過(guò)優(yōu)化,這些單元可以擁有高達(dá)300kbps的速率,足以傳輸H.264HEVC視頻。
6.5 NRF2401如何跟手機(jī)通信?
在Android設(shè)備上啟用藍(lán)牙。要查看原始數(shù)據(jù),請(qǐng)將Nordic的nRF主控制面板(可在GooglePlay上免費(fèi)獲得)安裝到您的Android設(shè)備上。運(yùn)行應(yīng)用程序并等待找到新的nRF24L01設(shè)備。不要點(diǎn)擊連接按鈕。
6.6 如何判斷NRF24L01是否在正常工作?
在Mega2560的IDE窗口打開(kāi)SerialMonitor,可以看到每500ms打印一次接收到的數(shù)據(jù),即Rx=85,170,17。這說(shuō)明NRF24L01模塊都工作了。
6.7 什么是NRF通信?
nRF24L01+收發(fā)器模塊在稱為信道的特定頻率上發(fā)送和接收數(shù)據(jù)。此外,為了使兩個(gè)或更多收發(fā)器模塊相互通信,它們需要在同一通道上。
結(jié)語(yǔ)
以上就是基于NRF2401芯片無(wú)線數(shù)據(jù)通信設(shè)計(jì)的介紹了。通過(guò)調(diào)試結(jié)果表明nRF2401芯片可以與微控制器連接實(shí)現(xiàn)無(wú)線數(shù)據(jù)通信,通信質(zhì)量可靠穩(wěn)定,傳輸速率也能適應(yīng)不同應(yīng)用領(lǐng)域;該設(shè)計(jì)可以嵌入各種無(wú)線傳輸系統(tǒng),成本低,功耗小,具有很好的通用性。
電話:18923864027(同微信)
QQ:709211280
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬(wàn)家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號(hào)碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報(bào)價(jià)以及產(chǎn)品介紹