《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于ARM和nRF24L01的無線數據傳輸系統
基于ARM和nRF24L01的無線數據傳輸系統
摘要: 由于無線數據通信不用布線,快速布局,因此具有有線數據通信無法比擬的便捷性,在特殊場合具有不可替代性。然而,傳統的由基本射頻集成電路搭建的無線數據通信系統存在電路復雜,成本高,傳輸速率低,可靠性差等缺點。為此,Nordic公司推出一款工業級內置硬件鏈路層協議的低成本單芯片nRF24L01型無線收發器件。
Abstract:
Key words :

  1 引言

  由于無線數據通信不用布線,快速布局,因此具有有線數據通信無法比擬的便捷性,在特殊場合具有不可替代性。然而,傳統的由基本射頻集成電路搭建的無線數據通信系統存在電路復雜,成本高,傳輸速率低,可靠性差等缺點。為此,Nordic公司推出一款工業級內置硬件鏈路層協議的低成本單芯片nRF24L01型無線收發器件。該器件采用GFSK調制,128個頻點自動跳頻,片內自動生成報頭和CRC校驗碼,具有出錯自動重發功能,這些特性使得由nRF24L0l構建的無線數據傳輸系統具有成本低,速率高,傳輸可靠等優點。

  2 nRF24L01簡介

  圖l給出nRF24L0l的引腳排列。nRF24L01工作于2.4~2.5 GHz ISM頻段,內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融合了Enhanced ShoekBurst技術。其中,輸出功率、通信頻道、自動重發次數等參數可通過編程設置。內置的SPI接口,其速率為0~8Mb/s,MCU通過SPI接口控制nRF 24L0l。nRF24L01的特點如下:①功耗低。能夠在以一6 dBm的功率發射時,工作電流只有9 mA;在以0 dBm的功率發射時,工作電流僅11.3 mA;而在接收時,工作電流僅12.3 mA,因此具有掉電和空閑多種低功率工作模式。②體積小,采用QFN20封裝。③供電電壓為1.9~3.6 V,可方便集成到各種電子器件。

nRF24L0l的引腳排列

  3 LPC214x簡介

  IPC214x系列是Philips公司的基于ARM7內核的高性能器件,與LPC213x系列器件相兼容,并增加了一些新功能,性能得到了大大的提升。LPC214x系列器件最大特色是內置2kB終端RAM的USB 2.0全速控制器,1個(LPC2141/42)或2個(LPC2144/46/48)10位A/D轉換器,多個串行接口,包括2個UART、2個高速I2C總線、SPI和具有緩沖作用及可變數據長度的SSP。LPC214x系列器件采用單電源供電,具有上電復位(POR)和掉電檢測(BOD)電路。相對于普通ARM7來說,LPC214x還提升了I/O端口的速度,并且內置8—40 KB的靜態RAM和32~512 KB的高速Flash存儲器;工作頻率高達60MHz;采用超小型LQFP64封裝。

  4 系統硬件設計

  該系統采用模塊化設計,主要由LPC2144、nRF24L01、射頻功放和天線模塊組成。其中,射頻功放采用臺灣K一BEST公司的2.4 G雙向功放模塊。圖2是系統總體設計圖。上位機為PC機,LPC2144與nRF24L01連接,根據需要配置2.4 G功放和增益天線模塊。如果配置0.5 W功放和高增益天線,則傳輸距離可達5~10 km。下位機為嵌入式平臺,該嵌入式平臺可以是單片機、ARM、DSP和FPGA,nRF24L0l可通過SPI接口直接與嵌入式平臺連接。

系統總體設計圖

  圖3給出LPC2144與nRF24L0l的硬件接口設計。配置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連接。

LPC2144與nRF24L0l的硬件接口設計

  5 系統軟件設計

  發送端LPC214x完成初始化后,把nRF24L01配置成PTX工作模式。若從上位機接收到數據,則啟動nRF24L01發送數據。若發送成功,則產生TX_DS中斷;若重發超限,則產生MAX_RT中斷;若發送成功,則繼續發送,否則進行出錯處理。接收端LPC214x完成初始化后,把nRF24L0l配置成PRX工作模式。當正確接收數據時,nRF24L0l產生接收中斷標志,LPC214x從nRF24L01讀取數據并向下位機發送。圖4給出軟件流程圖。軟件開發環境為ADSl.2。

