當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于nRF24E1無線傳輸?shù)脑O(shè)計與應(yīng)用

引言

隨著科技的進步,越來越多的無線技術(shù)正快速應(yīng)用到各種產(chǎn)品中。nRF24E1是挪威Nordic公司推出的一款單片2.4GHz無線收發(fā)芯片,采用0.18mCMOS技術(shù)制造,以增強型51為內(nèi)核,9路10bitADC,采樣率可達100K,具有125個頻道,傳輸速率可達1Mbps,內(nèi)置CRC校驗并支持多點通信。1.9~3.6V低功耗工作,內(nèi)置電壓監(jiān)視和復(fù)位電路,多種省電模式可供選擇,待機電流僅為2A。nRF24E1可廣泛應(yīng)用于無線水表、煤氣、電表;無線智能傳感器;無線數(shù)據(jù)采集裝置;無線身份識別智能卡;無線火警探頭;無線耳機、麥克風(fēng);無線鼠標、無線鍵盤;PDA手持終端等短距離無線通信場所。

概述

nRF24E1功能介紹

nRF24E1結(jié)構(gòu)框圖如圖1所示。

微處理器

nRF24E1微處理器的指令系統(tǒng)與工業(yè)標準的8051相兼容,但兩者的執(zhí)行時序稍有不同。通常,nRF24E1片內(nèi)微控制器、的指令周期為4到20個指令周期,而工業(yè)標準的8051為12~48個時鐘周期。nRF24E1的中斷控制器支持ADC、SPI、RF接收器1、RF接收器2、喚醒定時器、5個中斷源。nRF24E1擁有3個與8052一樣的定時器。在傳統(tǒng)的異步通信方式下,與8051兼容的UART可用作定時器1和定時器2的波特率發(fā)生器。nRF24E1的CPU集成了2個數(shù)據(jù)指針,以便于和外部RAM進行數(shù)據(jù)傳遞。晶振直接為nRF24E1的微控制器提供了時鐘來源。

nRF24E1的微控制器中有256字節(jié)的數(shù)據(jù)RAM和512字節(jié)的ROM。上電復(fù)位或經(jīng)軟件初始化后,處理器自動加載ROM引導(dǎo)區(qū)中的代碼。用戶程序通常是在引導(dǎo)區(qū)的引導(dǎo)下,從外部串口EEPROM加載到1個4KB的RAM中,這個4KB的RAM也可作存儲數(shù)據(jù)用。如果不使用掩膜ROM(即內(nèi)含的ROM),程序代碼必須從外部非易失性存儲器中加載。這時,默認的啟動引導(dǎo)區(qū)使用SPI接口的“通用25320”EEPROM。為了控制標準8051沒有的功能,nRF24E1增加了一些特殊功能寄存器,如RADIO(P2)、ADCCON、ADCDATAH、PWMCON、PWMDUTY、RSTREAS等。其P0和P1也和標準8051有所不同,其它大部分的SFRs均與標準8051相同。

PWM

nRF24E1有一個可編程PWM輸出,它和DIO9共同復(fù)用P0.7引腳,并可軟件編程決定PWM工作于6、7或8位。

SPI(串行外設(shè)接口)

SPI的3個口(SDI、SCK和SDO)與GPIO(DIN0、DIO0和DIO1)共同復(fù)用P1口的三個引腳(P1.0、P1.1、P1.2)。SPI硬件不產(chǎn)生任何片選信號,通常用GPIO位(P0口)來作為外部SPI設(shè)備的片選口。

端口邏輯

nRF24E1有1個輸入,10個輸出引腳。P0(DIO2~DIO9)和P1(DIO0、DIO1、DIN0)默認配置為GPIO(通用輸入輸出端口)。多數(shù)GPIO在程序控制下可復(fù)用,這些復(fù)用功能包括兩個外部中斷,UARTRXD和TXD,一個SPI主機端口,三個定時器和PWM輸出。

RTC喚醒定時器、WTD(看門狗)和RC振蕩器

nRF24E1內(nèi)有一個低功耗的RC振蕩器。該振蕩器在VDD≥1.8V時,會持續(xù)工作。RTC喚醒定時器和WTD(看門狗)是2個16位的可編程定時器,它們的工作時鐘為RC振蕩器的LP_OSC。喚醒定時器和看門狗的定時時間約為300s~80ms,其默認值為10ms。喚醒定時器由用戶軟件控制啟動和停止??撮T狗在復(fù)位后被禁止,再次復(fù)位后才能被激活。

A/D轉(zhuǎn)換器

nRF24E1內(nèi)有9通道10位ADC,線性轉(zhuǎn)換時間為每10位48個CPU指令周期。A/D轉(zhuǎn)換器可在ARFE輸入和內(nèi)部1.22V的帶隙參考之間進行軟件選擇。轉(zhuǎn)換器的9個輸入可由軟件進行選擇。通道0~7可以轉(zhuǎn)換對應(yīng)引腳AIN0~AIN7上的電壓值,通道8用于對nRF24E1工作電壓的監(jiān)控。A/D轉(zhuǎn)換器默認配置為10位,為滿足需要,可通過軟件使其工作于6位、8位或12位方式。

