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