MSP430單片機與nRF905無線通信系統設計
}RFConfig;
RFConfig RxTxConf=
{
10,
0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc,
0xcc, 0xcc, 0xcc, 0x58
};
nRF905提供SPI口的讀寫指令,當CSN為低時,SPI接口開始等待一條指令,任何一條新指令均由CSN的由高到底的轉換開始。下面主要介紹nRF905的發送流程和接收流程。
發送流程:
A.當微控制器有數據要發送時,通過SPI接口,按時序把接收機的地址和要發送的數據送傳給nRF905,SPI接口的速率在通信協議和器件配置時確定;
B.微控制器置高TRX_CE和TX_EN,激發nRF905的ShockBurstTM發送模式;
C.nRF905的ShockBurstTM發送:射頻寄存器自動開啟;數據打包(加字頭和CRC校驗碼);發送數據包;當數據發送完成,數據準備好引腳被置高;
D.當TRX_CE被置低,nRF905發送過程完成,自動進入空閑模式。
ShockBurstTM工作模式保證,一旦發送數據的過程開始,無論TRX_EN和TX_EN引腳是高或低,發送過程都會被處理完。只有在前一個數據包被發送完畢,nRF905才能接受下一個發送數據包。
接收流程:
A.當TRX_CE為高、TX_EN為低時,nRF905進入ShockBurstTM接收模式;
B.650us后,nRF905不斷監測,等待接收數據;
C.當nRF905檢測到同一頻段的載波時,載波檢測引腳被置高;
D.當接收到一個相匹配的地址,地址匹配引腳被置高;
E.當一個正確的數據包接收完畢,nRF905自動移去字頭、地址和CRC校驗位,然后把數據準備好引腳置高
F.微控制器把TRX_CE置低,nRF905進入空閑模式;
G.微控制器通過SPI口,以一定的速率把數據移到微控制器內;
H.當所有的數據接收完畢,nRF905把數據準備好引腳和地址匹配引腳置低;
I.nRF905此時可以進入ShockBurstTM接收模式、ShockBurstTM發送模式或關機模式。
MSP430F149的串口通訊程序設計,主要是設定傳輸的速率為4800bps,數據傳輸為8位數,1個停止位,無奇偶校驗。根據相應的發送端和接收端來設定發送模塊和接收模塊使能,發送中斷和接收中斷使能。
在PC機軟件設計中,串口通信模塊負責PC機與下位機之間的數據通信。而主界面和數據庫設計主要是方便對接收的數據進行管理。
實驗測試分析
在發送和接收時利用示波器和萬用表對nRF905的相關引腳進行測量分析如下:
發射時nRF905的分析情況如表1所示。
接收時nRF905的分析情況如表2所示。
結語
本設計實現了基于MSP430F149和nRF905的無線通信。發送端和接收端之間的距離為80米,之間沒有任何有線連接,通過發送端發送數據,在接收端能正確接收數據并顯示在PC機上。實驗表明,該系統實時性好,性能可靠。
評論