基于nRF2401的工程機(jī)械儀表顯示無(wú)線通信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 針對(duì)大型工程機(jī)械各類信號(hào)與駕駛操控室儀表異地顯示的通信問題,提出了基于射頻收發(fā)器nRF2401實(shí)現(xiàn)無(wú)線數(shù)據(jù)通信的設(shè)計(jì)方案,詳細(xì)介紹了射頻芯片nRF2401的工作原理及特點(diǎn), 并給出了無(wú)線通信平臺(tái)硬件結(jié)構(gòu)、接口電路及相應(yīng)程序框圖。經(jīng)過(guò)測(cè)試,該通信平臺(tái)上通信速率高、質(zhì)量好,空曠處的傳輸距離可達(dá)100 m。 隨著射頻無(wú)線通信技術(shù)的迅速發(fā)展,對(duì)大型工程機(jī)械駕駛操控室儀表顯示采用無(wú)線通信的信號(hào)傳輸方式,可有效消除線纜傳輸固有的弊端,保證信號(hào)傳輸?shù)馁|(zhì)量和可靠性。本文提出一種以超低功耗16 bit微控制器MSP430F149和射頻無(wú)線收發(fā)器nRF2401為核心的無(wú)線通信平臺(tái),實(shí)現(xiàn)了大型工程機(jī)械駕駛操控室儀表顯示信號(hào)的無(wú)線傳輸,并完成了平臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。 1 系統(tǒng)結(jié)構(gòu)及工作原理 系統(tǒng)結(jié)構(gòu)及原理框圖如圖1所示。 系統(tǒng)由發(fā)射機(jī)和接收機(jī)組成。發(fā)射機(jī)和接收機(jī)的無(wú)線模塊為射頻無(wú)線收發(fā)器nRF2401,并均能工作在收發(fā)狀態(tài),采用半雙工方式通信,通過(guò)按鍵中斷實(shí)現(xiàn)模塊收發(fā)方式的轉(zhuǎn)換,并在LCD上實(shí)時(shí)顯示收發(fā)器的工作狀態(tài)。發(fā)射機(jī)主要完成現(xiàn)場(chǎng)各類儀表信號(hào)的數(shù)據(jù)采集及A/D轉(zhuǎn)換、存儲(chǔ)、軟件抗干擾和標(biāo)度轉(zhuǎn)換處理、數(shù)據(jù)發(fā)送、LCD顯示系統(tǒng)狀態(tài)控制以及控制指令接收等功能;接收機(jī)則主要實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)接收、LCD顯示儀表參數(shù)控制、向發(fā)射機(jī)傳送控制命令等工作。此外,發(fā)射機(jī)和接收機(jī)的控制單元配置有標(biāo)準(zhǔn)的RS-232接口,可以很方便地把各類數(shù)據(jù)傳送到PC機(jī)上進(jìn)行分析處理。 2 通信系統(tǒng)硬件設(shè)計(jì) 發(fā)射機(jī)和接收機(jī)的控制單元所采用的MCU器件皆為TI公司的16 bit高性能微控制器MSP430F149芯片。該芯片具有超低功耗、運(yùn)算速度快、存儲(chǔ)容量大、高性能模擬模式及豐富的片內(nèi)外設(shè)、JATG接口和在線編程等顯著優(yōu)點(diǎn)。系統(tǒng)無(wú)線通信模塊為Nordic公司生產(chǎn)的單片集成射頻無(wú)線收發(fā)器nRF2401芯片,工作頻率范圍為全球開放的2.4 GHz頻段,可自適應(yīng)125個(gè)頻道,具有功耗低、通信速率高、通信質(zhì)量穩(wěn)定可靠、軟件配置工作參數(shù)、外圍電路簡(jiǎn)單、應(yīng)用靈活、成本低廉、開發(fā)周期短等優(yōu)點(diǎn)。應(yīng)用該芯片實(shí)現(xiàn)無(wú)線通信是一種具備較高性價(jià)比的解決方案。 2.1 nRF2401收發(fā)器工作原理 nRF2401芯片采用5 mm×5 mm QFN封裝,芯片內(nèi)置地址解碼器、時(shí)鐘、解調(diào)處理器、先進(jìn)先出堆棧區(qū)、GFSK濾波器、CRC處理器、低噪聲放大器、頻率合成器和功率放大器等功能模塊,并具有1.9 V~3.6 V寬工作電壓,以-5 dBm功率發(fā)射時(shí),工作電流為10.5 mA,接收時(shí)工作電流為18 mA。 2401工作原理可概括為:2種通信方式、1個(gè)配置字、2個(gè)通道和4種工作模式。 兩種通信方式為ShockBurstTM(突發(fā)模式)和Direct Mode(直接模式)。在ShockBurstTM方式下,由2401自動(dòng)處理數(shù)據(jù)包字頭、地址和CRC校驗(yàn)碼,數(shù)據(jù)包由MCU低速送入片內(nèi)的FIFO區(qū),由2401高速發(fā)出,數(shù)據(jù)傳輸速率最高達(dá)1 Mb/s,這種方式抗干擾性能強(qiáng)并且節(jié)能;Direct Mode方式時(shí),如傳統(tǒng)射頻收發(fā)器一樣,數(shù)據(jù)包字頭、地址和CRC校驗(yàn)碼必須在通信程序中處理。 2401內(nèi)置狀態(tài)字寄存器,其功能為設(shè)置芯片的工作參數(shù)配置字。配置字由CS、CLK1和DATA 3線接口寫入,包括芯片收發(fā)狀態(tài)、接收頻道地址位數(shù)和地址、通道選擇、傳輸速率、晶振頻率、發(fā)射功率、工作頻率、CRC糾校驗(yàn)等參數(shù),最多可有144 bit,前24 bit為系統(tǒng)保留位,其余120 bit由程序設(shè)置。在ShockBurstTM方式下配置字為15 B,Direct Mode方式下配置字為2 B。 2401具有DuoCeiverTM技術(shù),為接收提供了2個(gè)獨(dú)立的專用數(shù)字信道,即通道1(CLK1、DR1和DATA)和通道2(CLK2、DR2和DOUT2),后者只接收數(shù)據(jù),可代替兩個(gè)單獨(dú)的接收系統(tǒng)。通過(guò)一個(gè)天線接口即可同時(shí)接收兩組數(shù)據(jù),但接收通道2的頻率必須比通道1的頻率高出8 MHz以上時(shí),才能正常接收。 2401具備4種工作模式,由PWR_UP、CE和CS 3個(gè)引腳信號(hào)決定,表1給出了工作模式與引腳信號(hào)的對(duì)應(yīng)關(guān)系。 2401上電工作時(shí),首先置為配置模式,由初始化程序?qū)懭肱渲米郑渲米值淖詈?位指定2401收發(fā)狀態(tài);然后由控制器輸出信號(hào)將CE引腳置為高電平,2401進(jìn)入收發(fā)模式工作,通過(guò)指定通道收發(fā)數(shù)據(jù),收發(fā)雙方交互時(shí)一方可進(jìn)入空閑模式,待全部數(shù)據(jù)傳送完畢時(shí)進(jìn)入關(guān)機(jī)模式。 2.2 通信系統(tǒng)硬件邏輯電路 圖2為系統(tǒng)的控制芯片MSP430F149與無(wú)線模塊nRF2401的硬件邏輯電路。由于MSP430F149只有P1和P2口具有中斷控制功能,故將F149的P2口P2.0~P2.7分別接2401的CE、DR2、CLK2、DOUT2、CS、DR1、CLK1和DATA引腳,P5.7接PWR_UP。 2401的工作電壓為3 V,由圖2可知2401應(yīng)用電路只需少量的外圍元件。在設(shè)計(jì)過(guò)程中,天線可以選用PCB內(nèi)置,也可以使用單鞭天線和環(huán)形天線。本系統(tǒng)使用外置天線,SMA接頭。傳輸距離在100 m左右,可滿足大型工程機(jī)械儀表通信距離要求。 系統(tǒng)外圍電路部分設(shè)計(jì)較簡(jiǎn)單,MSP430F149的P6口為指定A/D口,現(xiàn)場(chǎng)采集的儀表傳感器信號(hào)經(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ù)采集、無(wú)線數(shù)據(jù)發(fā)送、實(shí)時(shí)顯示以及與PC機(jī)通信等模塊;接收機(jī)程序包括無(wú)線數(shù)據(jù)接收、地址和CRC校驗(yàn)、儀表參數(shù)實(shí)時(shí)顯示以及與PC機(jī)通信等模塊。此外,發(fā)射機(jī)和接收機(jī)軟件留有收發(fā)命令接口,以備系統(tǒng)擴(kuò)展工程操作遙控功能。本文主要討論無(wú)線數(shù)據(jù)傳輸模塊。 無(wú)線通信模塊主要完成nRF2401初始化和無(wú)線數(shù)據(jù)收發(fā)功能。 2401初始化主要是寫入配置字,由CS片選引腳控制, CLK1引腳提供串行時(shí)鐘,通過(guò)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ù)包長(zhǎng)度為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í),首先對(duì)MSP430F149、A/D、YJD12864、nRF2401初始化并等待按鍵中斷,系統(tǒng)分別設(shè)置收、發(fā)和空閑鍵,當(dāng)按鍵閉合產(chǎn)生中斷后分別進(jìn)入對(duì)應(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ù)字濾波,對(duì)采樣信號(hào)進(jìn)行平滑加工以提高系統(tǒng)可靠性。經(jīng)實(shí)驗(yàn)測(cè)試A/D轉(zhuǎn)換精度滿足要求。 本系統(tǒng)在室內(nèi)走道和室外開闊地對(duì)2401發(fā)射功率為0 dB、-5 dB、-10 dB、-20 dB的4個(gè)檔位進(jìn)行了點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸實(shí)驗(yàn),測(cè)試數(shù)據(jù)傳輸距離和誤碼率,系統(tǒng)供電分別為穩(wěn)壓電源和干電池。室內(nèi)走道傳輸距離為70 m,在無(wú)高大建筑物吸收和干擾的室外開闊地,傳輸距離可達(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)定,能夠提高接收信號(hào)的質(zhì)量和距離。 本文提出的基于射頻收發(fā)芯片nRF2401實(shí)現(xiàn)工程機(jī)械儀表異地顯示的無(wú)線通信方案,實(shí)現(xiàn)了大型工程機(jī)械駕駛操控室儀表顯示無(wú)線通信的信號(hào)傳輸,可消除目前線纜傳輸固有的弊端,有效保證信號(hào)傳輸?shù)馁|(zhì)量和可靠性。由于本系統(tǒng)為低功耗設(shè)計(jì),使用兩節(jié)5號(hào)干電池即可保證長(zhǎng)期工作。經(jīng)測(cè)試,在100 m左右的通信距離內(nèi),該無(wú)線傳輸系統(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),也適用于其他具有無(wú)線通信功能的應(yīng)用場(chǎng)合。