無(wú)線網(wǎng)絡(luò)MSP430和nRF905的無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì)1_第1頁(yè)
無(wú)線網(wǎng)絡(luò)MSP430和nRF905的無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì)1_第2頁(yè)
無(wú)線網(wǎng)絡(luò)MSP430和nRF905的無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì)1_第3頁(yè)
無(wú)線網(wǎng)絡(luò)MSP430和nRF905的無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì)1_第4頁(yè)
無(wú)線網(wǎng)絡(luò)MSP430和nRF905的無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì)1_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、無(wú)線網(wǎng)絡(luò):msp430和nrf905的無(wú)線數(shù)傳系統(tǒng)設(shè)計(jì) 摘要:闡述在低功耗應(yīng)用中,利用msp430和nrf905組成一種無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案。首先對(duì)核心芯片的選型和要害使用方法進(jìn)行簡(jiǎn)單說(shuō)明,然后介紹系統(tǒng)硬件和軟件的設(shè)計(jì),其中著重介紹如何對(duì)nrf905進(jìn)行控制,并給出相關(guān)程序源代碼。 要害詞:無(wú)線數(shù)據(jù)傳輸?shù)凸膍sp430nrf905 在非凡環(huán)境的數(shù)據(jù)測(cè)控應(yīng)用中,無(wú)線數(shù)據(jù)傳輸已經(jīng)越來(lái)越廣泛地被運(yùn)用。 msp430+nrf905的組合非凡適合于低功耗、短距離(1oo200m)、小數(shù)據(jù)量的無(wú)線數(shù)傳系統(tǒng)。msp430cpu在低功耗應(yīng)用方面有很大優(yōu)勢(shì),nrf905無(wú)線收發(fā)芯片具有功耗低、控制簡(jiǎn)單、

2、可自動(dòng)處理字頭和crc校驗(yàn)的優(yōu)點(diǎn),兩者結(jié)合組成的數(shù)傳系統(tǒng)可以在很多產(chǎn)品中得到應(yīng)用。 1 msp430簡(jiǎn)介 msp430是ti公司新推出的16位系列單片機(jī),在電池供電的低功耗應(yīng)用中具有獨(dú)特的優(yōu)勢(shì)。其工作電壓在1.836v之間,正常工作時(shí)功耗可控制在2ooa左右,低功耗模式時(shí)可實(shí)現(xiàn)2a甚至o1a的低功耗。msp430具有非常高的集成度,通常在單個(gè)芯片上集成有12位的ad、比較器、多個(gè)定時(shí)器、片內(nèi)usart、看門狗、片內(nèi)振蕩器、大量的io端口及大容量的片內(nèi)存儲(chǔ)器,一般單片就可以滿足大多數(shù)的應(yīng)用需要。在低功耗應(yīng)用中設(shè)計(jì)程序時(shí),最好采用以下方法:cpu在初始化完成后,處于低功耗工作模式,在有外部事件發(fā)生

3、時(shí)喚醒進(jìn)入中斷服務(wù)程序,完成后重新進(jìn)入低功耗模式,照此循環(huán)往復(fù),可以最大限度地降低功耗。較差等。上述問(wèn)題經(jīng)過(guò)精心設(shè)計(jì)是可以避免和解決的,所以基于gprs的設(shè)計(jì)仍具有無(wú)可比擬的優(yōu)勢(shì)。 2 nrf905簡(jiǎn)介 nrf905是挪威nordik公司推出的單片射頻收發(fā)器芯片,工作電壓為1936v,32引腳qfn封裝(5mm×5mm),工作于433868915 mhz 3個(gè)ism頻道(可以免費(fèi)使用)。nrf905可以自動(dòng)完成處理字頭和crc(循環(huán)冗余碼校驗(yàn))的工作,可由片內(nèi)硬件自動(dòng)完成曼徹斯特編碼解碼,使用spi接口與微控制器通信,配置非常方便。其功耗非常低,以一10 dbm的輸出功率發(fā)射時(shí)電流只

