ARM和nRF24L01在無線數(shù)據(jù)通信的應(yīng)用
出處:國外電子元器件 發(fā)布于:2011-09-05 14:32:32
由于無線數(shù)據(jù)通信不用布線,快速布局,因此具有有線數(shù)據(jù)通信無法比擬的便捷性,在特殊場合具有不可替代性。然而,傳統(tǒng)的由基本射頻集成電路搭建的無線數(shù)據(jù)通信系統(tǒng)存在電路復(fù)雜,成本高,傳輸速率低,可靠性差等缺點。為此,Nordic公司推出一款工業(yè)級內(nèi)置硬件鏈路層協(xié)議的低成本單芯片nRF24L01型無線收發(fā)器件。該器件采用GFSK調(diào)制,128個頻點自動跳頻,片內(nèi)自動生成報頭和CRC校驗碼,具有出錯自動重發(fā)功能,這些特性使得由nRF24L0l構(gòu)建的無線數(shù)據(jù)傳輸系統(tǒng)具有成本低,速率高,傳輸可靠等優(yōu)點。
nRF24L01簡介
nRF24.L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術(shù)。其中,輸出功率、通信頻道、自動重發(fā)次數(shù)等參數(shù)可通過編程設(shè)置。內(nèi)置的SPI接口,其速率為0~8Mb/s,MCU通過SPI接口控制nRF 24L0l。nRF24L01的特點如下:①功耗低。能夠在以一6 dBm的功率發(fā)射時,工作電流只有9 mA;在以0 dBm的功率發(fā)射時,工作電流僅11.3 mA;而在接收時,工作電流僅12.3 mA,因此具有掉電和空閑多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計更方便……②體積小,采用QFN20引腳4 mm×4 mm封裝。供電電壓為1.9~3.6 V,可方便集成到各種電子器件。圖l給出nRF24L0l的引腳排列。

nRF24.L01工作原理
發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應(yīng)答信號(自動應(yīng)答接收地址應(yīng)該與接收節(jié)點地址TX_ADDR一致)。如果收到應(yīng)答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便在次重發(fā);MAX_RT或TX_DS置高時,使IRQ變低,產(chǎn)生中斷,通知MCU。發(fā)射成功時,若CE為低則nRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2。
接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式,接著延遲130μs進入接收狀態(tài)等待數(shù)據(jù)的到來。當(dāng)接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RX FIFO中,同時中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時自動應(yīng)答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應(yīng)答信號。接收成功時,若CE變低,則nRF24L01進入空閑模式1。
nRF241L01工作模式
通過配置寄存器可將nRF241L01配置為發(fā)射、接收、空閑及掉電四種工作模式,如表1所示。
| 模式 | PWR_UP | PRIM_RX | CE | FIFO寄存器狀態(tài) |
| 接收模式 | 1 | 1 | 1 | - |
| 發(fā)射模式 | 1 | 0 | 1 | 數(shù)據(jù)在TX FIFO 寄存器中 |
| 發(fā)射模式 | 1 | 0 | 1→0 | 停留在發(fā)送模式,直至數(shù)據(jù)發(fā)送完 |
| 待機模式2 | 1 | 0 | 1 | TX FIFO 為空 |
| 待機模式1 | 1 | - | 0 | 無數(shù)據(jù)傳輸 |
| 掉電 | 0 | - | - | - |
表 (1)
待機模式1主要用于降低電流損耗,在該模式下晶體振蕩器仍然是工作的;
待機模式2則是在當(dāng)FIFO寄存器為空且CE=1時進入此沒收;
待機模式下,所有配置字仍然保留。
在掉電模式下電流損耗,同時nRF24L01也不工作,但其所有配置寄存器的值仍然保留。
LPC214x簡介
IPC214x系列是Philips公司的基于ARM7內(nèi)核的高性能器件,與LPC213x系列器件相兼容,并增加了一些新功能,性能得到了大大的提升。LPC214x系列器件特色是內(nèi)置2kB終端RAM的USB 2.0全速控制器,1個(LPC2141/42)或2個(LPC2144/46/48)10位A/D轉(zhuǎn)換器,多個串行接口,包括2個UART、2個高速I2C總線、SPI和具有緩沖作用及可變數(shù)據(jù)長度的SSP。LPC214x系列器件采用單電源供電,具有上電復(fù)位(POR)和掉電檢測(BOD)電路。相對于普通ARM7來說,LPC214x還提升了I/O端口的速度,并且內(nèi)置8—40 KB的靜態(tài)RAM和32~512 KB的高速Flash存儲器;工作頻率高達60MHz;采用超小型LQFP64封裝。
系統(tǒng)硬件設(shè)計
該系統(tǒng)采用模塊化設(shè)計,主要由LPC2144、nRF24L01、射頻功放和天線模塊組成。其中,射頻功放采用臺灣K一BEST公司的2.4 G雙向功放模塊。圖2是系統(tǒng)總體設(shè)計圖。上位機為PC機,LPC2144與nRF24L01連接,根據(jù)需要配置2.4 G功放和增益天線模塊。如果配置0.5 W功放和高增益天線,則傳輸距離可達5~10 km。下位機為嵌入式平臺,該嵌入式平臺可以是單片機、ARM、DSP和FPGA,nRF24L0l可通過SPI接口直接與嵌入式平臺連接。

