基于藍牙技術的火控檢測系統無線網絡的研究
其他輔助電路主要包括SPI接口電路以及連接狀態顯示。SPI即串行外設接口,包括SPI_MOSI、SPI_MISO、SPI_CSB和SPI_CLK引腳,直接印在PCB(印制板)板的測試口,它是一個很簡單的調試接口,與藍牙開發工具相連接,用來向藍牙模塊寫入程序、調整和與Bluecore4-External直接通信,并且還可以擦寫Flash存儲器。連接狀態顯示設計了一個發光二極管,其主要作用是用它來顯示藍牙串口適配器的工作狀態:當發光二極管處于高電平,也就是發光時,藍牙設備連接正常,處于工作狀態;當二極管處于低電平,二極管不發光時,藍牙設備沒有建立連接。發光二極管可以任意安裝在藍牙模塊的PIO引腳上,可由藍牙模塊的PIO口直接驅動。
本文引用地址:http://www.104case.com/article/117272.htm關于藍牙天線[5],目前常用的藍牙天線有:偶極天線(Dipole Antenna)、PIFA天線(Planar Inverted Antenna)和集成陶瓷天線(Ceramic Antenna)等。本文主要設計了成本低,結構簡單的倒F天線,直接印制在PCB板上。
軟件實現
系統的軟件開發主要在藍牙串口適配器的基礎上,實現藍牙設備的組網,其軟件設計主要是藍牙串口適配器的串口通信實現,包括藍牙串口適配器串口的打開、初始化、本地設備設置、查詢設備、建立連接、數據/廣播數據等,其軟件流程如圖4所示。
整個程序以HCI命令及事件為手段,發送響應的命令,并對接收到的數據進行分析,做出響應的動作。在完成藍牙串口適配器與主機連接之后,首先打開串口,是主機獲得串口,有效識別適配器;其次完成初始化,主要包括適配器和主機的初始化;然后設置藍牙設備名稱,讀取藍牙設備地址;緊接著主機發送查詢指令,查詢有限范圍內的藍牙設備;在查詢完成后,主設備根據需要建立連接,并向從設備發送指令,完成網內點對點數據傳輸和廣播數據。
其主要的程序設計HCI指令[6]有如下幾條。
M8 get_local_bd_addr() reentrant //獲取本地地址
M8 HCI_change_local_name() reentrant //改變藍牙
設備名稱
void HCI_inquiry() reentrant //查詢設備
void HCI_creat_connect() reentrant //建立連接
void HCI_disconnect() reentrant //斷開連接
void HCI_send_acl_data() reentrant //發送數據
void HCI_event_handler() reentrant //接收數據
void HCI_broadcast() reentrant //廣播數據
LED驅動程序:
#ifdef CSR_APPLICATION_HARDWARE
PioSet(LED_CONNECT|LED_POWER,LED_CONNECT);
#else
PioSet(LED_CONNECT,0)
在完成藍牙串口適配器組建火控檢測系統微微網后,利用藍牙微微網在網內實現了幾類特殊信號的數據和廣播數據,主設備自發送相應指令后,從設備發回相應的測試結果,其點對點數據傳輸顯示測試結果如圖5a所示。對于廣播數據來說,也就是點對多點數據傳輸,其具有不穩定性,不能確定主設備每次發送的指令從設備都能夠接收到,一般需采用2次以上的廣播。本設計測試中主設備廣播次數為2次,在主設備廣播完成后,得到的從設備1-7發回的測試結果見圖5b。從測試結果來看,網內點對點數據通信和廣播數據效果良好,能滿足檢測需求。
結語
本文在研究藍牙無線網絡的基礎上,設計開發了以藍牙串口適配器為硬件的火控檢測系統無線網絡。測試表明,本文設計的藍牙微微網可以實現網內點對點數據和廣播數據,且通信效果良好。由此可以得知在火控檢測系統中實現藍牙無線組網是可行的,這也為藍牙網絡特性在裝備檢測中的應用積累了經驗,做出了有益探索。
藍牙技術相關文章:藍牙技術原理
評論