軟件流程圖

  5.1 nRF24L01的初始化

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

nRF24L0l的命令表

  由表可見,通過SPI接口傳入nRF24L01的第一個字節是命令字,nRF24L0l的各種命令字都只有一個字節,分為讀寄存器、寫寄存器、讀數據接收緩沖區、寫發送數據緩沖區等。在輸入任意命令字的同時,MISO輸出的都是STATUS寄存器的內容。nRF24L0l的數據傳輸模式有ShockBurst和Enhanced ShockBurst兩種數據包。后者比前者多了一個確認數據傳輸的信號,保證數據傳輸的可靠性。該器件內部完成需要高速處理的RF協議,發送數據時只需將數據放入發送數據緩沖區,器件會自行產生前導字符和CRC數據,并將這些數據地址和地址信息、發送數據緩沖區的數據等組成一個數據包發送出去。圖5給出兩種模式的數據包格式。

 

兩種模式的數據包格式

  現按后一種模式初始化。在配置為接收數據時,nRF24L01接收到數據包后,由硬件解析地址數據和信息數據,當接收到有效信息數據后,在IRQ引腳產生中斷,并通知外部處理器讀取數據。在配置為發送數據時,nRF24L0l發送數據包后,自動切換到接收模式已接收返回的確認信號,當收到確認信號后,IRQ引腳產生數據發送完成中斷,如果沒有握手信號返回,則表示發送失敗,器件自動重新發送,如果重新發送的次數超過在ARC_CNT寄存器中的設定值時,會在IRQ引腳產生重發次數超限中斷。MCU查詢STATUS寄存器的值,即可判斷是發送完成中斷,還是重發次數超限中斷。

  當發送端nRF24L0l配置成PTX模式時,配置nRF24L01工作在后一種發送模式下,重新發送的等待時間為250μs,重新發送次數為10次,地址是TX_AW,輸出功率為0 dBm,速度為2 Mb/s,并且使能發送完成和重發送次數超限兩種中斷,CRC校驗位為2字節,nRF24L01處于POWER_UP狀態。函數中WRITE_REG為寫命令基地址0x20。程序如下:

程序

程序

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

程序

  5.2 nRF24L01的數據收發

  (1)發送數據 當nRF24L0l模塊配置成發送模式后,向發送FIFO輸入數據即可啟動傳輸。發送8 Byte的程序如下:

程序

  (2)接收數據 當nRF24L0l模塊配置成接收模式后,在接收到數據中斷發生時,從接收FIFO讀取數據。接收8字節的程序如下:

程序

  6 結語

  介紹了基于ARM和nRF24L0l的無線數字傳輸系統的硬軟件設計。該系統已應用于微型飛行器的實時圖像傳輸和遙測中。在實際應用中,可根據需要,將nRF24LOl組成一對一、一對多、多對多的結構。該系統還可廣泛應用于無線測控、文件傳輸等領域。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: youjizzxxx69日本 | 九九精品视频在线观看九九 | 日韩欧美成末人一区二区三区 | 免费播放美女一级毛片 | 亚洲精品国产综合久久一线 | 美国毛片在线 | 小草青青神马影院 | 久草勉费视频 | 久久久久久久久久久久久久久久久久 | 日韩a毛片免费全部播放完整 | 久久精品国产只有精品6 | 国产人成在线视频 | 老司机免费福利午夜入口ae58 | 极品美女一级毛片 | 国产视频久久久 | 亚洲成人免费网站 | 久色视频在线观看 | 欧美亚洲日本视频 | 国产亚洲福利精品一区二区 | 国产成人最新毛片基地 | 免费又黄又爽的视频 | 国产欧美日韩视频在线观看 | 日本特爽特黄特刺激大片 | 亚洲国产成人在线视频 | 久久久久久久亚洲精品一区 | 看久久 | 成人国产网站v片免费观看 成人国产午夜在线视频 | 亚洲美色综合天天久久综合精品 | 亚洲欧美日韩在线一区二区三区 | 日本高清免费视频色www | 久久综合久久88 | 亚洲精品成人一区 | 午夜不卡视频 | 99爱在线精品视频免费观看9 | 亚洲国产成人九九综合 | 欧美在线一级毛片观看 | 国产一级aaaaa毛片欧美 | 国产一区二区三区视频 | 毛片视频网站 | 国产精品久久久久久久午夜片 | 亚洲一区二区影院 |