999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于nRF24L01的無線數據傳輸系統

2008-04-12 00:00:00王代華張志杰
現代電子技術 2008年7期

摘 要:介紹了一種利用無線數字傳輸芯片和單片機構成的無線數據傳輸系統,討論了系統的硬件電路設計和軟件編程,以及無線數字傳輸芯片在增強式突發傳遞模式下通過單片機的控制進行無線數據傳輸的原理,設計了在增強式突發傳遞模式下可實現半雙工通信的通用電路,并討論了無線數字傳輸芯片初始配置和數據發送程序開發的關鍵技術。運行表明,該系統控制方便、工作穩定,能實現可靠的無線數據傳輸。

關鍵詞:無線數據傳輸系統;單片機;nRF24L01芯片;SPI

中圖分類號:TN919.72文獻標識碼:B

文章編號:1004-373X(2008)05-068-03

Wireless Data Transmission System Based on nRF24L01

JIA Qing,WANG Daihua,ZHANG Zhijie

(Key Laboratory of Instrumentation Science Dynamic Measurement,North University of China,Taiyuan,030051,China)



Abstract:This paper introduces a kind of wireless data transmission system implemented with a wireless digital transmission chip and a single chip microcomputer.The system hardware design and software design are discussed in detail,and the theory of wireless data transmission with wireless digital transmission chip under the enhanced ShockBurst mode is analyzed.The circuit is designed and the key features of programming for wireless digital transmission chip initial configuration and wireless data transmission are discussed.The running of system shows that it is easy to control and it works stably to perform reliable wireless data transmission.

Keywords:data wireless transmission system;single chip microcomputer;nRF24L01;SPI

1 nRF24L01芯片的介紹

nRF24L01是單片射頻收發芯片,工作于2.4~2.5 GHz ISM頻段。工作電壓為1.9~3.6 V,有多達125個頻道可供選擇。可通過SPI寫入數據,最高可達10 Mb/s,數據傳輸率最快可達2 Mb/s,并且有自動應答和自動再發射功能。和上一代nRF2401相比,nRF2401數據傳輸率更快,數據寫入速度更高,內嵌的功能更完備。

芯片內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融進了增強式ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。芯片能耗非常低,以-6 dBm 的功率發射時,工作電流只有9 mA,接收時工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節能設計更方便。

1.1 nRF24L01引腳介紹

芯片引腳排列見圖1。