圖3給出LPC2144與nRF24L0l的硬件接口設(shè)計。配置LPC2144的P0.2、P1.19作為GPIO端口分別與nRF24L0l的CE和CSN連接;配置LPC2144的P0.4、P0.5、P0.6作為SPIO端口分別與nRF24L0l的SCK、MISO、MOSI連接:配置LPC2144的P0.16作為EINT0端口與nRF24L0l的IRQ連接。

系統(tǒng)軟件設(shè)計
發(fā)送端LPC214x完成初始化后,把nRF24L01配置成PTX工作模式。若從上位機接收到數(shù)據(jù),則啟動nRF24L01發(fā)送數(shù)據(jù)。若發(fā)送成功,則產(chǎn)生TX_DS中斷;若重發(fā)超限,則產(chǎn)生MAX_RT中斷;若發(fā)送成功,則繼續(xù)發(fā)送,否則進行出錯處理。接收端LPC214x完成初始化后,把nRF24L0l配置成PRX工作模式。當(dāng)正確接收數(shù)據(jù)時,nRF24L0l產(chǎn)生接收中斷標(biāo)志,LPC214x從nRF24L01讀取數(shù)據(jù)并向下位機發(fā)送。圖4給出軟件流程圖。軟件開發(fā)環(huán)境為ADSl.2。

1. nRF24L01的初始化
nRF24L01通過SPI接口和外部控制器件如MCU、ARM、DSP進行數(shù)據(jù)交換,其SPI協(xié)議是MSB在前,LSB在后。如果要讀寫多個字節(jié),先讀寫低字節(jié)。如果外部控制器件沒有SPI接口,可用普通I/O接口模擬。這里選用帶SPI接口且可方便地與nRF24L0l連接的LPC21440表l給出nRF24L0l的命令表。

由表可見,通過SPI接口傳入nRF24L01的個字節(jié)是命令字,nRF24L0l的各種命令字都只有一個字節(jié),分為讀寄存器、寫寄存器、讀數(shù)據(jù)接收緩沖區(qū)、寫發(fā)送數(shù)據(jù)緩沖區(qū)等。在輸入任意命令字的同時,MISO輸出的都是STATUS寄存器的內(nèi)容。nRF24L0l的數(shù)據(jù)傳輸模式有ShockBurst和Enhanced ShockBurst兩種數(shù)據(jù)包。后者比前者多了一個確認數(shù)據(jù)傳輸?shù)男盘?,保證數(shù)據(jù)傳輸?shù)目煽啃?。該器件?nèi)部完成需要高速處理的RF協(xié)議,發(fā)送數(shù)據(jù)時只需將數(shù)據(jù)放入發(fā)送數(shù)據(jù)緩沖區(qū),器件會自行產(chǎn)生前導(dǎo)字符和CRC數(shù)據(jù),并將這些數(shù)據(jù)地址和地址信息、發(fā)送數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)等組成一個數(shù)據(jù)包發(fā)送出去。圖5給出兩種模式的數(shù)據(jù)包格式。

