




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 濱江學(xué)院濱江學(xué)院 課程論文課程論文 題題 目目 基于 NRF24L01 的無線通信系統(tǒng)設(shè)計(jì) 專專 業(yè)業(yè)_ 通通 信信 工工 程程_ 學(xué)生姓名學(xué)生姓名_金金 建建 超超_ 學(xué)學(xué) 號號_20092334022_ 二二 一二一二 年年 十二十二 月月 二二十九十九 日日 基于基于 nRF24L01nRF24L01 的的 2 24 GHz4 GHz 無線通信系統(tǒng)設(shè)計(jì)無線通信系統(tǒng)設(shè)計(jì) 摘要摘要:提出一種基于NORDIC公司生產(chǎn)的24 GHz無線收發(fā)芯片nRF24L01的短距離無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)方法。介紹了系統(tǒng)的實(shí)現(xiàn)方案和硬件選型,該系統(tǒng)以ATmega8L為控制核心,PTR6000為無線傳輸模塊;詳細(xì)
2、描述了硬件電路和軟件程序設(shè)計(jì)方法,其中軟件設(shè)計(jì)包括單片機(jī)主程序設(shè)計(jì)和PTR6000通信程序設(shè)計(jì)等;在硬件和軟件設(shè)計(jì)的基礎(chǔ)上,通過實(shí)驗(yàn)仿真驗(yàn)證了系統(tǒng)的正確性和可靠性,為系統(tǒng)實(shí)際應(yīng)用提供了依據(jù),最終達(dá)到了設(shè)計(jì)的要求。 關(guān)鍵詞關(guān)鍵詞:nRF24L01;ATmega8L;無線通信 引言引言 2 4 GHz頻段是全球開放的ISM頻段, 使用者無需申請?jiān)S可證, 給開發(fā)者和用戶帶來了很大方便; 同時(shí)2 4 GHz無線射頻技術(shù)采用專用的數(shù)據(jù)通道,并且搭載有跳頻技術(shù)和數(shù)據(jù)加密,出現(xiàn)相似頻段的可能性大大降低,從而減少了信號之間的干擾,保證了傳輸?shù)姆€(wěn)定性。因?yàn)榫哂羞@些優(yōu)點(diǎn),藍(lán)牙,ZigBee,WiFi等短距離無線數(shù)
3、據(jù)通信均工作在24 GHz ISM頻段。在一般應(yīng)用場合,以上這些技術(shù)顯得過于復(fù)雜,其成本也過高,很難滿足快速開發(fā)和低成本的要求。因此,目前迫切需要一種低成本、低功耗、能夠快速開發(fā)應(yīng)用的方案,來實(shí)現(xiàn)設(shè)備的無線連接。該文提出一種利用工作頻率為24 GHz的無線收發(fā)芯片nRF24L01,進(jìn)行短距離的點(diǎn)對點(diǎn)的無線通信系統(tǒng)設(shè)計(jì)方案。 1 1實(shí)現(xiàn)方案及硬件選型實(shí)現(xiàn)方案及硬件選型 1 11 1系統(tǒng)實(shí)現(xiàn)方案系統(tǒng)實(shí)現(xiàn)方案 系統(tǒng)的目的是在單片機(jī)的控制下實(shí)現(xiàn)數(shù)據(jù)的無線傳輸,硬件電路結(jié)構(gòu)如圖1所示。 圖1硬件電路結(jié)構(gòu) 該系統(tǒng)主要以單片機(jī)為控制處理核心,由它完成對數(shù)據(jù)的采集處理以及控制數(shù)據(jù)的無線傳輸;電源電路提供系統(tǒng)所
4、需各種電壓;復(fù)位電路提供單片機(jī)所需的復(fù)位信號;晶振電路提供單片機(jī)的時(shí)鐘信號;指示電路用來指示無線傳輸模塊的工作狀態(tài);鍵盤電路用來發(fā)送各種類型的指令和數(shù)據(jù);顯示電路用來顯示系統(tǒng)接收到的指令和數(shù)據(jù)。 1 12 2硬件選型硬件選型 設(shè)計(jì)采用低成本、性能好的NORDIC公司生產(chǎn)的nRF24I_I)l芯片來完成。nRF24L01是單片射頻收發(fā)芯片,工作在全球開放的24 GHz頻段,有多達(dá)125個(gè)頻道可供選擇;可通過SH寫人數(shù)據(jù),并且有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能;芯片功耗非常低,以一6 dBm的功率發(fā)射時(shí),工作電流只有9 mA,接收時(shí)工作電流只有123 mA;多種低功率工作模式使節(jié)能設(shè)計(jì)更方便,并且市場上有
5、不少以它為核心的模塊,便于購買。PTR6000就是以nRF24I)l為核心的無線收發(fā)模塊,它可以通過軟件設(shè)定地址,同時(shí)設(shè)置6路接收通道地址,特別方便點(diǎn)對多點(diǎn)無線通信。其內(nèi)部全面的寄存器配置,能夠更全面地對無線數(shù)據(jù)傳輸?shù)募?xì)節(jié)進(jìn)行控制。所以本次的無線數(shù)傳模塊選用了PTR6000,它的硬件接口如圖2所示。 在待機(jī)或掉電模式下,單片機(jī)通過SPI接口配置PTR6000的工作參數(shù);在發(fā)射接收模式下,單片機(jī)通過SP接口發(fā)送和接收數(shù)據(jù);中斷輸出接I=IIRQAM可提供如下3種中斷輸出:發(fā)送完成中斷TXDR、接收完成中斷RX DR、最大發(fā)送次數(shù)到MAXRT。由于PTR6000的工作電壓為1936 V,AVR系列
6、單片機(jī)也工作在低電壓,并且具有SPI接口,正好滿足了這一點(diǎn)要求;考慮到顯示部分使用串行方式,所使用的IO口不是很多,ATmega8L足以滿足要求,為了降低設(shè)計(jì)成本,控制芯片選擇ATmega8L。 2.2.硬件電路設(shè)計(jì)硬件電路設(shè)計(jì) 2 21 1電源、復(fù)位和晶振電路設(shè)計(jì)電源、復(fù)位和晶振電路設(shè)計(jì) 為了縮短開發(fā)周期,設(shè)計(jì)中由交流220 V轉(zhuǎn)直流12 V的部分由市場上的電源模塊來代替。雖然ATmega8L可工作在2755 V寬電壓,但是由于PTR6000工作在1936 V,超出這個(gè)電壓范圍就有被燒壞的可能,因此在用三端穩(wěn)壓管7805將12 v轉(zhuǎn)換為5 V后,還要用1117將5 V的直流電轉(zhuǎn)換到33 V,
7、這樣PTR6000和Atmega8L都能正常工作。此外,為了適應(yīng)移動(dòng)測試的需要,設(shè)計(jì)的電路上還配備了電池槽,以便用2節(jié)干電池為系統(tǒng)提供3 V直流電壓。設(shè)計(jì)采用簡單的阻容復(fù)位電路,由于ATmega8L是低電平復(fù)位,電源經(jīng)1 K電阻和22心電解電容接地,復(fù)位線從電阻和電容之間引出,接到ATmega8L的復(fù)位引腳。為了獲得較高的振蕩頻率,設(shè)計(jì)采用了外接8 MHz晶體振蕩器。由于AVR單片機(jī)獨(dú)特的熔絲位設(shè)置,很容易造成單片機(jī)的鎖死現(xiàn)象,因此在設(shè)置有關(guān)時(shí)鐘的相關(guān)位時(shí)要格外小心。當(dāng)然,即便是鎖死了一般情況下還是可以通過外接有源晶振來解鎖,并重新燒寫正確的熔絲位。 2 22 2鍵盤和顯示電路設(shè)計(jì)鍵盤和顯示電
8、路設(shè)計(jì) 設(shè)計(jì)的鍵盤采用3 X 3的矩陣式鍵盤,3條行線接到ATmega8L的PC3、PCA、PC5,3條列線分別接到PC0、PCI、PC2,并且3條列線帶有上拉電阻。在每個(gè)上拉電阻的下面引出一條線,接到三輸入與門74HCll的輸人口,然后輸出口接到單片機(jī)的外中斷1引腳,這樣設(shè)置的目的是用中斷的方法來進(jìn)行鍵盤的掃描讀取。這一功能的實(shí)現(xiàn)主要還依靠軟件的設(shè)計(jì),使得在有按鍵按下時(shí),能夠通過74HCll產(chǎn)生一個(gè)中斷信號,通知單片機(jī)現(xiàn)在有鍵按下。然后單片機(jī)會進(jìn)入預(yù)先編寫好的鍵盤處理程序進(jìn)行鍵盤掃描,判斷鍵值,并執(zhí)行相應(yīng)的操作。顯示電路使用2個(gè)8段數(shù)碼管,通過串轉(zhuǎn)并的動(dòng)態(tài)顯示來實(shí)現(xiàn),并且通過2個(gè)IO口控制2
9、個(gè)三極管來分別進(jìn)行驅(qū)動(dòng)和控制。用SPI口進(jìn)行顯示數(shù)據(jù)的串行輸出是一個(gè)比較方便的方法,但是考慮到PTR6000通過單片機(jī)SPI口接收數(shù)據(jù),有與顯示沖突的可能。因此,設(shè)計(jì)時(shí)利用了PDl、PD4兩個(gè)普通的IO口來分別作為數(shù)據(jù)線和時(shí)鐘線,模擬時(shí)序來實(shí)現(xiàn)數(shù)據(jù)的串轉(zhuǎn)并顯示。 3 3 軟件設(shè)計(jì)軟件設(shè)計(jì) 3 31 1主程序設(shè)計(jì)主程序設(shè)計(jì) 設(shè)計(jì)采用的是匯編語言,內(nèi)存不能自動(dòng)分配,在主程序的開始,首先對ATmega8L的堆棧指針進(jìn)行設(shè)置。在IO空間,地址為$3E($005E)和$3D($005D)的2個(gè)8位寄存器構(gòu)成了一個(gè)16位寬的堆棧指針寄存器sP,單片機(jī)上電復(fù)位后,堆棧寄存器的初始值為SPH=$00、SPL=
10、$00。AVR的堆棧是向下生長的,即新數(shù)據(jù)推入堆棧時(shí),堆棧指針的數(shù)值將減小。所以系統(tǒng)程序一開始就對堆棧指針寄存器進(jìn)行了初始化,將sP的值設(shè)在數(shù)據(jù)存儲器(sRAM)空間的最高處。設(shè)置堆棧指針后的程序中,對各I0口的存儲器進(jìn)行配置,包括數(shù)據(jù)寄存器 PORTx、數(shù)據(jù)方向寄存器DDRx。隨后的初始化設(shè)置中,對外中斷的觸發(fā)方式進(jìn)行相應(yīng)的設(shè)置。最初設(shè)計(jì)采用的是低電平觸發(fā)方式,但是由于低電平容易造成重復(fù)觸發(fā),造成鍵值讀取錯(cuò)誤,因此在后續(xù)的程序設(shè)計(jì)中將其改成了下跳沿觸發(fā),這樣只要鍵盤消抖工作做好,就能解決重復(fù)觸發(fā)的問題。在點(diǎn)對點(diǎn)和點(diǎn)對多點(diǎn)的短距離通信中,每一方隨時(shí)都有發(fā)送數(shù)據(jù)的可能,所以在主程序的PTR600
11、0初始化部分中設(shè)置為接收方式,并對其相關(guān)地址通道進(jìn)行了開通和自動(dòng)應(yīng)答設(shè)置,并配置了其地址的的長度且按指定長度對地址進(jìn)行了配置。在主程序中還設(shè)置了PTR6000的中斷允許標(biāo)志位,當(dāng)有數(shù)據(jù)接收中斷、發(fā)送完成中斷、最大發(fā)送次數(shù)中斷產(chǎn)生時(shí),在PTR6000的IRQ引腳產(chǎn)生一個(gè)低電平,觸發(fā)單片機(jī)外中斷0,進(jìn)行相應(yīng)的處理。 3 32 2鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì) 由硬件電路設(shè)計(jì)可知,鍵盤程序是放在中斷服務(wù)程序中的,而且是下降沿觸發(fā)中斷,這一點(diǎn)有關(guān)的IO口設(shè)置和寄存器有關(guān)位設(shè)置在主程序中完成,在此不再作具體說明。在外中斷1服務(wù)程序的開始,首先對鍵盤延時(shí)消抖,判斷是否真的有鍵按下,如果判斷確實(shí)有鍵按下則向下執(zhí)行
12、鍵值判斷程序,否則,判定為錯(cuò)誤中斷,中斷返回。該部分鍵盤判斷程序是通過線反轉(zhuǎn)法完成的,首先3行送高電平,3列送低電平,延時(shí)一個(gè)時(shí)鐘周期后,讀取管腳電平(PINC),并且對讀取的數(shù)據(jù)進(jìn)行保存;然后3列送高電平,3行送低電平,延時(shí)一個(gè)時(shí)鐘周期后,讀取管腳電平(PINC),并且對讀取的數(shù)據(jù)進(jìn)行保存。然后兩次讀到的數(shù)據(jù)只保留低6位,高位全部清零,因?yàn)殒I盤只用到了低6位。然后再把2個(gè)鍵進(jìn)行位或,得到一個(gè)數(shù)值,通過對這個(gè)數(shù)值的判斷來判定是哪一個(gè)鍵按下了。 3 33 3顯示程序設(shè)計(jì)顯示程序設(shè)計(jì) 顯示程序設(shè)計(jì)總的思想是首先串行傳送轉(zhuǎn)換后的十位顯示數(shù)碼,然后選通十位,再進(jìn)行適當(dāng)延時(shí)后關(guān)閉。再串行傳送轉(zhuǎn)換后的個(gè)位
13、顯示數(shù)碼,然后選通個(gè)位,進(jìn)行適當(dāng)延時(shí)后關(guān)閉。具體串行顯示是這樣實(shí)現(xiàn)的:首先把要顯示碼寄存器進(jìn)行帶進(jìn)位移位,然后判斷進(jìn)位標(biāo)志位C來向串行數(shù)據(jù)輸出口送0或1,進(jìn)行適當(dāng)延時(shí)后,向串行時(shí)鐘口送低電平,適當(dāng)延時(shí)后送高電平,目的是產(chǎn)生一個(gè)上跳沿,把串行數(shù)據(jù)口的電平狀態(tài)移入74HCl64。這樣連續(xù)傳送8次,就將8位顯示碼送出 3 34 4 PTPTR6000R6000通信程序設(shè)計(jì)通信程序設(shè)計(jì) 由于與RF協(xié)議相關(guān)的高速信號處理部分已經(jīng)嵌入在模塊內(nèi)部,PTR6000可與各種低成本單片機(jī)配合使用,也可以與DSP等高速處理器配合使用。此系統(tǒng)中PTR6000可以進(jìn)行半雙工通信,所有通信基點(diǎn)都初始化為接收模式,等待命令
14、。當(dāng)收到數(shù)據(jù)后,進(jìn)行相應(yīng)的操作。并且同樣可以進(jìn)行數(shù)據(jù)的發(fā)送,在數(shù)據(jù)發(fā)送完成后又立即轉(zhuǎn)換成接收狀態(tài),等待再次有數(shù)據(jù)的到來。PTR6000有6種工作模式如表1所示,其中PWRUP和PRIMRX是模塊寄存器參數(shù)。 3 34 41 1接收程序設(shè)計(jì)接收程序設(shè)計(jì) 接收程序編寫流程主要是在初始化的過程中,把本機(jī)設(shè)置成接收狀態(tài),這部分主要是在主程序的初始化配置的過程中完成的。具體的程序流程如下:設(shè)置PTR6000的配置寄存器,把門R6000配置成允許數(shù)據(jù)接收完成中斷、數(shù)據(jù)發(fā)送完成中斷和最大發(fā)送次數(shù)到中斷3個(gè)中斷,當(dāng)有以上3種中斷中的任何一個(gè)產(chǎn)生時(shí)PTR6000的IRQAM引腳都產(chǎn)生一個(gè)低電平;給EN RXAD
15、DR接收地址允許寄存器送數(shù)$01只開通數(shù)據(jù)通道0;并且通過給EN從送數(shù)$01允許數(shù)據(jù)通道0自動(dòng)應(yīng)答允許;通過對SETUP AW配置,設(shè)置地址的長度為3個(gè)字節(jié);并且在對數(shù)據(jù)通道0的地址寄存器RX ADDR P0的配置過程中把地址配置為$000000,在隨后的設(shè)置中把數(shù)據(jù)速率設(shè)置為2 Mbps;對接收緩沖寄存器清空,確保其能進(jìn)入接收狀態(tài)。最后CE送高電平,進(jìn)入接收狀態(tài)。 3 34 42 2發(fā)送程序設(shè)計(jì)發(fā)送程序設(shè)計(jì) 當(dāng)有鍵按下時(shí)就要啟動(dòng)相應(yīng)的發(fā)送程序,發(fā)送子程序是在外中斷0中被調(diào)用的。具體的程序流程如下:PTR6000的發(fā)送緩沖寄存器進(jìn)行清空操作;程序中接收結(jié)點(diǎn)地址(RX ADDR)、最大發(fā)送次數(shù)(
16、ARC)和有效數(shù)據(jù)(TXP皿)通過SPI接口寫入PTR6000,在寫入過程中對SPI中斷標(biāo)志位進(jìn)行 監(jiān)測,如果數(shù)據(jù)傳送沒有完成保持CSN為低;配置寄存器PRIMRX位設(shè)為低,把標(biāo)志寄存器rl和數(shù)據(jù)寄存器r19的數(shù)據(jù)不斷寫入PTR6000的發(fā)送緩沖寄存器;設(shè)置CE為高,啟動(dòng)發(fā)射。CE高電平持續(xù)時(shí)間最小為10肚s。若啟用了自動(dòng)應(yīng)答模式,模塊立即進(jìn)入接收模式。 3 35 PTR60005 PTR6000中斷服務(wù)程序設(shè)計(jì)中斷服務(wù)程序設(shè)計(jì) PTR6000的3種類型的中斷都是通過INT0觸發(fā)的, 所以在程序的開始要對中斷的具體來源進(jìn)行判斷。 PTR6000中有一個(gè)狀態(tài)寄存器(STATUS),其中包括3種中
17、斷的標(biāo)志位。在中斷服務(wù)程序的開始首先向FrR6000發(fā)送一個(gè)空操作指令,此時(shí)返回單片機(jī)SPI數(shù)據(jù)寄存器SPDR的數(shù)據(jù)就是當(dāng)前狀態(tài)寄存器的數(shù)值。接下來對其3個(gè)中斷標(biāo)志位進(jìn)行判斷,判斷是接收完成中斷、發(fā)送完成中斷還是最大發(fā) 送次數(shù)到中斷,然后跳轉(zhuǎn)到相應(yīng)的服務(wù)程序部分。 4 4實(shí)驗(yàn)仿真實(shí)驗(yàn)仿真 基于以上設(shè)計(jì)方案, 對系統(tǒng)進(jìn)行了實(shí)驗(yàn)仿真。 在搭建相關(guān)硬件平臺的基礎(chǔ)上, 通過對相關(guān)軟件程序的調(diào)試,系統(tǒng)很好地實(shí)現(xiàn)了點(diǎn)對點(diǎn)的無線通信,實(shí)驗(yàn)證實(shí),基于nRF24L01的24 GHz無線通信系統(tǒng)解決方案,可以實(shí)現(xiàn)小于10 m的短距離通信。此外還在2臺計(jì)算機(jī)之間進(jìn)行了不同格式、不同大小的文件的傳輸實(shí)驗(yàn),其傳輸速率約為512 kBS,具體結(jié)果如表2所示。通過提高單片機(jī)的晶振還可以加快文件的傳輸速度,最快可以達(dá)到2 Mbs。 表2 24 GI-Iz無線通信系統(tǒng)文件傳輸速率對照表 5 5結(jié)束語結(jié)束語 24 GHz無線通信是一項(xiàng)新興的短距離無線通信解決方案,主要面向的應(yīng)用領(lǐng)域是低速率無線個(gè)人區(qū)域網(wǎng),典型特征是近距離、 低功耗、 低成本, 主要適用于小型廉價(jià)設(shè)備的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 24315-1:2025 EN Intelligent transport systems - Management of electronic traffic regulations (METR) - Part 1: Vocabulary
- 展覽現(xiàn)場互動(dòng)與觀眾吸引考核試卷
- 保險(xiǎn)銷售團(tuán)隊(duì)激勵(lì)與管理考核試卷
- 單板加工生產(chǎn)調(diào)度優(yōu)化策略實(shí)施考核試卷
- 小吃價(jià)格策略與成本控制考核試卷
- 農(nóng)藥減量使用與替代技術(shù)考核試卷
- 第1課《鄧稼先》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 拍賣行業(yè)聯(lián)盟合作與交流考核試卷
- 木材加工新技術(shù)研究考核試卷
- 班級衛(wèi)生健康教育工作的計(jì)劃
- 2025屆東北師大附屬中學(xué)高考數(shù)學(xué)倒計(jì)時(shí)模擬卷含解析
- 智能交通監(jiān)控系統(tǒng)運(yùn)維服務(wù)方案(純方案-)
- 【MOOC】中學(xué)教育見習(xí)與實(shí)習(xí)-河北師范大學(xué) 中國大學(xué)慕課MOOC答案
- 《社會應(yīng)急力量建設(shè)基礎(chǔ)規(guī)范 第3部分:山地搜救》知識培訓(xùn)
- 2025年河北省職業(yè)院校技能大賽(高職)嬰幼兒健康養(yǎng)育照護(hù)比賽參考試題庫含答
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題
- 電影院管理與運(yùn)營服務(wù)流程手冊
- 8.2 二氧化碳的性質(zhì)和用途 同步練習(xí)
- GB/T 44536-2024CVD陶瓷涂層熱膨脹系數(shù)和殘余應(yīng)力試驗(yàn)方法
- 現(xiàn)代家政導(dǎo)論-課件 6.1.1認(rèn)識道德與職業(yè)道德
- 北京市東城區(qū)2022-2023學(xué)年高三上學(xué)期期末考試地理試卷 含答案
評論
0/150
提交評論