4、有11 ma,在接收模式時(shí)電流為125 ma。nrf905傳輸數(shù)據(jù)時(shí)為非實(shí)時(shí)方式,即發(fā)送端發(fā)出數(shù)據(jù),接收端收到后先暫存于芯片存儲(chǔ)器內(nèi),外面的mcu可以在需要時(shí)再到芯片中去取。nrf905一次的數(shù)據(jù)傳輸量最多為32 b。 2.1nrf905的工作模式及設(shè)置 nrf905有兩種工作模式和兩種節(jié)能模式,分別為掉電模式、待機(jī)模式、shockbursttm接收模式和shockbursttm發(fā)送模式。這幾種模式由外界cpu通過(guò)控制nrf905的3個(gè)引腳pwr_up、trx_ce和tx_en的高低電平來(lái)決定,如表1所列。 外界mcu通過(guò)spi總線配置nrf905的內(nèi)部寄存器,讀寫數(shù)據(jù)時(shí)必須把其置為待機(jī)或掉電

5、模式。nrf905在待機(jī)模式時(shí)功耗為40,a,在掉電模式時(shí)功耗為25a。 2.2nrf905的狀態(tài)輸出 nrf905有3個(gè)引腳用于狀態(tài)輸出,分別是:cd(載波檢測(cè))、am(地址匹配)和dr(數(shù)據(jù)就緒),均為高電平有效。nrf905在處于接收模式時(shí),若檢測(cè)到接收頻率段的載波,就置cd為高;接著檢測(cè)載波數(shù)據(jù)中的地址字節(jié),若與本身已配置的接收地址相同,則置am為高;若再檢測(cè)到接收數(shù)據(jù)中的crc校驗(yàn)正確,則存儲(chǔ)有效數(shù)據(jù)字節(jié),置dr為高。 此外,nrf905還有一個(gè)時(shí)鐘輸出引腳upclk,供用戶選擇使用。通過(guò)配置內(nèi)部寄存器,可改變其頻率輸出,這一點(diǎn)在調(diào)試時(shí)很有用。無(wú)線系統(tǒng)至少需要一發(fā)一收兩個(gè)設(shè)備,調(diào)試時(shí)

6、若出現(xiàn)問(wèn)題很難判定是哪一方的故障??梢酝ㄟ^(guò)修改nrf905的寄存器,用示波器觀察upclk輸出是否變化的方法,來(lái)判定其硬件電路和cpu操作nrf905的程序是否正確,從而判定該設(shè)備是否工作正常。 2.3nrf905的數(shù)據(jù)接口 外圍mcu通過(guò)spi總線配置nrf905的內(nèi)部寄存器和收發(fā)數(shù)據(jù)。nrf905的spi總線包括4個(gè)引腳:csn(spi使能)、sck(spi時(shí)鐘)、miso(主人從出)和mosi(主出從人)。這里nrf905為從機(jī),其spi的時(shí)鐘范圍很寬,可以從1hz10mfiz,因此mcu在寫控制程序時(shí)不必苛求時(shí)間的準(zhǔn)確度。 spi總線的每次操作都必須在使能引腳csn的下降沿開(kāi)始,csn

7、低電平有效,總線上的數(shù)據(jù)在時(shí)鐘的上升沿有效。mcu對(duì)spi總線的操作不外乎兩種方式:讀和寫。在進(jìn)行讀操作時(shí),先把csn置低,然后在mosi數(shù)據(jù)線上輸出一個(gè)表示讀命令的字節(jié),與此同時(shí),nrf905會(huì)在miso數(shù)據(jù)線上輸出一字節(jié)表示狀態(tài)信息的數(shù)據(jù),隨后輸出一地址字節(jié),后面跟隨有效數(shù)據(jù)。在進(jìn)行寫操作時(shí)比較簡(jiǎn)單,mcu先把csn拉低,然后在mosi線上輸出寫命令字節(jié)和數(shù)據(jù)字節(jié)即可。 2.4nrf905的寄存器配置 nrf905內(nèi)部有5類寄存器:一是射頻配置寄存器,共10個(gè)字節(jié),包括中心頻點(diǎn)、無(wú)線發(fā)送功率配置、接收靈敏度、收發(fā)數(shù)據(jù)的有效字節(jié)數(shù)、接收地址配置等重要信息;二是發(fā)送數(shù)據(jù)寄存器,共32字節(jié),mc

