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