各引腳具體功能如下:CE為發射和接收的使能端;CSN為SPI的使能端;SCK為SPI時鐘輸入;MOSI為SPI數據主輸從入端;MISO為SPI數據主入從輸端;IRQ為中斷輸出;VDD為電源端,接3 V直流電源;VSS為參考接地端;XC1,XC2為晶振端;VDD[CD#*2]PA給功率放大器供電1.8 V;ANT1,ANT2為天線接口端;IREF為參考電流端。

圖1 nRF24L01引腳排列

1.2 nRF24L01的指令結構

nRF24L01所有的配置字都由配置寄存器來定義,這些配置寄存器可通過SPI口訪問。

1.2.1 SPI接口設置

SPI接口由SCK,MOSI,MISO及CSN組成。

(1) 在配置模式下單片機通過SPI接口配置nRF24L01的工作參數。

(2) 在發射或接收模式下單片機SPI接口發送或接收數據。

和SPI接口的指令共有8個,使用每個指令時必須使CSN變低,用完后將其變高。單片機的控制指令從nRF24L01的MOSI引腳輸入,而nRF24L01的狀態信息和數據信息是從其MISO引腳輸出并送給單片機的。利用SPI傳數時,他是先傳低位字節,再傳高位字節,并且在傳每個字節時是從高位字節傳起的。指令分別是:讀寄存器指令,格式是000AAAAA;寫寄存器指令,格式是001AAAAA(AAAAA代表寄存器在內存中的地址;讀Payload指令;寫Payload指令;清發射堆棧指令;清接收堆棧指令;發射數據再利用;空操作。

1.2.2 中斷

當nRF24L01的中斷源( TX[CD#*2]DS,RX[CD#*2]DR,MAX[CD#*2] RT)被置高時(TX[CD#*2]DS為發送成功標志位,RX[CD#*2]DR為接收數據成功標志位,MAX[CD#*2] RT為自動重發超上限標志位),就會使IRQ引腳置低。可以向狀態寄存器寫1來清這些中斷標志位。通過設置CONFIG寄存器的某些位來屏蔽掉這些中斷源,默認情況下,這三個中斷源都是允許的。

1.2.3 內存區

下面介紹nRF24L01的內存區,一共24個寄存器,以下選取幾個重要的加以介紹。

0號寄存器:第7位是保留位;第6位到第4位分別是TX[CD#*2]DS,RX[CD#*2]DR,MAX[CD#*2] RT屏蔽位,置高能屏蔽相應的中斷源;第3位是CRC使能位;第2位是選擇CRC長度;第1位是PWR[CD#*2]UP位,高電平為使芯片上電;第0位是發射、接收選擇位,高電平是發射,低電平是接收。

1號寄存器:第7和第6位是保留位,第5到第0位是使能通道5到通道0的自動應答,高電平有效。

2號寄存器:第7和第6位是保留位,第5到第0位是使能接收通道地址5到地址0,高電平有效。

4號寄存器:第7位到第4位是設置自動重發的時間,第3位到第0位是設置自動重發的次數。

7號寄存器是狀態寄存器,第7位是保留位,第6位是RX[CD#*2]DR位(1:接收堆棧中有了數據),第5位是TX[CD#*2]DS位(1:數據成功發送到接收方),第4位是MAX[CD#*2]RT位(1:達到重發射上限,產生超時中斷),第3到第1位是標志哪個通道接收數據,第0位是發射堆棧狀態位。

1.3 nRF24L01的功能描述

nRF24L01可以通過設置CE和狀態寄存器來選擇他的工作狀態,如表1所示。

配置為發射模式的nRF24L01將會利用增強式ShockBurst技術來發射數據包。發送設備在發完數據后將自動轉為接收狀態來等待接收方的應答信號。若發送設備未接收到應答信號,他將自動重發這包數據(自動重發開啟的情況下)直到接收這包數據或者重發次數超過了在寄存器SETUP[CD#*2]RETR[CD#*2]ARC設置的所允許的最大重發次數。如果是第二種情況,他將在STATUS寄存器里的MAX[CD#*2]RT位反映出來,并且給出中斷。

表1 nRF24L01的工作模式

當nRF24L01收到應答信號時,他將認為該包數據成功發送到接收方,并把這包數據從發射堆棧中清除,同時IRQ變低,STATUS寄存器里的中斷標志位TX[CD#*2]DS置高。

用增強式ShockBurst技術來發射數據可以有以下好處:極大地降低了電流損耗;系統開銷低;極大地降低了數據在空氣中的碰撞率。

2 系統設計

2.1 硬件設計

本系統采用的單片機是PIC16F877,將單片機的PORTC的0~5配置成通用I/O引腳,分別與nRF24L01的IRQ,CE,CSN,SCK,MOSI,MISO連接,控制nRF24L01的工作方式,采用單片機標準的SPI接口。系統上電時,PIC16F877首先對nRF24L01進行寫配置寄存器操作,然后使nRF24L01進入發射狀態,將要發送的數據寫入nRF24L01,激活無線發射。然后檢測nRF24L01的IRQ引腳,由于關閉了自動重發射功能,因此如果引腳電平變低,即說明產生發送成功中斷,數據發送成功,然后從接收端讀出數據即可。

圖2 硬件電路示意圖

2.2 軟件設計

程序流程圖如圖3所示。程序編程的基本思路是,系統上電首先配置nRF24L01的寄存器,本系統只對其中幾個寄存器進行了重新配置,關閉自動重發射功能是想對發送失敗次數進行統計,其他的均采用默認值,如:通信速率2 Mb/s,輸出功率0 dBm等。

圖3 程序流程圖

nRF24L01寫配置子程序如下:

BCFPORTC,2;CSN變低,開始SPI寫數

NOP

MOVLWH′20′ 

MOVWFS[CD#*2]DATA

CALL SEND

B0MOVLWH′0A′;使能CRC,開啟POWER UP,選擇發射模式

MOVWFS[CD#*2]DATA

CALL SEND

BSF PORTC,2;SPI寫數完成

NOP

BCFPORTC,2

MOVLWH′21′ 

MOVWFS[CD#*2]DATA

CALLSEND 

B1MOVLWH′01′ ;只開啟通道0的自動應答功能

MOVWFS[CD#*2]DATA

CALLSEND

BSFPORTC,2

NOP

BCF PORTC,2

MOVLWH′22′ 

MOVWFS[CD#*2]DATA

CALL SEND 

B2MOVLWH′01′;只使能接受通道地址0

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

NOP

BCFPORTC,2

MOVLWH′24′ 

MOVWFS[CD#*2]DATA

CALL SEND

B4MOVLWH′00′;關閉自動重發射功能

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

NOP

BCFPORTC,2

MOVLWH′31′

MOVWFS[CD#*2]DATA

CALL SEND

B17MOVLWH′20′;設置接受通道0的數據長度為16個字節

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2;CSN變高

RETLW0

nRF24L01發送子程序如下:

BCFPORTC,2

NOP

MOVLWH′20′;寫配置寄存器

MOVWFS[CD#*2]DATA

CALL SEND

MOVLWH′0A′;置PRIM[CD#*2]RX為低,置PWR[CD#*2]UP為高

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

CALL W[CD#*2]TX[CD#*2]PAY

BSFPORTC,1

CALL DLY10us

CALL DLY10us

BCFPORTC,1;開啟L01發射

CALL DLY130us

IRQ[CD#*2]JBTFSCPORTC,0;判斷IRQ

GOTO IRQ[CD#*2]J

BCF PORTC,2

NOP 

MOVLWH′07′

MOVWFS[CD#*2]DATA

CALL SEND

MOVLWH′F1′

MOVWFS[CD#*2]DATA

CALL SEND1

CALL READ

BSFPORTC,2

TX[CD#*2]1BTFSSR[CD#*2]DATA,5;判斷數據是否成功發送

GOTO TX[CD#*2]3

BCFPORTB,2

BSFPORTB,1

TX[CD#*2]2BCFPORTC,2;CSN變低

NOP

MOVLWH′27′;狀態寄存器恢復為默認值

MOVWFS[CD#*2]DATA

CALL SEND

MOVLWH′3E′

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

NOP

RETLW0

TX[CD#*2]3BCFPORTB,1;統計發送失敗的次數

BSFPORTB,2

INCF FAIL[CD#*2]NUM,1

BTFSSSTATUS,Z

GOTO TX[CD#*2]2

INCF FAIL[CD#*2]N2,1

GOTO TX[CD#*2]2

W[CD#*2]TX[CD#*2]PAY;發送20個數

BCFPORTC,2

NOP

MOVLWH′20′

MOVWFTX[CD#*2]NUM

MOVLWH′A0′

MOVWFS[CD#*2]DATA

CALL SEND 

PAY[CD#*2]RE[KG*2/3]MOVLWH′55′

MOVWFS[CD#*2]DATA

CALL SEND

DECFSZ TX[CD#*2]NUM,1

GOTO PAY[CD#*2]RE

NOP

BSFPORTC,2

RETLW0

3 結 語

本文介紹了利用PIC16F877和nRF24L01芯片設計的無線數據傳輸系統,成本低,體積小,傳輸速率高,具有良好的通用性和可靠性,可供監測和工業控制系統電路設計參考使用。

參 考 文 獻

[1]何信龍,李雪銀.PIC16F87X快速上手[M].北京:清華大學出版社,2002.

[2]李學海.PIC單片機實戰[M].北京:北京航空航天大學出版社,2004.

[3]Nordic Semiconductor ASA.nRF24L01 product specification[R].2006.

作者簡介 莢 慶 男,1981年出生,安徽巢湖人,碩士生。主要從事無線傳輸方向的研究。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 手机在线国产精品| 国产成人亚洲欧美激情| 欧美性久久久久| 被公侵犯人妻少妇一区二区三区| 免费在线观看av| 亚洲国产精品无码AV| 欧美中文字幕无线码视频| 久热re国产手机在线观看| 亚洲人成网站色7777| 美女视频黄又黄又免费高清| 午夜免费小视频| 国产精品第一区在线观看| 欧美亚洲中文精品三区| 欧美午夜在线视频| 欧美97色| 国产精品人人做人人爽人人添| 欧美一区精品| 婷婷中文在线| 亚洲第一在线播放| 日本成人不卡视频| 国产精品无码一二三视频| 国产91丝袜| 国产成人午夜福利免费无码r| julia中文字幕久久亚洲| 国产丝袜无码精品| av手机版在线播放| 日韩一级毛一欧美一国产| 国产成人无码AV在线播放动漫 | 婷婷综合缴情亚洲五月伊| 992tv国产人成在线观看| 国产精品亚洲欧美日韩久久| 亚洲AV一二三区无码AV蜜桃| 精品久久久久无码| 综合色天天| 在线综合亚洲欧美网站| 精品精品国产高清A毛片| 成年人视频一区二区| 精品久久久久久成人AV| 理论片一区| 成人福利一区二区视频在线| 亚洲AⅤ波多系列中文字幕| 亚洲综合一区国产精品| 97久久免费视频| 亚洲男人的天堂在线观看| 国产精品人人做人人爽人人添| 国产精品久久久精品三级| 亚洲欧美成aⅴ人在线观看 | 亚洲Av激情网五月天| 亚洲综合色婷婷中文字幕| 中文字幕无线码一区| 亚洲综合精品香蕉久久网| 国产精品自在线拍国产电影| 亚洲无码视频一区二区三区 | 国产经典三级在线| 欧美精品亚洲二区| 亚洲男人天堂2020| 91日本在线观看亚洲精品| 成人在线第一页| 毛片基地美国正在播放亚洲 | 国产视频资源在线观看| 色天天综合| 精品视频免费在线| 最新日本中文字幕| 欧美亚洲国产精品久久蜜芽| 久久久波多野结衣av一区二区| 国产91丝袜在线观看| 免费无码一区二区| 在线观看国产精品日本不卡网| 九色综合视频网| 九九热在线视频| 日本手机在线视频| 国产青榴视频在线观看网站| 狠狠色丁香婷婷| 成人福利免费在线观看| 亚洲国产精品国自产拍A| 国产又黄又硬又粗| 国产一级毛片yw| 全部免费特黄特色大片视频| 中文字幕无线码一区| 亚洲成人免费在线| 欧美成人精品在线| 美女一级毛片无遮挡内谢|