基于nRF2401的工程機械儀表顯示無線通信平臺的設(shè)計與實現(xiàn)
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。
評論