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