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