新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于MCU和nRF905的低功耗遠(yuǎn)距離無線傳輸系統(tǒng)

基于MCU和nRF905的低功耗遠(yuǎn)距離無線傳輸系統(tǒng)

作者: 時間:2010-12-09 來源:網(wǎng)絡(luò) 收藏

接收數(shù)據(jù)時, 先在nRF905的待機(jī)狀態(tài)中寫好射頻配置寄存器中的接收地址,然后將nRF905置于接收模式(PWR_UP和TRX_CE置高、TX_EN置低),nRF905就會自動接收空中的載波。當(dāng)收到有效數(shù)據(jù)(地址匹配且校驗(yàn)正確)時,DR引腳會自動置高, 在檢測到這個信號后,可以將nRF905置為待機(jī)模式,然后通過SPI總線從接收數(shù)據(jù)寄存器中讀出有效數(shù)據(jù)。nRF905接收數(shù)據(jù)的流程如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/156893.htm

3.JPG

3.3 點(diǎn)對點(diǎn)傳輸距離

傳輸距離主要由傳播損耗、工作頻率、外部損耗等因素決定。而傳播損耗是非常復(fù)雜的問題,涉及電波傳播機(jī)理、地形地物影響、載波工作頻段和天線指向等很多因素。這里給出自由空間傳播時的無線通信距離計(jì)算公式:

20lgd[km]=Los[dB]-32.44-20lgf[MHz]           (1)

式中Los為傳播損耗,f為工作頻率,d為通信距離[4]。nRF905的最大發(fā)射功率為10dBm,接收靈敏度為-100dBm,假定由大氣、阻擋物、多徑等造成的損耗為25dB,可以計(jì)算得出通信距離d=0.98km,這是理想狀況下的計(jì)算。實(shí)測結(jié)果表明,在采用高增益天線時,基本可以達(dá)到800 米以上的傳輸距離;使用PCB天線時距離有所下降,但也可達(dá)到300米左右。

4 通信協(xié)議設(shè)計(jì)

4.1 MAC協(xié)議

本系統(tǒng)采用了一個簡化的點(diǎn)對多點(diǎn)通訊協(xié)議,主要分為三層。第一層為物理層,由nRF905模塊硬件實(shí)現(xiàn);第二層為數(shù)據(jù)鏈路層,提供可靠的無線數(shù)據(jù)傳輸,每一個數(shù)據(jù)包都包括具體數(shù)據(jù)和一些必要的控制信息;第三層為應(yīng)用層,調(diào)用數(shù)據(jù)鏈接層完成具體的應(yīng)用邏輯,包括數(shù)據(jù)收集、數(shù)據(jù)查詢等。

整個系統(tǒng)硬件可分為兩部分,分別定義為基站模塊和節(jié)點(diǎn)模塊。節(jié)點(diǎn)模塊應(yīng)用層的功能是使數(shù)據(jù)與無線通訊相結(jié)合。對于不同的應(yīng)用,可能有不同的數(shù)據(jù)采集方法。應(yīng)用層接收數(shù)據(jù)鏈路層發(fā)來的命令,完成對數(shù)據(jù)的采集,并將數(shù)據(jù)打包發(fā)給數(shù)據(jù)鏈路層?;灸K的應(yīng)用層負(fù)責(zé)與中心控制器的鏈接。將中心控制器發(fā)來的數(shù)據(jù)校驗(yàn)處理后轉(zhuǎn)發(fā)給數(shù)據(jù)鏈路層,將數(shù)據(jù)鏈路層發(fā)來的數(shù)據(jù)打包處理后發(fā)給中心控制器。因?yàn)閰f(xié)議是分層的,相鄰層之間的聯(lián)系只是調(diào)用發(fā)送接收函數(shù),因此實(shí)現(xiàn)了各層的獨(dú)立,更換被采集的儀表或更換無線傳輸模塊所做的改動都不會影響其他層,從而提高了系統(tǒng)的靈活性。

基于MCU和nRF905的低功耗遠(yuǎn)距離無線傳輸系統(tǒng)

   每個數(shù)據(jù)幀包括2B的幀頭、1B的幀類型、6B的本地地址和目的地址、1B的幀長度、NB的數(shù)據(jù)、16位CRC校驗(yàn)和2B的幀尾。本系統(tǒng)針對較小數(shù)據(jù)量 的應(yīng)用設(shè)計(jì),每個數(shù)據(jù)包的有效數(shù)據(jù)長度N一般小于32B,每個節(jié)點(diǎn)每一次需要傳送的數(shù)據(jù)都可以通過一個數(shù)據(jù)包發(fā)送完成。數(shù)據(jù)幀的類型包括采集命令、正確接 收確認(rèn)、重發(fā)請求、異常信號等,用兩個字節(jié)來標(biāo)示以便接收方分類處理。在N個字節(jié)的數(shù)據(jù)之后是16位CRC校驗(yàn)。接收方同樣計(jì)算CRC后與校驗(yàn)和比較,如 果CRC正確,則發(fā)送正確接收確認(rèn)(ACK)。如果CRC不同,即為傳輸中出現(xiàn)錯誤,則給出出錯反饋要求發(fā)送方重新發(fā)送數(shù)據(jù)。數(shù)據(jù)的通信流程基本可概述為 DATA+ACK形式,即發(fā)送完DATA 等待ACK,接收到DATA 則發(fā)送ACK確認(rèn)。

  由于射頻芯片的高靈敏度,即使在沒有進(jìn)行數(shù) 據(jù)傳輸時,其數(shù)據(jù)輸出腳也會有雜波輸出,這些雜波會被的串口接收并處理。同時處于低功耗的考慮,在每個數(shù)據(jù)幀之前要先發(fā)幾個字節(jié)的同步碼以實(shí)現(xiàn)數(shù)據(jù) 同步和射頻喚醒。實(shí)踐證明四個字節(jié)的0xCC 就可以確保在有效數(shù)據(jù)幀到達(dá)前雙方通訊實(shí)現(xiàn)同步。為了準(zhǔn)確區(qū)分噪聲與有效數(shù)據(jù),分別加入了2B的幀頭(0xD792)和幀尾(0xC2D5),以確保有效 數(shù)據(jù)的確認(rèn)。



關(guān)鍵詞: MCU

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