基于nRF905的無線溫度采集系統(tǒng)設(shè)計與實現(xiàn)
3.1 下位機(jī)軟件設(shè)計
nRF905突出的優(yōu)點就是收發(fā)模塊電路設(shè)計簡單,所需要的外圍器件少。nRF905在正常工作前應(yīng)由STC11L60XE先根據(jù)需要寫好配置寄存器,其后的工作主要是兩個:發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。通過TRX-CE,TX-EN,PWN-UP的設(shè)置來實現(xiàn)nRF905不同的工作模式,模式設(shè)置如表1所示。本文引用地址:http://m.butianyuan.cn/article/194458.htm
1)發(fā)送流程 當(dāng)微控制器有數(shù)據(jù)要發(fā)送時,STC11L60XE先把PWR_UP引腳置為電平、TRX_CE引腳置為低電平。從而使nRF905置于待機(jī)模式;然后按時序通過SPI總線把發(fā)送地址和待發(fā)送的數(shù)據(jù)都寫入nRF905相應(yīng)寄存器中。SPI接口的速率在通信協(xié)議和器件配置時確定。微控制器將PWR_UP、TRX_CE和,TX_EN全置高電平,激發(fā)nRF905的ShockBurstTM發(fā)送模式。nRF905的ShockBurstTM發(fā)送包括以下步驟:射頻寄存器自動開啟;數(shù)據(jù)打包;發(fā)送數(shù)據(jù)包;當(dāng)數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準(zhǔn)備好,引腳被置高。當(dāng)TRX_CE被置時,nRF905發(fā)送過程完成,自動進(jìn)入空閑模式。Sho ckBurstTM工作模式保證一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會被處理完,并且只有在前一個數(shù)據(jù)包被發(fā)送完畢,nRF905才能接受下一個發(fā)送數(shù)據(jù)包。數(shù)據(jù)包的具體格式見圖4,具體溫度采集發(fā)送程序流程見圖5。
2)接收流程 當(dāng)微控制器有數(shù)據(jù)要接收時,STCllL60XE先把TRX_CE置為高電平、TX_EN置為低電平,此時nRF905進(jìn)入ShockBurstTM接收模式;650 μs后,nRF905不斷監(jiān)測,等待接收數(shù)據(jù);當(dāng)nRF905檢測到同一頻段的載波時,載波檢測引腳被置高;當(dāng)接收到一個相匹配的地址,地址匹配引腳被置高。當(dāng)一個正確的數(shù)據(jù)包接收完畢,nRF905自動移去字頭、地址和CRC校驗位,然后把數(shù)據(jù)備好引腳置高。微控制器把TRX _CE置低,nRF905進(jìn)入空閑模式。微控制器通過SPI口以一定的速率把數(shù)據(jù)移到微控制器內(nèi)。當(dāng)所有的數(shù)據(jù)接收完畢,nRF905把數(shù)據(jù)準(zhǔn)備好引腳和地址匹配引腳置低。nRF905可進(jìn)入ShockBurstTM接收模式、發(fā)送模式或關(guān)機(jī)模式。具體接收程序流程見圖6。
評論