基于nRF905模塊和C8051F單片機(jī)的無(wú)線收發(fā)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
前言
在閉環(huán)鉆井系統(tǒng)中,要求實(shí)時(shí)地把井下的信息傳遞到地面,以實(shí)施人工監(jiān)控。通常情況下該任務(wù)由MWD中泥漿壓力脈沖發(fā)生器來(lái)完成。當(dāng)使用井下動(dòng)力鉆具組合時(shí),近鉆頭傳感器和MWD被動(dòng)力鉆具隔開。傳感器無(wú)法用線纜與MWD連接,因此要把傳感器的信息傳送給MWD只能通過無(wú)線通信的方法。
本文設(shè)計(jì)了由C8051F0606單片機(jī)和nRF905無(wú)線射頻器收發(fā)組成的一種無(wú)線數(shù)據(jù)傳輸系統(tǒng)的方案。該系統(tǒng)由發(fā)射和接收模塊組成,發(fā)射模塊主要將要發(fā)送的數(shù)據(jù)經(jīng)單片機(jī)處理后,通過nRF905發(fā)送出去;在接收模塊中,nRF905則將數(shù)據(jù)正確接收后通過上位機(jī)界面顯示出來(lái),從而實(shí)現(xiàn)短距離井下的無(wú)線通信。
無(wú)線收發(fā)系統(tǒng)硬件設(shè)計(jì)
nRF905模塊簡(jiǎn)介
nRF905是Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓為1.9 V~3.6 V,工作于433MHz、868MHz、915MHz 3個(gè)ISM頻段,頻道轉(zhuǎn)換時(shí)間小于650μs,最大數(shù)據(jù)速率為100 kbit/s。nRF905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和GFSK調(diào)制器組成。
nRF905 模塊的高頻頭用戶接口電路管腳圖如圖1所示。
圖1 nRF905模塊的高頻頭用戶接口電路管腳
nRF905模塊具有兩種工作模式和兩種節(jié)電模式。工作模式包括:ShockBurst 接收模式和ShockBurst 發(fā)射模式;節(jié)電模式包括:掉電與 SPI 編程模式、待機(jī)與SPI編程模式。
系統(tǒng)硬件設(shè)計(jì)
本無(wú)線收發(fā)電路主要由C8051F060單片機(jī)和無(wú)線射頻芯片nRF905組成。系統(tǒng)方框圖如圖2所示。
圖2 無(wú)線收發(fā)電路系統(tǒng)組成框圖
C8051F350是Silabs公司的一款精確混合信號(hào)單片機(jī),片內(nèi)有8通道16bit的S-D型ADC、128倍PGA、電流型DAC以及VREF 等模擬外設(shè),可以方便地與溫度壓力等傳感器直接連接。使用電流型DAC對(duì)傳感器進(jìn)行激勵(lì),傳感器的輸出信號(hào)經(jīng)片內(nèi)128倍PGA放大后進(jìn)行A/D轉(zhuǎn)換,無(wú)需額外的信號(hào)調(diào)理電路。片內(nèi)8K FLASH,可在線編程和改寫,傳感器的標(biāo)定參數(shù)可以在FLASH中存儲(chǔ),節(jié)省片外存儲(chǔ)器。圖3為系統(tǒng)硬件電路圖。
圖3 nRF905與MCU的電路原理圖
軟件設(shè)計(jì)
本系統(tǒng)中的無(wú)線數(shù)據(jù)傳輸主要由無(wú)線數(shù)據(jù)收發(fā)器nRF905、C8051F單片機(jī)和顯示部分組成。nRF905收發(fā)器與單片機(jī)之間通過SPI口進(jìn)行通信。因此,軟件設(shè)計(jì)過程中的重點(diǎn)是nRF905數(shù)據(jù)的發(fā)送和接收過程。
nRF905的數(shù)據(jù)發(fā)送過程
發(fā)送數(shù)據(jù)時(shí)的工作流程如圖4所示。當(dāng)MCU有遙控?cái)?shù)據(jù)節(jié)點(diǎn)時(shí),接收點(diǎn)的地址 (TX- address) 和有效數(shù)據(jù) (Tx- payload) 將通過SPI接口傳送給nRF905。設(shè)計(jì)時(shí)應(yīng)使用協(xié)議或MCU來(lái)設(shè)置接口速度??捎肕CU設(shè)置TRX-CE,并使TX- EN為高電平來(lái)激活nRF905的ShockBurst傳輸。通過nRF905的ShockBurst可使無(wú)線系統(tǒng)自動(dòng)上電,并完成數(shù)據(jù)包 (應(yīng)加前導(dǎo)碼和CRC校驗(yàn)碼) 的數(shù)據(jù)碼發(fā)送。
圖4 發(fā)射數(shù)據(jù)流程
nRF905的數(shù)據(jù)接收過程
當(dāng)系統(tǒng)接收數(shù)據(jù)時(shí),其接收數(shù)據(jù)流程圖如圖5所示。系統(tǒng)的工作過程如下:
首先,在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能夠以合適的速率通過SPI接口讀出有效的數(shù)據(jù);當(dāng)所有的數(shù)據(jù)讀出,nRF905將AM和DR設(shè)置為低電平,以便使nRF905準(zhǔn)備進(jìn)入ShockBurst RX、ShockBurst TX或Powerdown模式。
圖5 接收數(shù)據(jù)流程圖
用戶界面的設(shè)計(jì)
本軟件采用VB界面設(shè)計(jì)。將井下接收到并采集后的數(shù)據(jù)通過單片機(jī)顯示在PC機(jī)上,可以清楚地看到井下的相關(guān)數(shù)據(jù)信息。如圖6所示,是一組井下信息采集后通過無(wú)線傳輸?shù)姆绞?,將傳感器輸出的?shù)據(jù)傳輸?shù)組WD上。
圖6中通道1至通道15分別實(shí)測(cè)井參數(shù)量化臺(tái)階數(shù)轉(zhuǎn)換過后的模擬電壓值,其中包括壓力、溫度、濕度、三軸重力加速度傳感器輸出值(Gx、Gy、Gz)以及翼肋位移等等。在實(shí)際應(yīng)用中可較為直觀地顯示出來(lái)。
圖6 用戶交互界面
結(jié)論
系統(tǒng)調(diào)試成功后,進(jìn)行了多次數(shù)據(jù)傳輸實(shí)驗(yàn)。本系統(tǒng)通過了實(shí)際數(shù)據(jù)通信實(shí)驗(yàn)的驗(yàn)證,運(yùn)行穩(wěn)定,通信可靠,能夠?qū)崿F(xiàn)100米左右的無(wú)線通信。從實(shí)驗(yàn)數(shù)據(jù)可知,無(wú)線信號(hào)在井下傳輸環(huán)境下的損耗遠(yuǎn)大于室外環(huán)境,在同等條件下,誤碼率主要與距離延伸有關(guān)。本系統(tǒng)還可以應(yīng)用于點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)通信的一些實(shí)際工作環(huán)境中。