基于ATmega16和nRF905的無(wú)線射頻收發(fā)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0引言
隨著當(dāng)今電子科技的飛速發(fā)展,各種智能化控制系統(tǒng)(比如智能化小區(qū)內(nèi)部的無(wú)線抄表系統(tǒng)、門(mén)禁系統(tǒng)、防盜報(bào)警系統(tǒng)和安全防火系統(tǒng)等)、工業(yè)數(shù)據(jù)采集系統(tǒng)、水文氣象控制系統(tǒng)、機(jī)器人控制系統(tǒng)、數(shù)字圖像傳輸系統(tǒng)等等,都已經(jīng)離不開(kāi)數(shù)據(jù)信息的電子傳輸。可以說(shuō),數(shù)據(jù)信息傳輸系統(tǒng)是各種智能化控制系統(tǒng)的重要組成部分。而數(shù)據(jù)傳送大部分采用有線數(shù)據(jù)傳送方式,如并行傳送、串行傳送和CAN總線等等。在有線數(shù)據(jù)傳輸方式當(dāng)中。數(shù)據(jù)的傳輸載體是雙絞線、同軸電纜或光纖。其實(shí),數(shù)據(jù)傳輸還可以用無(wú)線傳輸方式,即通過(guò)空氣或真空實(shí)現(xiàn)數(shù)據(jù)傳送。相比于傳統(tǒng)的有線數(shù)據(jù)傳輸方式,無(wú)線傳輸方式可以不考慮傳輸線纜的安裝問(wèn)題,從而節(jié)省大量線纜,降低施工難度和系統(tǒng)成本,因而是一個(gè)很有發(fā)展?jié)摿Φ难芯空n題。
本文給出了用ATMEGA16L單片機(jī)和nRF905無(wú)線射頻器收發(fā)組成的一種無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案。該系統(tǒng)由發(fā)射和接收模塊組成。發(fā)射模塊主要將要發(fā)送的數(shù)據(jù)經(jīng)單片機(jī)處理后,通過(guò)nRF905發(fā)送出去。在接收模塊中,nRF905則將數(shù)據(jù)正確接收后通過(guò)數(shù)碼管顯示出來(lái),從而實(shí)現(xiàn)短距離的無(wú)線通信。
1收發(fā)系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)硬件總體方案
本系統(tǒng)的總體框圖如圖1所示,圖中箭頭指向表明信號(hào)的走向。本系統(tǒng)從功能上可以分為電源模塊、中心控制模塊、無(wú)線收發(fā)模塊、接收數(shù)據(jù)顯示模塊等四個(gè)部分。
本設(shè)計(jì)需要3.3 V電壓。故可用三端可調(diào)輸出集成穩(wěn)壓器LM317來(lái)產(chǎn)生3.3 V電壓。圖2所示是用LM317產(chǎn)生3.3 V電源電壓的電路原理圖。
1.3單片機(jī)控制電路
該系統(tǒng)選擇AVR ATMEGA16L單片機(jī)來(lái)進(jìn)行控制電路的設(shè)計(jì)。其原因主要是該單片機(jī)具有以下特點(diǎn):
(1)速度快
AVR單片機(jī)在單一時(shí)鐘周期內(nèi)能夠執(zhí)行功能強(qiáng)大的指令,每MHz可實(shí)現(xiàn)MIPS的處理能力,是具有最高M(jìn)IPS/mW能力的8位單片機(jī)。AVR單片機(jī)采用大型快速存取寄存器文件和快速單周期指令。其快速存取RISC寄存器文件由32個(gè)通用工作寄存器組成。
(2)片內(nèi)資源豐富
內(nèi)含8通道10位AD轉(zhuǎn)換器的最高采樣率為15kSPS,可滿足本系統(tǒng)所要求的8kSPS的要求;SPI(Serial Peripheral Interface,串行外設(shè)接口)控制器可簡(jiǎn)化單片機(jī)與串行DAC和無(wú)線收發(fā)芯片之間的通訊,減少連線;而512字節(jié)的EEPROM則可在掉電時(shí)存儲(chǔ)用戶信息:該單片機(jī)有兩個(gè)外部中斷,可確保單片機(jī)及時(shí)響應(yīng)并處理最新收到的信息。
(3)可重復(fù)擦寫(xiě)并可在系統(tǒng)編程(ISP)
AVR單片機(jī)ATMEGA16L中的程序存儲(chǔ)空間采用的是Flash存儲(chǔ)技術(shù),因此,該單片機(jī)的內(nèi)部存儲(chǔ)單元可在線重復(fù)擦寫(xiě)1000次以上。
(4)低功耗
AVR ATMEGA16L單片機(jī)的工作電壓范圍為2.7~5.5 V,同時(shí)具有休眠省電功能(POWERDOWN)及閑置(IDLE)低功耗功能,此時(shí)的一般耗電在1~2.5 mA之間。由于本系統(tǒng)以移動(dòng)性和低功耗見(jiàn)長(zhǎng),因此,采用此單片機(jī)芯片可以滿足系統(tǒng)對(duì)功耗的要求。
(5)帶有同步串行接口SPI
SPI是一種同步串行外圍總線系統(tǒng)接口,它可以使微處理器與各種外圍設(shè)備以同步串行方式進(jìn)行信息交換。SPI總線一般使用四根信號(hào)線:SCK(串行時(shí)鐘)、MISO(主機(jī)輸入/從機(jī)輸出)、MOSI(主機(jī)輸出/從機(jī)輸入)和SS(低電平有效的從機(jī)選擇)。利用SPI總線可以在軟件控制下構(gòu)成各種系統(tǒng)。
ATMEGA16L單片機(jī)內(nèi)含一個(gè)標(biāo)準(zhǔn)的SPI接口,可用于單片機(jī)與單片機(jī)或外設(shè)之間進(jìn)行高速同步數(shù)據(jù)傳輸。它使用標(biāo)準(zhǔn)的四線接口。SCK、MISO、MOSI、/SS分別與PB7、PB6、PB5和PB4復(fù)用。在硬件設(shè)計(jì)時(shí),本設(shè)計(jì)把MCU的SPI接口、nRF905的SPI接口.以及另外選定的幾個(gè)I/O口連接到nRF905的輸入輸出信號(hào)。ATMEGA16L與外圍器件的連接電路見(jiàn)圖3所示。
1.4無(wú)線收發(fā)芯片nRF905簡(jiǎn)介
系統(tǒng)中的無(wú)線收發(fā)電路采用挪威Nordic公司的單片無(wú)線收發(fā)器芯片nRF905。該芯片的工作電壓為1.9~3.6 V,采用32引腳QFN封裝(5×5 mm),可工作于433/868/915 MHz三個(gè)ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻段,是一個(gè)真正的單片UHF無(wú)線收發(fā)芯片。nRF905采用FSK調(diào)制解調(diào)技術(shù),頻道之間的轉(zhuǎn)換時(shí)間小于650μs。nRF905集成度高,由一個(gè)完全集成的頻率調(diào)制器、一個(gè)帶解調(diào)器的接收器、一個(gè)功率放大器、一個(gè)晶體振蕩器和一個(gè)調(diào)制器組成,工作頻率穩(wěn)定可靠,外圍元器件少,不需外加聲表濾波器,ShockBurstTM工作模式,能自動(dòng)產(chǎn)生前導(dǎo)碼和CRC(循環(huán)冗余碼校驗(yàn)),使用SPI接口與微控制器通信,配置非常方便。此外,nRF905最高工作速率可達(dá)20 k,發(fā)射功率可以調(diào)整,最小為-10 dBm,最大為+10 dBm。其功耗非常低,以-10 dBm的輸出功率發(fā)射時(shí)電流只有11 mA,工作于接收模式時(shí)的電流為12.5 mA,內(nèi)建空閑模式與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能,適合便攜式產(chǎn)品的設(shè)計(jì)。
1.5無(wú)線收發(fā)電路設(shè)計(jì)
本系統(tǒng)的無(wú)線發(fā)射接收電路主要利用nRF905與外圍器件構(gòu)成的電路組成,其主要部分是天線。簡(jiǎn)而言之,就是一個(gè)特定形狀的導(dǎo)體,它可以將電流轉(zhuǎn)化為射頻能量并以電波形式發(fā)射出去.或?qū)o(wú)線電波接收進(jìn)來(lái)。任何一個(gè)無(wú)線系統(tǒng)都有天線,天線設(shè)計(jì)的好壞直接影響無(wú)線系統(tǒng)的收發(fā)能力。圖4所示是用nRF905差分連接的環(huán)形天線圖。
2系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)中的無(wú)線數(shù)據(jù)傳輸主要由無(wú)線數(shù)據(jù)收發(fā)器nRF905、ATMEGA 16單片機(jī)和顯示部分組成。nRF905收發(fā)器與單片機(jī)ATMEGA16L間通過(guò)SPI口進(jìn)行通信。因此,軟件設(shè)計(jì)過(guò)程中的重點(diǎn)是nRF905數(shù)據(jù)的發(fā)送和接收過(guò)程。
2.1 nRF905的數(shù)據(jù)發(fā)送過(guò)程
發(fā)送數(shù)據(jù)時(shí)的工作流程如圖5所示。當(dāng)MCU有遙控?cái)?shù)據(jù)節(jié)點(diǎn)時(shí),接收點(diǎn)的地址(TX-address)和有效數(shù)據(jù)(Tx-payload)將通過(guò)SPI接口傳送給nRF905。設(shè)計(jì)時(shí)應(yīng)使用協(xié)議或MCU來(lái)設(shè)置接口速度。
可用MCU設(shè)置TRX-CE,并使TX-EN為高電平來(lái)激活nRF905的ShockBurst傳輸。通過(guò)nRF905的ShockBurst可使無(wú)線系統(tǒng)自動(dòng)上電,并完成數(shù)據(jù)包(應(yīng)加前導(dǎo)碼和CRC校驗(yàn)碼)的數(shù)據(jù)碼發(fā)送(100 kbps,GFSK,曼切斯特編碼)。
如果AUTO-RETRAN被設(shè)置為高電平,那么,nRF905將連續(xù)地發(fā)送數(shù)據(jù)包,直到TRX-CE被設(shè)置為低電平為止;而當(dāng)TRX-CE被設(shè)置為低電平時(shí),nRF905則結(jié)束數(shù)據(jù)傳輸,并將自己設(shè)置為standby模式。
2.2 nRF905的數(shù)據(jù)接收過(guò)程
當(dāng)系統(tǒng)接收數(shù)據(jù)時(shí),其接收數(shù)據(jù)流程圖如圖6所示。系統(tǒng)的工作過(guò)程如下:
首先,在650μs以后,nRF905將不斷監(jiān)測(cè)空中的信息;當(dāng)nRF905發(fā)現(xiàn)有和接收頻率相同的載波時(shí),其載波檢測(cè)(CD)被置為高電平;此后,當(dāng)nRF905接收到有效地址時(shí),地址匹配(AM)被置為高電平;
在這之后,當(dāng)nRF905接收到有效的地址包(CRC校驗(yàn)正確)時(shí),nRF905將去掉前導(dǎo)碼、地址和CRC位,同時(shí)將數(shù)據(jù)準(zhǔn)備就緒位(DR)置為高電平,并用MCU設(shè)置TRX-CN為低電平,以進(jìn)入standby模式,從而使MCU能夠以合適的速率通過(guò)SPI接口讀出有效的數(shù)據(jù);當(dāng)所有的數(shù)據(jù)讀出后,nRF905將AM和DR設(shè)置為低電平,以便使nRF905準(zhǔn)備進(jìn)入ShockBurst RX、ShockBurst TX或Powerdown模式。
3 結(jié)束語(yǔ)
無(wú)線射頻收發(fā)芯片nRF905內(nèi)置有天線,同時(shí)內(nèi)部集成有調(diào)制,解調(diào)、編碼/解碼等功能,故在通信過(guò)程中能自動(dòng)生成前導(dǎo)碼和CRC校驗(yàn),而不需要"接人"網(wǎng)絡(luò)就能享受通信服務(wù)。本設(shè)計(jì)根據(jù)nRF905的特點(diǎn)設(shè)計(jì)的無(wú)線數(shù)據(jù)收發(fā)系統(tǒng),經(jīng)過(guò)多次實(shí)驗(yàn)證明,其發(fā)射端能正確地將數(shù)據(jù)傳送出去;同時(shí),經(jīng)nRF905發(fā)射后,接收端也能正確接收并顯示數(shù)據(jù),有效通信距離大于200米。在有障礙物體的混凝土結(jié)構(gòu)的建筑內(nèi)測(cè)試,其有效直線通信距離大于50 m。此外,該系統(tǒng)采用了比較完善的軟件、硬件設(shè)計(jì)以及抗干擾措施,這樣,就可以保證系統(tǒng)工作的安全性和可靠性,并具有通用性,便于投入實(shí)際應(yīng)用,而且稍作改動(dòng)就可以應(yīng)用到小區(qū)傳呼、工業(yè)數(shù)據(jù)采集、生物信號(hào)采集,無(wú)線遙控等其它一些短距離無(wú)線通信領(lǐng)域,以實(shí)現(xiàn)無(wú)線數(shù)據(jù)的雙向傳輸,具有較好的市場(chǎng)應(yīng)用價(jià)值。