8、u要向外發(fā)的數(shù)據(jù)就需要寫在這里;三是發(fā)送地址,共4個(gè)字節(jié),一對(duì)收發(fā)設(shè)備要正常通信,就需要發(fā)送端的發(fā)送地址與接收端的接收地址配置相同;四是接收數(shù)據(jù)寄存器,共32字節(jié),nrf905接收到的有效數(shù)據(jù)就存儲(chǔ)在這些寄存器中,mcu可以在需要時(shí)到這里讀??;五是狀態(tài)寄存器,1個(gè)字節(jié),含有地址匹配和數(shù)據(jù)就緒的信息,一般不用。 mcu若要操作這些寄存器,需遵循nrf905規(guī)定的操作命令,常用的有以下7種,都是1個(gè)字節(jié):寫射頻配置(oxh,“x”含4位二進(jìn)制位,該字節(jié)表示要開(kāi)始寫的初始字節(jié)數(shù))、讀射頻配置(1xh,“x”含4位二進(jìn)制位,該字節(jié)表示要從哪個(gè)字節(jié)開(kāi)始讀)、寫發(fā)送數(shù)據(jù)(20h)、讀發(fā)送數(shù)據(jù)(2lh)、寫

9、發(fā)送地址(22h)、讀發(fā)送地址(23h)和讀接收數(shù)據(jù)(24h)。關(guān)于寄存器的具體信息可以參閱nrf905的數(shù)據(jù)手冊(cè)。 25nrf905的工作過(guò)程 nrf905在正常工作前應(yīng)由mcu先根據(jù)需要寫好配置寄存罨,或是按照默認(rèn)配置工作。其后的工作主要是兩個(gè):發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。 發(fā)送數(shù)據(jù)時(shí),mcu應(yīng)先把nrf、905置于待機(jī)模式(pwr_up引腳為高、trx_ce引腳為低),然后通過(guò)spi總線把發(fā)送地址和待發(fā)送的數(shù)據(jù)都寫入相應(yīng)的寄存器中,之后把nrf905置于發(fā)送模式(pwr_up、trx_ce和tx_en全置高),數(shù)據(jù)就會(huì)自動(dòng)通過(guò)天線發(fā)送出去。若射頻配置寄存器中的自動(dòng)重發(fā)位(auto_retran)

10、設(shè)為有效,數(shù)據(jù)包就會(huì)重復(fù)不斷地一直向外發(fā),直到mcu把trx_ce拉低,退出發(fā)送模式為止。為了數(shù)據(jù)更可靠地傳輸,建議多使用此種方式。 接收數(shù)據(jù)時(shí),mcu先在nrf905的待機(jī)模式中把射頻配置寄存器中的接收地址寫好,然后置其于接收模式(pwr_up=1、trx_ce=1、tx_en=o),nrf905就會(huì)自動(dòng)接收空中的載波。若收到地址匹配和校驗(yàn)正確的有效數(shù)據(jù),dr引腳會(huì)自動(dòng)置高,mcu在檢測(cè)到這個(gè)信號(hào)后,可以改其為待機(jī)模式,通過(guò)spi總線從接收數(shù)據(jù)寄存器中讀出有效數(shù)據(jù)。 3 系統(tǒng)硬件設(shè)計(jì) msp43o的usart模塊可通過(guò)寄存器配置為通用異步串行口或spi模塊功能,這里配置為spi模塊。本系統(tǒng)選