無線收發(fā)器

nRF24E1收發(fā)器通過內(nèi)部并行口或內(nèi)部SPI口與其他模塊進行通信,同單片射頻收發(fā)器nRF2401具有相同的功能。DuoCeiver接收器輸出的數(shù)據(jù)準備信號,可通過程序使其作為微處理器的中斷或通過GPIO口傳給CPU。nRF24E1工作于全球開放的2.4~2.5GHz頻段。收發(fā)器由1個完整的頻率合成器、1個功率放大器、1個調(diào)節(jié)器和2個接收器組成。輸出功率、頻道和其它射頻參數(shù)可通過對RADIO寄存器(SFR0xA0)編程進行控制。發(fā)射模式下,射頻電流消耗僅為10.5mA,接收模式下為18mA。為了節(jié)能,可通過軟件程序控制收發(fā)器的開/關(guān)。

硬件設(shè)計

nRF24E1收發(fā)核心電路如圖2所示。

由于本設(shè)計要求PCB板越小越好而且成品要密封,所以如何供電成了這次設(shè)計的難點。若使用電池則有持續(xù)時間短、占用面積大和易震動脫落等缺點。nRF24E1電源電壓是1.9~3.6V,且功耗很低。MAX2323及串口EEPROM25AA320均可工作在3.0V,因此在該設(shè)計中摒棄了由電池供電的做法,而采用了從串口取電源作為整個電路的供電系統(tǒng)。其串口取電源電路如圖3所示。

軟件設(shè)計

nRF24E1具有增強型8051內(nèi)核,KeilC51支持nRF24E1開發(fā),因此利用C51開發(fā)經(jīng)驗即可編出高效優(yōu)質(zhì)的代碼。此程序是經(jīng)KeilC51V7.05編譯并調(diào)試通過,篇幅有限,僅列出主要功能函數(shù)。

(1)初始化程序如下:

voidInit(void){

//配置I/O口

P0_ALT=0x06;//P0.1為RXD,P0.2為TXD

P0_DIR=0x09;//P0.0和P0.3設(shè)為輸入

P1_DIR=0x03;//P1.0和P1.1設(shè)為輸入

PWR_UP=1;//開Radio,讀時不用,寫時為電源

SPICLK=0;//SPI時鐘為XTAL/8

SPI_CTRL=0x02;//把SPI與收發(fā)通道1(CH1)相連

//串口通訊初始化

TH1=0x0F3;//晶振為16MHz,波特率為19200(當T1M=1且SMOD=1時)

CKCON|=0x10;//T1M=1(計數(shù)器時鐘為CPU時鐘的1/4)

PCON=0x80;//SMOD=1(雙倍波特率)

SCON=0x52;//采用串口模式1,使能接收器

TMOD=0x20;//使用計數(shù)器1,8位計數(shù)值自動重載

TCON=0x40;//啟動計數(shù)器

}

(2)接收器配置函數(shù)

[!--empirenews.page--]

voidInit_Receiver(void){

unsignedcharb;

CS=1;//打開配置方式

Delay100us(0);

for(b=0;b

{

SpiReadWrite(rconf.buf[b]);//發(fā)送接收器配置字

}

CS=0;//關(guān)配置方式

CE=1;//使能收發(fā)功能

}(3)接收函數(shù)

voidReceiver(void){

unsignedcharb;

CS=1;//打開配置模式

Delay100us(0);

for(b=0;b

SpiReadWrite(rconf.buf[b]);//發(fā)送接收器配置字

}

CS=0;//關(guān)配置模式

for(;;){

b=ReceivePacket();//接收數(shù)據(jù)包

PutChar(b);//串口通信函數(shù),將接收到的數(shù)據(jù)通過串口傳送

}

}

(4)發(fā)送函數(shù)

voidTransmitter(void){

unsignedcharb;

CS=1;

Delay100us(0);

for(b=0;b

SpiReadWrite(tconf.buf[b]);//發(fā)送發(fā)送器配置字

}

CS=0;

for(;;){

b=ReadADC();//讀A/D轉(zhuǎn)換結(jié)果

PutChar(b);

TransmitPacket(b);//發(fā)送數(shù)據(jù)包

}

}

此程序除了以上函數(shù)外,還有串口通訊函數(shù)、讀A/D轉(zhuǎn)換結(jié)果函數(shù)、接收包處理函數(shù)和發(fā)送包處理函數(shù)等。

結(jié)論

本設(shè)計電路簡單,易于實現(xiàn)。經(jīng)實際調(diào)試應(yīng)用完全可用于點對點及點對多點的無線數(shù)據(jù)傳輸,收到了良好的效果。1Mbps完全滿足一般無線傳輸的要求。若進行批量生產(chǎn)時可將程序?qū)戇MnRF24E1的內(nèi)部RAM中,從而省去了外部串口EEPROM,節(jié)約了成本。

 

 

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