基于MSP430和NRF2401的WSN節(jié)點設(shè)計
1.2 無線傳輸單元
本系統(tǒng)采用2.4GHz無線單片收發(fā)芯片nRF2401,它具有體積小、功耗低,外設(shè)少的特點,非常適合于無線傳輸應用系統(tǒng)。nRF2401可以由SPI接口與微處理器連接,通過這個接口完成設(shè)置和收發(fā)數(shù)據(jù)工作。許多單片機都集成了SPI控制器,例如MSP430,可以非常方便地通過軟件設(shè)置最多40bit地址,只有收到本機地址時才會輸出數(shù)據(jù)(提供一個中斷指示),并且支持點對多點的操作,編程很方便。nRF2401與單片機采用SPI接口連接,原理圖如圖3所示。SPI總線接口技術(shù)是一種高速、高效率的串行接口技術(shù),主要用于擴展外設(shè)和進行數(shù)據(jù)交換。本文引用地址:http://www.ex-cimer.com/article/163445.htm
2 軟件設(shè)計
軟件開發(fā)以IAR Workbench V3.1為平臺,采用C語言編寫,軟件編程的基本思路是:先對SPI、nRF2401控制端口初始化;使能SPI、UART端口,使能ADC,對nRF2401芯片初始化;開啟接收機后,就可以運行任務程序了,以實現(xiàn)接收或發(fā)送數(shù)據(jù),對nRF2401操作流程如下:
nRF2401有4種工作模式:收發(fā)模式、配置模式、空閑模式和關(guān)機模式。nRF2401的工作模式由PWR_UP、CE、TX_EN和CS三個引腳決定。對nRF2401的操作主要是配置其工作方式和讀寫數(shù)據(jù),所有配置命令字和數(shù)據(jù)都是通過同步串行口的CLK和DATA兩個引腳完成的。要將nRF2401設(shè)置于ShockBurstTM方式,首先使PWR_UP引腳為高電平,CE引腳為低電平。配置字從最高位開始,依次送入nRF2401,CLK下降沿鎖定數(shù)據(jù)。配置命令字發(fā)送完后,在CS的下降沿按新配置字的設(shè)置開始工作。使用nRF2401進行發(fā)送數(shù)據(jù)時,采用以下的步驟:1)CE置高,使nRF2401開始工作;2)逐位寫入接收機的地址;3)逐位寫入要傳送的數(shù)據(jù);4)CE置低,激發(fā)nRF2401進行ShockBurstTM發(fā)射。nRF2401的ShockBurstTM發(fā)射過程是:給射頻前端供電,射頻數(shù)據(jù)打包(加字頭、CRC校驗碼),高速發(fā)射數(shù)據(jù)包,發(fā)射完成,nRF2401進入空閑狀態(tài)。nRF2401的接口模塊引腳包括CE、DR1、CLK1和DATA(接收通道1),接收端依照以下流程進行數(shù)的接收:1)配置本機地址和即將接收的數(shù)據(jù)包大小;2)進入接收狀態(tài),CE置高;3)200μs后,nRF2401進入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來;4)當接收到正確的數(shù)據(jù)包時,nRF2401自動除去字頭、地址和CRC;5)nRF2401通過把DR1(可用作中斷信號)置高來通知微控制器;6)微控制器把數(shù)據(jù)從nRF2401逐位移出;7)所有數(shù)據(jù)移完,nRF2401把DR1置低,此時如果CE為高,則等待下一個數(shù)據(jù)包,如果CE為低,開始其他工作流程。
評論