基于ATmega16和nRF905的無線射頻收發(fā)系統(tǒng)設(shè)計
2系統(tǒng)軟件設(shè)計
本系統(tǒng)中的無線數(shù)據(jù)傳輸主要由無線數(shù)據(jù)收發(fā)器nRF905、ATMEGA 16單片機和顯示部分組成。nRF905收發(fā)器與單片機ATMEGA16L間通過SPI口進行通信。因此,軟件設(shè)計過程中的重點是nRF905數(shù)據(jù)的發(fā)送和接收過程。
2.1 nRF905的數(shù)據(jù)發(fā)送過程
發(fā)送數(shù)據(jù)時的工作流程如圖5所示。當(dāng)MCU有遙控數(shù)據(jù)節(jié)點時,接收點的地址(TX-address)和有效數(shù)據(jù)(Tx-payload)將通過SPI接口傳送給nRF905。設(shè)計時應(yīng)使用協(xié)議或MCU來設(shè)置接口速度。
可用MCU設(shè)置TRX-CE,并使TX-EN為高電平來激活nRF905的ShockBurst傳輸。通過nRF905的ShockBurst可使無線系統(tǒng)自動上電,并完成數(shù)據(jù)包(應(yīng)加前導(dǎo)碼和CRC校驗碼)的數(shù)據(jù)碼發(fā)送(100 kbps,GFSK,曼切斯特編碼)。
如果AUTO-RETRAN被設(shè)置為高電平,那么,nRF905將連續(xù)地發(fā)送數(shù)據(jù)包,直到TRX-CE被設(shè)置為低電平為止;而當(dāng)TRX-CE被設(shè)置為低電平時,nRF905則結(jié)束數(shù)據(jù)傳輸,并將自己設(shè)置為standby模式。
2.2 nRF905的數(shù)據(jù)接收過程
當(dāng)系統(tǒng)接收數(shù)據(jù)時,其接收數(shù)據(jù)流程圖如圖6所示。系統(tǒng)的工作過程如下:
首先,在650μs以后,nRF905將不斷監(jiān)測空中的信息;當(dāng)nRF905發(fā)現(xiàn)有和接收頻率相同的載波時,其載波檢測(CD)被置為高電平;此后,當(dāng)nRF905接收到有效地址時,地址匹配(AM)被置為高電平;
在這之后,當(dāng)nRF905接收到有效的地址包(CRC校驗正確)時,nRF905將去掉前導(dǎo)碼、地址和CRC位,同時將數(shù)據(jù)準(zhǔn)備就緒位(DR)置為高電平,并用MCU設(shè)置TRX-CN為低電平,以進入standby模式,從而使MCU能夠以合適的速率通過SPI接口讀出有效的數(shù)據(jù);當(dāng)所有的數(shù)據(jù)讀出后,nRF905將AM和DR設(shè)置為低電平,以便使nRF905準(zhǔn)備進入ShockBurst RX、ShockBurst TX或Powerdown模式。
3 結(jié)束語
無線射頻收發(fā)芯片nRF905內(nèi)置有天線,同時內(nèi)部集成有調(diào)制,解調(diào)、編碼/解碼等功能,故在通信過程中能自動生成前導(dǎo)碼和CRC校驗,而不需要"接人"網(wǎng)絡(luò)就能享受通信服務(wù)。本設(shè)計根據(jù)nRF905的特點設(shè)計的無線數(shù)據(jù)收發(fā)系統(tǒng),經(jīng)過多次實驗證明,其發(fā)射端能正確地將數(shù)據(jù)傳送出去;同時,經(jīng)nRF905發(fā)射后,接收端也能正確接收并顯示數(shù)據(jù),有效通信距離大于200米。在有障礙物體的混凝土結(jié)構(gòu)的建筑內(nèi)測試,其有效直線通信距離大于50 m。此外,該系統(tǒng)采用了比較完善的軟件、硬件設(shè)計以及抗干擾措施,這樣,就可以保證系統(tǒng)工作的安全性和可靠性,并具有通用性,便于投入實際應(yīng)用,而且稍作改動就可以應(yīng)用到小區(qū)傳呼、工業(yè)數(shù)據(jù)采集、生物信號采集,無線遙控等其它一些短距離無線通信領(lǐng)域,以實現(xiàn)無線數(shù)據(jù)的雙向傳輸,具有較好的市場應(yīng)用價值。
評論