隨著射頻無線通信技術(shù)的迅速發(fā)展,對大型工程機械駕駛操控室儀表顯示采用無線通信的信號傳輸方式,可有效消除線纜傳輸固有的弊端,保證信號傳輸?shù)馁|(zhì)量和可靠性。本文提出一種以超低功耗16 bit微控制器MSP430F149和射頻無線收發(fā)器nRF2401為核心的無線通信平臺,實現(xiàn)了大型工程機械駕駛操控室儀表顯示信號的無線傳輸,并完成了平臺系統(tǒng)的設(shè)計與實現(xiàn)。
1 系統(tǒng)結(jié)構(gòu)及工作原理
系統(tǒng)結(jié)構(gòu)及原理框圖如圖1所示。
系統(tǒng)由發(fā)射機和接收機組成。發(fā)射機和接收機的無線模塊為射頻無線收發(fā)器nRF2401,并均能工作在收發(fā)狀態(tài),采用半雙工方式通信,通過按鍵中斷實現(xiàn)模塊收發(fā)方式的轉(zhuǎn)換,并在LCD上實時顯示收發(fā)器的工作狀態(tài)。發(fā)射機主要完成現(xiàn)場各類儀表信號的數(shù)據(jù)采集及A/D轉(zhuǎn)換、存儲、軟件抗干擾和標(biāo)度轉(zhuǎn)換處理、數(shù)據(jù)發(fā)送、LCD顯示系統(tǒng)狀態(tài)控制以及控制指令接收等功能;接收機則主要實現(xiàn)現(xiàn)場數(shù)據(jù)接收、LCD顯示儀表參數(shù)控制、向發(fā)射機傳送控制命令等工作。此外,發(fā)射機和接收機的控制單元配置有標(biāo)準(zhǔn)的RS-232接口,可以很方便地把各類數(shù)據(jù)傳送到PC機上進行分析處理。
2 通信系統(tǒng)硬件設(shè)計
發(fā)射機和接收機的控制單元所采用的MCU器件皆為TI公司的16 bit高性能微控制器MSP430F149芯片。該芯片具有超低功耗、運算速度快、存儲容量大、高性能模擬模式及豐富的片內(nèi)外設(shè)、JATG接口和在線編程等顯著優(yōu)點。系統(tǒng)無線通信模塊為Nordic公司生產(chǎn)的單片集成射頻無線收發(fā)器nRF2401芯片,工作頻率范圍為全球開放的2.4 GHz頻段,可自適應(yīng)125個頻道,具有功耗低、通信速率高、通信質(zhì)量穩(wěn)定可靠、軟件配置工作參數(shù)、外圍電路簡單、應(yīng)用靈活、成本低廉、開發(fā)周期短等優(yōu)點。應(yīng)用該芯片實現(xiàn)無線通信是一種具備較高性價比的解決方案。
2.1 nRF2401收發(fā)器工作原理
nRF2401芯片采用5 mm×5 mm QFN封裝,芯片內(nèi)置地址解碼器、時鐘、解調(diào)處理器、先進先出堆棧區(qū)、GFSK濾波器、CRC處理器、低噪聲放大器、頻率合成器和功率放大器等功能模塊,并具有1.9 V~3.6 V寬工作電壓,以-5 dBm功率發(fā)射時,工作電流為10.5 mA,接收時工作電流為18 mA。
2401工作原理可概括為:2種通信方式、1個配置字、2個通道和4種工作模式。
兩種通信方式為ShockBurstTM(突發(fā)模式)和Direct Mode(直接模式)。在ShockBurstTM方式下,由2401自動處理數(shù)據(jù)包字頭、地址和CRC校驗碼,數(shù)據(jù)包由MCU低速送入片內(nèi)的FIFO區(qū),由2401高速發(fā)出,數(shù)據(jù)傳輸速率最高達1 Mb/s,這種方式抗干擾性能強并且節(jié)能;Direct Mode方式時,如傳統(tǒng)射頻收發(fā)器一樣,數(shù)據(jù)包字頭、地址和CRC校驗碼必須在通信程序中處理。
2401內(nèi)置狀態(tài)字寄存器,其功能為設(shè)置芯片的工作參數(shù)配置字。配置字由CS、CLK1和DATA 3線接口寫入,包括芯片收發(fā)狀態(tài)、接收頻道地址位數(shù)和地址、通道選擇、傳輸速率、晶振頻率、發(fā)射功率、工作頻率、CRC糾校驗等參數(shù),最多可有144 bit,前24 bit為系統(tǒng)保留位,其余120 bit由程序設(shè)置。在ShockBurstTM方式下配置字為15 B,Direct Mode方式下配置字為2 B。
2401具有DuoCeiverTM技術(shù),為接收提供了2個獨立的專用數(shù)字信道,即通道1(CLK1、DR1和DATA)和通道2(CLK2、DR2和DOUT2),后者只接收數(shù)據(jù),可代替兩個單獨的接收系統(tǒng)。通過一個天線接口即可同時接收兩組數(shù)據(jù),但接收通道2的頻率必須比通道1的頻率高出8 MHz以上時,才能正常接收。
2401具備4種工作模式,由PWR_UP、CE和CS 3個引腳信號決定,表1給出了工作模式與引腳信號的對應(yīng)關(guān)系。
2401上電工作時,首先置為配置模式,由初始化程序?qū)懭肱渲米,配置字的最?位指定2401收發(fā)狀態(tài);然后由控制器輸出信號將CE引腳置為高電平,2401進入收發(fā)模式工作,通過指定通道收發(fā)數(shù)據(jù),收發(fā)雙方交互時一方可進入空閑模式,待全部數(shù)據(jù)傳送完畢時進入關(guān)機模式。
2.2 通信系統(tǒng)硬件邏輯電路
圖2為系統(tǒng)的控制芯片MSP430F149與無線模塊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è)計過程中,天線可以選用PCB內(nèi)置,也可以使用單鞭天線和環(huán)形天線。本系統(tǒng)使用外置天線,SMA接頭。傳輸距離在100 m左右,可滿足大型工程機械儀表通信距離要求。
系統(tǒng)外圍電路部分設(shè)計較簡單,MSP430F149的P6口為指定A/D口,現(xiàn)場采集的儀表傳感器信號經(jīng)整形放大輸入F149的P6端口進行A/D轉(zhuǎn)換;P3、P4、P5口為普通I/O口,因此要合理利用I/O口;F149的P4和P5端口接液晶顯示器YJD12864,控制LCD實時顯示;P1端口接鍵盤,2401的收發(fā)狀態(tài)由按鍵中斷設(shè)定。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件是在IAR Embedded Workbench平臺上開發(fā)的C代碼程序,采用模塊化結(jié)構(gòu)。發(fā)射機程序包括數(shù)據(jù)采集、無線數(shù)據(jù)發(fā)送、實時顯示以及與PC機通信等模塊;接收機程序包括無線數(shù)據(jù)接收、地址和CRC校驗、儀表參數(shù)實時顯示以及與PC機通信等模塊。此外,發(fā)射機和接收機軟件留有收發(fā)命令接口,以備系統(tǒng)擴展工程操作遙控功能。本文主要討論無線數(shù)據(jù)傳輸模塊。
無線通信模塊主要完成nRF2401初始化和無線數(shù)據(jù)收發(fā)功能。
2401初始化主要是寫入配置字,由CS片選引腳控制, CLK1引腳提供串行時鐘,通過DATA數(shù)據(jù)位引腳串行寫入配置字。2401工作在ShockBurstTM方式下,配置字包括數(shù)據(jù)寬度、地址寬度、地址、CRC校驗碼和解碼四部分。
2401數(shù)據(jù)包通信協(xié)議格式由PRE-AMBLE+ADDRESS+PAYLOAD+CRC項組成。其中:PRE-AMBLE為8 bit前導(dǎo)碼,由硬件自動加入;ADDRESS為32 bit發(fā)送地址碼;PAYLOAD為208 bit的發(fā)送數(shù)據(jù);CRC是由內(nèi)置糾檢錯硬件電路自動加上的校驗和,可設(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模式進行單通道接收,通道1地址為0xcccc.cccc,通信速率250 kb/s,晶振頻率16 MHz,輸出功率0 dBm,工作頻率2 402 MHz。
通信系統(tǒng)發(fā)送和接收程序流程圖如圖3所示。
通信程序開始時,首先對MSP430F149、A/D、YJD12864、nRF2401初始化并等待按鍵中斷,系統(tǒng)分別設(shè)置收、發(fā)和空閑鍵,當(dāng)按鍵閉合產(chǎn)生中斷后分別進入對應(yīng)的中斷服務(wù)程序,完成數(shù)據(jù)包的傳送。2401的CE端由MCU 的P2.0引腳控制。發(fā)送程序開始時寫入2401發(fā)送配置字,再置CE端為高,2401進入發(fā)送模式,通道1地址和發(fā)送數(shù)據(jù)由P2.7(DATA)引腳依次寫入2401的緩沖區(qū), 2401自動加上字頭、CRC校驗碼將數(shù)據(jù)包以250 kb/s的通信速率發(fā)射出去。發(fā)送程序可以連續(xù)發(fā)送數(shù)據(jù)包直到按下接收鍵或空閑鍵退出發(fā)送程序返回。當(dāng)按下接收鍵時進入接收程序,首先寫入2401接收配置字,當(dāng)CE端置高時2401進入接收模式,延時202 ?滋s后開始接收數(shù)據(jù)包,當(dāng)正確接收數(shù)據(jù)包后,2401自動除去前導(dǎo)碼、地址和CRC校驗碼并將數(shù)據(jù)送緩沖區(qū),同時DR1輸出高電平通知MCU讀取數(shù)據(jù),微控制器從P2.7引腳逐位移出數(shù)據(jù)后,DR1輸出低電平,接收數(shù)據(jù)包結(jié)束。接收程序亦可以連續(xù)接收數(shù)據(jù)包直到按下發(fā)送鍵或空閑鍵退出接收程序返回。
4 實驗結(jié)果及結(jié)論
由于MSP430F149內(nèi)置高精度12 bit 8通道A/D轉(zhuǎn)換器,數(shù)據(jù)轉(zhuǎn)換精度可達。本系統(tǒng)使用其中1路通道采集油箱油量數(shù)據(jù)。為保證數(shù)據(jù)采樣的精度,數(shù)據(jù)采集程序采用算術(shù)平均值數(shù)字濾波,對采樣信號進行平滑加工以提高系統(tǒng)可靠性。經(jīng)實驗測試A/D轉(zhuǎn)換精度滿足要求。
本系統(tǒng)在室內(nèi)走道和室外開闊地對2401發(fā)射功率為0 dB、-5 dB、-10 dB、-20 dB的4個檔位進行了點對點數(shù)據(jù)傳輸實驗,測試數(shù)據(jù)傳輸距離和誤碼率,系統(tǒng)供電分別為穩(wěn)壓電源和干電池。室內(nèi)走道傳輸距離為70 m,在無高大建筑物吸收和干擾的室外開闊地,傳輸距離可達100 m左右。由于nRF2401芯片內(nèi)置了CRC糾錯電路和協(xié)議,所以數(shù)據(jù)傳輸?shù)目煽啃愿。實驗中,凡在可接收到?shù)據(jù)的情形下,未出現(xiàn)接收數(shù)據(jù)出錯的現(xiàn)象。由于穩(wěn)壓電源提供的電壓、電流穩(wěn)定,能夠提高接收信號的質(zhì)量和距離。
本文提出的基于射頻收發(fā)芯片nRF2401實現(xiàn)工程機械儀表異地顯示的無線通信方案,實現(xiàn)了大型工程機械駕駛操控室儀表顯示無線通信的信號傳輸,可消除目前線纜傳輸固有的弊端,有效保證信號傳輸?shù)馁|(zhì)量和可靠性。由于本系統(tǒng)為低功耗設(shè)計,使用兩節(jié)5號干電池即可保證長期工作。經(jīng)測試,在100 m左右的通信距離內(nèi),該無線傳輸系統(tǒng)能夠穩(wěn)定地實現(xiàn)數(shù)據(jù)的有效傳輸,具有低功耗、抗干擾能力強、易攜帶等優(yōu)點。目前擬在QY50B型汽車起重機和BBS5280JXFJP18型舉高噴射消防車上試用。此外,本系統(tǒng)的發(fā)射機和接收機均能工作在收發(fā)方式,并預(yù)留多種接口,方便擴展功能和組網(wǎng),也適用于其他具有無線通信功能的應(yīng)用場合。
來源:21IC中國電子網(wǎng)