基于MSP430單片機(jī)和nRF905的無(wú)線通信系統(tǒng)(06-100)
系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括下位機(jī)軟件設(shè)計(jì)和PC機(jī)軟件設(shè)計(jì)。前者主要是微控制器通過(guò)SPI口對(duì)nRF905的控制以及微控制器串口通訊的設(shè)計(jì),后者包括串口通訊模塊、主界面和數(shù)據(jù)庫(kù)設(shè)計(jì)。
}RFConfig;
RFConfig RxTxConf=
{
10,
0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc,
0xcc, 0xcc, 0xcc, 0x58
};
nRF905提供SPI口的讀寫(xiě)指令,當(dāng)CSN為低時(shí),SPI接口開(kāi)始等待一條指令,任何一條新指令均由CSN的由高到底的轉(zhuǎn)換開(kāi)始。下面主要介紹nRF905的發(fā)送流程和接收流程。
發(fā)送流程:
A.當(dāng)微控制器有數(shù)據(jù)要發(fā)送時(shí),通過(guò)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)開(kāi)啟;數(shù)據(jù)打包(加字頭和CRC校驗(yàn)碼);發(fā)送數(shù)據(jù)包;當(dāng)數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準(zhǔn)備好引腳被置高;
D.當(dāng)TRX_CE被置低,nRF905發(fā)送過(guò)程完成,自動(dòng)進(jìn)入空閑模式。
ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過(guò)程開(kāi)始,無(wú)論TRX_EN和TX_EN引腳是高或低,發(fā)送過(guò)程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,nRF905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。
評(píng)論