11、用的mcu是msp430f133,在硬件設(shè)計(jì)時(shí)把mcu的spi接口和nrf905的spi接口相連即可,另外再選幾個(gè)io口連接arf905的輸入輸出信號(hào),如圖1所示。 對(duì)于初次接觸無(wú)線系統(tǒng)的設(shè)計(jì)者,因其射頻部分的元件采購(gòu)、焊接和調(diào)試比較麻煩,可以選用ptr8000模塊。該模塊內(nèi)核使用nrf905,硬件電路已經(jīng)焊好,使用起來(lái)相對(duì)方便一些。待添加的隱藏文字內(nèi)容3 4 控制程序設(shè)計(jì) 本系統(tǒng)設(shè)計(jì)的重點(diǎn)是控制nrf905的程序設(shè)計(jì),大致分兩個(gè)階段:首先是對(duì)nrf905進(jìn)行初始配置,配置完成后按需要編寫數(shù)據(jù)的發(fā)送或接收程序。 4.1初始化配置 第一階段應(yīng)完成初始化配置,分以下幾項(xiàng): msp430的spi接口

12、設(shè)置。msp430的異步串行接口和spi接口用同一個(gè)usart模塊,這里需要用軟件配置為spi功能。本設(shè)計(jì)中spi配置為主機(jī)模式、3線制和8位數(shù)據(jù)。程序源代碼參見(jiàn)子程序“spi_set”。(編者注:程序源代碼見(jiàn)本刊網(wǎng)站wwwmesnetcomcn。) 初始化nrf905的射頻配置寄存器。這些寄存器中有很多信息,必須根據(jù)實(shí)際情況進(jìn)行配置,本設(shè)計(jì)中nrf905外接16mhz晶體,“xof”應(yīng)配置為“011”;“pa_pwr”為發(fā)射功率,”rx_red_pwr”為接收靈敏度,可根據(jù)需要配置;另外還有發(fā)送地址、接收地址、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的長(zhǎng)度(字節(jié)數(shù)),可根據(jù)實(shí)際應(yīng)用配置。注重這組寄存器中還有接收時(shí)

13、的實(shí)際地址,而發(fā)送地址在其他單獨(dú)寄存器中。 配置nrf905的發(fā)送地址,最多4個(gè)字節(jié)(32位),發(fā)送端的發(fā)送地址應(yīng)與接收端設(shè)備的接收地址相同。在實(shí)際工作中,nrf905可以自動(dòng)濾除地址不相同的數(shù)據(jù),只有地址匹配且校驗(yàn)正確的數(shù)據(jù)才會(huì)被接收,并存儲(chǔ)在接收數(shù)據(jù)寄存器中。 4.2發(fā)送數(shù)據(jù) 使nrf905發(fā)送數(shù)據(jù)前,需要msp430通過(guò)spi總線在待機(jī)模式下先把待發(fā)數(shù)據(jù)填進(jìn)發(fā)送數(shù)據(jù)寄存器中,一次最多32b。然后把nrf905的“trx_ce”、“tx_en”引腳都置為高電平,數(shù)據(jù)就會(huì)自動(dòng)發(fā)送出去。本設(shè)計(jì)在射頻配置寄存器中選定了自動(dòng)重發(fā)位,因此在“trx_ce”被置高的時(shí)間內(nèi)數(shù)據(jù)一直在重復(fù)不斷地發(fā)。本程序中設(shè)計(jì)延時(shí)500ms,之后拉低“trx_ce”引腳,回到待機(jī)模式。 4.3接收數(shù)據(jù) msp30把nrf905的“trx_ce”引腳置為高電平,“tx_en”引腳拉為低電平后,就開(kāi)始接收數(shù)據(jù)。本設(shè)計(jì)中cpu在設(shè)定的35s內(nèi)一直判定nrf905的“dr”引腳是否變高,若為高,則證實(shí)接收到了有效數(shù)據(jù),可以退出接收模式,若一直沒(méi)有接收到,待時(shí)間到時(shí)也退出接收模式。退出后在待機(jī)模式,cpu通過(guò)spi總線把nrf90

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論