現(xiàn)按后一種模式初始化。在配置為接收數(shù)據(jù)時,nRF24L01接收到數(shù)據(jù)包后,由硬件解析地址數(shù)據(jù)和信息數(shù)據(jù),當(dāng)接收到有效信息數(shù)據(jù)后,在IRQ引腳產(chǎn)生中斷,并通知外部處理器讀取數(shù)據(jù)。在配置為發(fā)送數(shù)據(jù)時,nRF24L0l發(fā)送數(shù)據(jù)包后,自動切換到接收模式已接收返回的確認信號,當(dāng)收到確認信號后,IRQ引腳產(chǎn)生數(shù)據(jù)發(fā)送完成中斷,如果沒有握手信號返回,則表示發(fā)送失敗,器件自動重新發(fā)送,如果重新發(fā)送的次數(shù)超過在ARC_CNT寄存器中的設(shè)定值時,會在IRQ引腳產(chǎn)生重發(fā)次數(shù)超限中斷。MCU查詢STATUS寄存器的值,即可判斷是發(fā)送完成中斷,還是重發(fā)次數(shù)超限中斷。
當(dāng)發(fā)送端nRF24L0l配置成PTX模式時,配置nRF24L01工作在后一種發(fā)送模式下,重新發(fā)送的等待時間為250μs,重新發(fā)送次數(shù)為10次,地址是TX_AW,輸出功率為0 dBm,速度為2 Mb/s,并且使能發(fā)送完成和重發(fā)送次數(shù)超限兩種中斷,CRC校驗位為2字節(jié),nRF24L01處于POWER_UP狀態(tài)。函數(shù)中WRITE_REG為寫命令基地址0x20。程序如下:


當(dāng)接收端nRF24L01模塊配置成PRX模式時,配置nRF24L0l工作在接收模式下,地址是RX_AW,負載數(shù)據(jù)寬度是TX_PL_W,使能接收完數(shù)據(jù)中斷,CRC校驗位為2字節(jié),nRF24L01處于POWER_UP狀態(tài)。程序如下:

2. nRF24L01的數(shù)據(jù)收發(fā)
(1)發(fā)送數(shù)據(jù) 當(dāng)nRF24L0l模塊配置成發(fā)送模式后,向發(fā)送FIFO輸入數(shù)據(jù)即可啟動傳輸。發(fā)送8 Byte的程序如下:

?。?)接收數(shù)據(jù) 當(dāng)nRF24L0l模塊配置成接收模式后,在接收到數(shù)據(jù)中斷發(fā)生時,從接收FIFO讀取數(shù)據(jù)。接收8字節(jié)的程序如下:

關(guān)于ARM
ARM(Advanced RISC Machines)是微處理器行業(yè)的一家企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應(yīng)用等。
關(guān)于ARM公司簡介
ARM Holdings 是的半導(dǎo)體知識產(chǎn)權(quán) (IP) 提供商,并因此在數(shù)字電子產(chǎn)品的開發(fā)中處于地位。 ARM 公司的總部位于英國劍橋,它擁有 1700 多名員工,在設(shè)立了多個辦事處,其中包括比利時、法國、印度、瑞典和美國的設(shè)計中心。
公司的幾大亮點:
-
的半導(dǎo)體 IP 公司
-
成立于 1990 年
-
到目前為止已銷售了超過 150 億枚基于 ARM 的芯片
-
向 200 多家公司出售了 600 個處理器許可證
-
獲得了所有基于 ARM 的芯片的版稅
-
贏得了長期成長型市場的市場份額
-
ARM 的收益增速通常要比整個半導(dǎo)體行業(yè)快
ARM 的商業(yè)模式主要涉及 IP 的設(shè)計和許可,而非生產(chǎn)和銷售實際的半導(dǎo)體芯片。 我們向合作伙伴網(wǎng)絡(luò)(包括的半導(dǎo)體公司和系統(tǒng)公司)授予 IP 許可證。 這些合作伙伴可利用 ARM 的 IP 設(shè)計創(chuàng)造和生產(chǎn)片上系統(tǒng)設(shè)計,但需要向 ARM 支付原始 IP 的許可費用并為每塊生產(chǎn)的芯片或晶片交納版稅。 除了處理器 IP 外,我們還提供了一系列工具、物理和系統(tǒng) IP 來優(yōu)化片上系統(tǒng)設(shè)計。
總結(jié)
介紹了基于ARM和nRF24L0l的無線數(shù)字傳輸系統(tǒng)的硬軟件設(shè)計。該系統(tǒng)已應(yīng)用于微型飛行器的實時圖像傳輸和遙測中。在實際應(yīng)用中,可根據(jù)需要,將nRF24LOl組成一對一、一對多、多對多的結(jié)構(gòu)。該系統(tǒng)還可廣泛應(yīng)用于無線測控、文件傳輸?shù)阮I(lǐng)域。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









