基于nRF2401的工程機(jī)械儀表顯示無線通信平臺(tái)的設(shè)計(jì)
系統(tǒng)外圍電路部分設(shè)計(jì)較簡單,MSP430F149的P6口為指定A/D口,現(xiàn)場采集的儀表傳感器信號經(jīng)整形放大輸入F149的P6端口進(jìn)行A/D轉(zhuǎn)換;P3、P4、P5口為普通I/O口,因此要合理利用I/O口;F149的P4和P5端口接液晶顯示器YJD12864,控制LCD實(shí)時(shí)顯示;P1端口接鍵盤,2401的收發(fā)狀態(tài)由按鍵中斷設(shè)定。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件是在IAR Embedded Workbench平臺(tái)上開發(fā)的C代碼程序,采用模塊化結(jié)構(gòu)。發(fā)射機(jī)程序包括數(shù)據(jù)采集、無線數(shù)據(jù)發(fā)送、實(shí)時(shí)顯示以及與PC機(jī)通信等模塊;接收機(jī)程序包括無線數(shù)據(jù)接收、地址和CRC校驗(yàn)、儀表參數(shù)實(shí)時(shí)顯示以及與PC機(jī)通信等模塊。此外,發(fā)射機(jī)和接收機(jī)軟件留有收發(fā)命令接口,以備系統(tǒng)擴(kuò)展工程操作遙控功能。本文主要討論無線數(shù)據(jù)傳輸模塊。
無線通信模塊主要完成nRF2401初始化和無線數(shù)據(jù)收發(fā)功能。
2401初始化主要是寫入配置字,由CS片選引腳控制, CLK1引腳提供串行時(shí)鐘,通過DATA數(shù)據(jù)位引腳串行寫入配置字。2401工作在ShockBurstTM方式下,配置字包括數(shù)據(jù)寬度、地址寬度、地址、CRC校驗(yàn)碼和解碼四部分。
2401數(shù)據(jù)包通信協(xié)議格式由PRE-AMBLE+ADDRESS+PAYLOAD+CRC項(xiàng)組成。其中:PRE-AMBLE為8 bit前導(dǎo)碼,由硬件自動(dòng)加入;ADDRESS為32 bit發(fā)送地址碼;PAYLOAD為208 bit的發(fā)送數(shù)據(jù);CRC是由內(nèi)置糾檢錯(cuò)硬件電路自動(dòng)加上的校驗(yàn)和,可設(shè)為0、8或16 bit。除去前導(dǎo)碼,本系統(tǒng)設(shè)置數(shù)據(jù)包長度為256 bit(32 B),其中:數(shù)據(jù)寬度208 bit、地址寬度32 bit、CRC碼16 bit。
根據(jù)通信協(xié)議設(shè)定2401接收端配置字為:
0x00.d000.0000.0000.00cc.cccc.cc83.4f05;
發(fā)送端配置字為:0x00.ff00.0000.0000.00cc.
cccc.cc83.4f04。配置后2401以ShockBurstTM模式進(jìn)行單通道接收,通道1地址為0xcccc.cccc,通信速率250 kb/s,晶振頻率16 MHz,輸出功率0 dBm,工作頻率2 402 MHz。
通信系統(tǒng)發(fā)送和接收程序流程圖如圖3所示。
通信程序開始時(shí),首先對MSP430F149、A/D、YJD12864、nRF2401初始化并等待按鍵中斷,系統(tǒng)分別設(shè)置收、發(fā)和空閑鍵,當(dāng)按鍵閉合產(chǎn)生中斷后分別進(jìn)入對應(yīng)的中斷服務(wù)程序,完成數(shù)據(jù)包的傳送。2401的CE端由MCU 的P2.0引腳控制。發(fā)送程序開始時(shí)寫入2401發(fā)送配置字,再置CE端為高,2401進(jìn)入發(fā)送模式,通道1地址和發(fā)送數(shù)據(jù)由P2.7(DATA)引腳依次寫入2401的緩沖區(qū), 2401自動(dòng)加上字頭、CRC校驗(yàn)碼將數(shù)據(jù)包以250 kb/s的通信速率發(fā)射出去。發(fā)送程序可以連續(xù)發(fā)送數(shù)據(jù)包直到按下接收鍵或空閑鍵退出發(fā)送程序返回。當(dāng)按下接收鍵時(shí)進(jìn)入接收程序,首先寫入2401接收配置字,當(dāng)CE端置高時(shí)2401進(jìn)入接收模式,延時(shí)202 ?滋s后開始接收數(shù)據(jù)包,當(dāng)正確接收數(shù)據(jù)包后,2401自動(dòng)除去前導(dǎo)碼、地址和CRC校驗(yàn)碼并將數(shù)據(jù)送緩沖區(qū),同時(shí)DR1輸出高電平通知MCU讀取數(shù)據(jù),微控制器從P2.7引腳逐位移出數(shù)據(jù)后,DR1輸出低電平,接收數(shù)據(jù)包結(jié)束。接收程序亦可以連續(xù)接收數(shù)據(jù)包直到按下發(fā)送鍵或空閑鍵退出接收程序返回。
4 實(shí)驗(yàn)結(jié)果及結(jié)論
由于MSP430F149內(nèi)置高精度12 bit 8通道A/D轉(zhuǎn)換器,數(shù)據(jù)轉(zhuǎn)換精度可達(dá)。本系統(tǒng)使用其中1路通道采集油箱油量數(shù)據(jù)。為保證數(shù)據(jù)采樣的精度,數(shù)據(jù)采集程序采用算術(shù)平均值數(shù)字濾波,對采樣信號進(jìn)行平滑加工以提高系統(tǒng)可靠性。經(jīng)實(shí)驗(yàn)測試A/D轉(zhuǎn)換精度滿足要求。
本系統(tǒng)在室內(nèi)走道和室外開闊地對2401發(fā)射功率為0 dB、-5 dB、-10 dB、-20 dB的4個(gè)檔位進(jìn)行了點(diǎn)對點(diǎn)數(shù)據(jù)傳輸實(shí)驗(yàn),測試數(shù)據(jù)傳輸距離和誤碼率,系統(tǒng)供電分別為穩(wěn)壓電源和干電池。室內(nèi)走道傳輸距離為70 m,在無高大建筑物吸收和干擾的室外開闊地,傳輸距離可達(dá)100 m左右。由于nRF2401芯片內(nèi)置了CRC糾錯(cuò)電路和協(xié)議,所以數(shù)據(jù)傳輸?shù)目煽啃愿摺?shí)驗(yàn)中,凡在可接收到數(shù)據(jù)的情形下,未出現(xiàn)接收數(shù)據(jù)出錯(cuò)的現(xiàn)象。由于穩(wěn)壓電源提供的電壓、電流穩(wěn)定,能夠提高接收信號的質(zhì)量和距離。
本文提出的基于射頻收發(fā)芯片nRF2401實(shí)現(xiàn)工程機(jī)械儀表異地顯示的無線通信方案,實(shí)現(xiàn)了大型工程機(jī)械駕駛操控室儀表顯示無線通信的信號傳輸,可消除目前線纜傳輸固有的弊端,有效保證信號傳輸?shù)馁|(zhì)量和可靠性。由于本系統(tǒng)為低功耗設(shè)計(jì),使用兩節(jié)5號干電池即可保證長期工作。經(jīng)測試,在100 m左右的通信距離內(nèi),該無線傳輸系統(tǒng)能夠穩(wěn)定地實(shí)現(xiàn)數(shù)據(jù)的有效傳輸,具有低功耗、抗干擾能力強(qiáng)、易攜帶等優(yōu)點(diǎn)。目前擬在QY50B型汽車起重機(jī)和BBS5280JXFJP18型舉高噴射消防車上試用。此外,本系統(tǒng)的發(fā)射機(jī)和接收機(jī)均能工作在收發(fā)方式,并預(yù)留多種接口,方便擴(kuò)展功能和組網(wǎng),也適用于其他具有無線通信功能的應(yīng)用場合。
評論