MSP430單片機(jī)與nRF905無(wú)線通信系統(tǒng)設(shè)計(jì)
發(fā)布時(shí)間:2008/9/4 0:00:00 訪問(wèn)次數(shù):768
無(wú)線通信系統(tǒng),由兩個(gè)部分組成:發(fā)送終端,接收終端。數(shù)據(jù)的發(fā)送和接收顯示是借助于串口來(lái)實(shí)現(xiàn)的,通過(guò)pc機(jī)串口給發(fā)送終端送數(shù)據(jù),然后發(fā)送終端通過(guò)nrf905把數(shù)據(jù)發(fā)送出去;接收終端通過(guò)nrf905接收數(shù)據(jù),然后把接收到的數(shù)據(jù)通過(guò)串口傳給pc機(jī)。系統(tǒng)框圖如圖1所示。
無(wú)線系統(tǒng)的硬軟件設(shè)計(jì)
系統(tǒng)的硬件設(shè)計(jì)
本系統(tǒng)采用的射頻收發(fā)器為nordic。觯欤螅楣镜模睿颍妫梗埃, 工作電壓為1.9~3.6v,工作于433/868/915mhz三個(gè)ism頻段,頻段之間的轉(zhuǎn)換時(shí)間小于650us。nrf905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和調(diào)制器組成,不需外加聲表濾波器。高抗擾gfsk調(diào)制,數(shù)據(jù)速率為50kbps,獨(dú)特的載波監(jiān)測(cè)輸出,地址匹配輸出,數(shù)據(jù)就緒輸出。shockbursttm工作模式,自動(dòng)處理字頭和crc(循環(huán)冗余碼校驗(yàn)),使用spi接口與微控制器通信,配置非常方便。此外,其功耗非常低,以-10dbm的輸出功率發(fā)射時(shí)電流只有11ma,工作于接收模式時(shí)的電流為12.5ma,內(nèi)建空閑模式與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能。nrf905的硬件連接電路圖如圖2所示。
采用的微處理器為ti公司的msp430f149,它是一種超低功耗的混合信號(hào)控制器,具有16位risc結(jié)構(gòu),cpu中的16個(gè)寄存器和常數(shù)產(chǎn)生器使msp430能達(dá)到最高的代碼效率。單片機(jī)通過(guò)采用不同的時(shí)鐘源工作可以使器件滿足不同功耗要求,適當(dāng)選擇時(shí)鐘源,可以讓器件的功耗達(dá)到最小。外設(shè)主要有存儲(chǔ)器、時(shí)鐘模塊、定時(shí)器、usart和a/d轉(zhuǎn)換器等。
此次設(shè)計(jì)主要用到了msp430f149兩個(gè)串口通信模塊usart0和usart1,usart0作為uart使用,提供異步通信,通過(guò)max3232電平轉(zhuǎn)換芯片提供rs-232接口和pc機(jī)進(jìn)行通信,usart1作為spi使用,提供同步通信,主要是和nrf905之間進(jìn)行命令和數(shù)據(jù)通信。把msp430f149的p2口作為一般引腳使用,與nrf905的其他引腳相連。對(duì)msp430f149提供雙晶振系統(tǒng),低頻晶振為32.768k,與微控制的xin和xout相連,為rs-232接口提供頻率支持,高頻晶振為8m,和微控制器的xt2相連,為系統(tǒng)運(yùn)行的主時(shí)鐘。系統(tǒng)的整體設(shè)計(jì)相對(duì)較為簡(jiǎn)單,不過(guò)在此基礎(chǔ)上可以實(shí)現(xiàn)遙測(cè),無(wú)線抄表,工業(yè)數(shù)據(jù)采集,機(jī)器人控制等。發(fā)送和接收的硬件電路是一樣的,系統(tǒng)設(shè)計(jì)主要硬件電路圖如圖3所示。
系統(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ì)。
。颍妫悖铮睿妫椋;
。颍妫悖铮睿妫椋纭。颍簦悖铮睿妫
。
。保,
。埃埃,。埃埃, 0x44,。埃玻, 0x20, 0xcc,
。埃悖,。埃悖,。埃悖悖。埃担
};
nrf905提供spi口的讀寫(xiě)指令,當(dāng)csn為低時(shí),spi接口開(kāi)始等待一條指令,任何一條新指令均由csn的由高到底的轉(zhuǎn)換開(kāi)始。下面主要介紹nrf905的發(fā)送流程和接收流程。
發(fā)送流程:
。幔(dāng)微控制器有數(shù)據(jù)要發(fā)送時(shí),通過(guò)spi接口,按時(shí)序把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)送傳給nrf905,spi接口的速率在通信協(xié)議和器件配置時(shí)確定;
。猓⒖刂破髦酶撸簦颍撸悖搴停簦撸澹,激發(fā)nrf905的shockbursttm發(fā)送模式;
。悖睿颍妫梗埃档模螅瑁铮悖耄猓酰颍螅簦簦戆l(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)入空閑模式。
。螅瑁铮悖耄猓酰颍螅簦簦砉ぷ髂J奖WC,一旦發(fā)送數(shù)據(jù)的過(guò)程開(kāi)始,無(wú)論trx_en和tx_en引腳是高或低,發(fā)送過(guò)程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,nrf905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。
接收流程:
a.當(dāng)trx_ce為高、tx_en為低時(shí),nrf905進(jìn)入shockbursttm接收模式;
。猓叮担埃酰蠛螅睿颍妫梗埃挡粩啾O(jiān)測(cè),等待接收數(shù)據(jù);
c.當(dāng)nrf905檢測(cè)到同一頻段的載波時(shí),載波檢測(cè)引腳被置高;
d.當(dāng)接收到一個(gè)相匹配的地址,地址匹配引腳被置高;
。澹(dāng)一個(gè)正確的數(shù)據(jù)包接收完畢,nrf905自動(dòng)移去字頭、地址和crc校驗(yàn)位,然后把數(shù)據(jù)準(zhǔn)備好引腳置高
。妫⒖刂破靼眩簦颍撸悖逯玫,nrf905進(jìn)
無(wú)線通信系統(tǒng),由兩個(gè)部分組成:發(fā)送終端,接收終端。數(shù)據(jù)的發(fā)送和接收顯示是借助于串口來(lái)實(shí)現(xiàn)的,通過(guò)pc機(jī)串口給發(fā)送終端送數(shù)據(jù),然后發(fā)送終端通過(guò)nrf905把數(shù)據(jù)發(fā)送出去;接收終端通過(guò)nrf905接收數(shù)據(jù),然后把接收到的數(shù)據(jù)通過(guò)串口傳給pc機(jī)。系統(tǒng)框圖如圖1所示。
無(wú)線系統(tǒng)的硬軟件設(shè)計(jì)
系統(tǒng)的硬件設(shè)計(jì)
本系統(tǒng)采用的射頻收發(fā)器為nordic vlsi公司的nrf905, 工作電壓為1.9~3.6v,工作于433/868/915mhz三個(gè)ism頻段,頻段之間的轉(zhuǎn)換時(shí)間小于650us。nrf905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和調(diào)制器組成,不需外加聲表濾波器。高抗擾gfsk調(diào)制,數(shù)據(jù)速率為50kbps,獨(dú)特的載波監(jiān)測(cè)輸出,地址匹配輸出,數(shù)據(jù)就緒輸出。shockbursttm工作模式,自動(dòng)處理字頭和crc(循環(huán)冗余碼校驗(yàn)),使用spi接口與微控制器通信,配置非常方便。此外,其功耗非常低,以-10dbm的輸出功率發(fā)射時(shí)電流只有11ma,工作于接收模式時(shí)的電流為12.5ma,內(nèi)建空閑模式與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能。nrf905的硬件連接電路圖如圖2所示。
采用的微處理器為ti公司的msp430f149,它是一種超低功耗的混合信號(hào)控制器,具有16位risc結(jié)構(gòu),cpu中的16個(gè)寄存器和常數(shù)產(chǎn)生器使msp430能達(dá)到最高的代碼效率。單片機(jī)通過(guò)采用不同的時(shí)鐘源工作可以使器件滿足不同功耗要求,適當(dāng)選擇時(shí)鐘源,可以讓器件的功耗達(dá)到最小。外設(shè)主要有存儲(chǔ)器、時(shí)鐘模塊、定時(shí)器、usart和a/d轉(zhuǎn)換器等。
此次設(shè)計(jì)主要用到了msp430f149兩個(gè)串口通信模塊usart0和usart1,usart0作為uart使用,提供異步通信,通過(guò)max3232電平轉(zhuǎn)換芯片提供rs-232接口和pc機(jī)進(jìn)行通信,usart1作為spi使用,提供同步通信,主要是和nrf905之間進(jìn)行命令和數(shù)據(jù)通信。把msp430f149的p2口作為一般引腳使用,與nrf905的其他引腳相連。對(duì)msp430f149提供雙晶振系統(tǒng),低頻晶振為32.768k,與微控制的xin和xout相連,為rs-232接口提供頻率支持,高頻晶振為8m,和微控制器的xt2相連,為系統(tǒng)運(yùn)行的主時(shí)鐘。系統(tǒng)的整體設(shè)計(jì)相對(duì)較為簡(jiǎn)單,不過(guò)在此基礎(chǔ)上可以實(shí)現(xiàn)遙測(cè),無(wú)線抄表,工業(yè)數(shù)據(jù)采集,機(jī)器人控制等。發(fā)送和接收的硬件電路是一樣的,系統(tǒng)設(shè)計(jì)主要硬件電路圖如圖3所示。
系統(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;
。颍妫悖铮睿妫椋纭。颍簦悖铮睿妫
。
10,
。埃埃,。埃埃, 0x44, 0x20,。埃玻,。埃悖悖
。埃悖悖。埃悖悖。埃悖,。埃担
。
。睿颍妫梗埃堤峁螅穑榭诘淖x寫(xiě)指令,當(dāng)csn為低時(shí),spi接口開(kāi)始等待一條指令,任何一條新指令均由csn的由高到底的轉(zhuǎn)換開(kāi)始。下面主要介紹nrf905的發(fā)送流程和接收流程。
發(fā)送流程:
。幔(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ā)送模式;
。悖睿颍妫梗埃档模螅瑁铮悖耄猓酰颍螅簦簦戆l(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)入空閑模式。
。螅瑁铮悖耄猓酰颍螅簦簦砉ぷ髂J奖WC,一旦發(fā)送數(shù)據(jù)的過(guò)程開(kāi)始,無(wú)論trx_en和tx_en引腳是高或低,發(fā)送過(guò)程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,nrf905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。
接收流程:
。幔(dāng)trx_ce為高、tx_en為低時(shí),nrf905進(jìn)入shockbursttm接收模式;
。猓叮担埃酰蠛,nrf905不斷監(jiān)測(cè),等待接收數(shù)據(jù);
。悖(dāng)nrf905檢測(cè)到同一頻段的載波時(shí),載波檢測(cè)引腳被置高;
。洌(dāng)接收到一個(gè)相匹配的地址,地址匹配引腳被置高;
。澹(dāng)一個(gè)正確的數(shù)據(jù)包接收完畢,nrf905自動(dòng)移去字頭、地址和crc校驗(yàn)位,然后把數(shù)據(jù)準(zhǔn)備好引腳置高
。妫⒖刂破靼眩簦颍撸悖逯玫,nrf905進(jìn)
熱門(mén)點(diǎn)擊
- 單片機(jī)簡(jiǎn)介與單片機(jī)的發(fā)展歷史
- 基于控制專用單片機(jī)的無(wú)刷直流電機(jī)控制器
- 采用混合信號(hào)高電壓?jiǎn)纹瑱C(jī)實(shí)現(xiàn)LED降壓-升壓
- MCS-51單片機(jī)的指令時(shí)序
- MCS51系列單片機(jī)軟件復(fù)位的方法
- MSP430單片機(jī)與nRF905無(wú)線通信系統(tǒng)
- 小型單片機(jī)系統(tǒng)延時(shí)關(guān)機(jī)電路
- 單片機(jī)通用模擬串口C程序
- 8051單片機(jī)的I2C接口并行擴(kuò)展
- 單片機(jī)應(yīng)用領(lǐng)域
推薦技術(shù)資料
- 硬盤(pán)式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究