基于nRF2401的工程機械儀表顯示無線通信平臺的設計與實現
2401具備4種工作模式,由PWR_UP、CE和CS 3個引腳信號決定,表1給出了工作模式與引腳信號的對應關系。
2401上電工作時,首先置為配置模式,由初始化程序寫入配置字,配置字的最后1位指定2401收發狀態;然后由控制器輸出信號將CE引腳置為高電平,2401進入收發模式工作,通過指定通道收發數據,收發雙方交互時一方可進入空閑模式,待全部數據傳送完畢時進入關機模式。
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內置,也可以使用單鞭天線和環形天線。本系統使用外置天線,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的收發狀態由按鍵中斷設定。
3 系統軟件設計
系統軟件是在IAR Embedded Workbench平臺上開發的C代碼程序,采用模塊化結構。發射機程序包括數據采集、無線數據發送、實時顯示以及與PC機通信等模塊;接收機程序包括無線數據接收、地址和CRC校驗、儀表參數實時顯示以及與PC機通信等模塊。此外,發射機和接收機軟件留有收發命令接口,以備系統擴展工程操作遙控功能。本文主要討論無線數據傳輸模塊。
無線通信模塊主要完成nRF2401初始化和無線數據收發功能。
2401初始化主要是寫入配置字,由CS片選引腳控制, CLK1引腳提供串行時鐘,通過DATA數據位引腳串行寫入配置字。2401工作在ShockBurstTM方式下,配置字包括數據寬度、地址寬度、地址、CRC校驗碼和解碼四部分。
2401數據包通信協議格式由PRE-AMBLE+ADDRESS+PAYLOAD+CRC項組成。其中:PRE-AMBLE為8 bit前導碼,由硬件自動加入;ADDRESS為32 bit發送地址碼;PAYLOAD為208 bit的發送數據;CRC是由內置糾檢錯硬件電路自動加上的校驗和,可設為0、8或16 bit。除去前導碼,本系統設置數據包長度為256 bit(32 B),其中:數據寬度208 bit、地址寬度32 bit、CRC碼16 bit。
評論