藍牙無(wú)線(xiàn)手操器的設計與開(kāi)發(fā)
1.引言
本文引用地址:http://dyxdggzs.com/article/158190.htm工業(yè)現場(chǎng)設備的工作環(huán)境復雜多變,有些地方工作人員甚至難以接近,特別是一些工業(yè)環(huán)境禁止使用電纜(如超凈或真空封閉的房間)或者很難使用電纜來(lái)傳送數據(如高速旋轉的設備、高空設備、不適于布線(xiàn)的強腐蝕惡劣環(huán)境),這時(shí)采用藍牙等無(wú)線(xiàn)通信技術(shù)來(lái)對現場(chǎng)設備進(jìn)行數據采集與參數設置能有效解決上述問(wèn)題。為此本文設計了基于藍牙無(wú)線(xiàn)通信協(xié)議的手操器,該手操器具有體積小、操作方便、性能完善和組網(wǎng)靈活等特點(diǎn),目前已獲得實(shí)用新型專(zhuān)利,并有效應用于工業(yè)現場(chǎng)的數據采集和控制系統中。
2 總體設計
2.1 功能分析
2.2 系統設計
圖1 數據采集系統拓撲結構圖
本文設計藍牙手操器現應用于圖1所示的無(wú)線(xiàn)監控系統中。整個(gè)系統分為兩部分:藍牙無(wú)線(xiàn)手操器作為主設備,而其他的四個(gè)現場(chǎng)設備作為從設備。從設備負責信號轉換、數據采集和數據傳輸。信號轉換,這一部分電路的作用是把相應的物理信號量轉換為電壓信號,然后對其進(jìn)行放大和濾波處理,處理的結果作為數據采集電路的輸入信號;數據采集,把信號轉換電路輸出的模擬信號轉換為數字信號(數字序列),然后把數字信號輸出給CPU,以便進(jìn)行相應的處理;數據傳輸,在控制系統中,智能傳感器采集并整理好的數據,需要傳輸給系統的監控系統,在本系統中所有的藍牙協(xié)議都固化在芯片中,芯片通過(guò)UART接口與應用系統相連接。由于片內嵌入了CPU,所以,嵌入式藍牙系統實(shí)際上是一個(gè)智能終端,適合于任何具有CPU器件的系統。本系統中的智能傳感器和藍牙無(wú)線(xiàn)手操器都是通過(guò)增加一個(gè)單芯片藍牙器件,以組成一個(gè)以藍牙為通信方式的設備。
藍牙手操器作為便攜式監控設備通信是系統的一個(gè)主要功能,除此之外還需要實(shí)現系統的其他功能如菜單顯示、鍵盤(pán)輸入以及數據處理等功能。由于CPU串行結構的特點(diǎn),當系統需要同時(shí)啟用通信功能和其它重要功能時(shí)(如實(shí)施數據處理等操作), 就需要使用適當的方法進(jìn)行協(xié)調。在本設計中采用了UC/OS-II操作系統,通過(guò)該系統來(lái)建立多個(gè)任務(wù)進(jìn)程,各個(gè)任務(wù)之間的切換通過(guò)操作系統的調度功能來(lái)完成。其次,對于現場(chǎng)的智能傳感器來(lái)說(shuō),傳輸數據量一般不是很大(如壓力、溫度等傳感器),因此藍牙手操器并不需要很大的存儲容量,但必須考慮用于設備維護和數據處理的存儲空間,所以本文設計了兩套數據存儲系統,一種是針對動(dòng)態(tài)數據(如發(fā)送和接收的數據)使用片內RAM,另一種則針對工程人員需要掉電保存的重要資料,該部分由非易失性數據存儲空間來(lái)實(shí)現。再者,由于藍牙手操器作為主設備其藍牙模塊的配置與現場(chǎng)設備不同,手操器的藍牙模塊必須設置成主動(dòng)鏈接單元,并能在其覆蓋范圍內自動(dòng)搜尋其他帶有藍牙模塊的現場(chǎng)設備,若有,則通過(guò)了鑒權和認證后建立鏈接,實(shí)現藍牙現場(chǎng)設備之間的數據通信。最后,為了使現場(chǎng)操作人員能觀(guān)察系統的運行情況,采用一塊小型液晶屏以顯示各模塊的工作狀態(tài),并可通過(guò)鍵盤(pán)輸入控制命令。
以下將從軟件硬件兩方面具體闡述實(shí)現方案。
3 藍牙無(wú)線(xiàn)手操器的開(kāi)發(fā)
3.1 硬件設計
.3.1.1 微處理器C8051F020
.C8051F020 系列單片機是Cygnal 公司新推出的一種混合信號系統級單片機。其含有64kB 片內Flash 程序存儲器,4352B 的RAM、8 個(gè)I/O 端口共64 根I/O 口線(xiàn)、5 個(gè)16 位通用定時(shí)器、看門(mén)狗定時(shí)器等部分。與以前的51 系列單片機相比,C8051F020增添了許多功能,同時(shí)其可靠性和速度也有了很大提高。本系統中,Flash、RAM 及顯示屏共用數據總線(xiàn),地址總線(xiàn)Flash 和RAM 分別共用。各個(gè)芯片的片選信號用P0 口的高位接口。
.3.1.2 藍牙模塊
.藍牙通信模塊型號為BCM04, 通信距離是10 米。藍牙模塊本身帶有微處理器及EEPROM、ROM 和RAM, 整個(gè)模塊有四個(gè)接口分別是AUD、SPI、URAT、PIO口和天線(xiàn)接口。本文采用藍牙模塊進(jìn)行通信時(shí),其工作電壓為3.3V, 藍牙的通信方式為異步串行通信(URAT), 可與處理器的串口直接連接,對應的處理器管腳為P00 和P01, 通用串口(UART)波特率設置成38400b ps。
.3.1.3 顯示屏
.設計中采用的顯示屏是由北京蓬遠公司生產(chǎn)的液晶屏顯示屏PDA32024 0A。PDA320240A 液晶顯示屏是一種精度高的點(diǎn)陣顯示器,具有體積小、重量輕和顯示靈活等優(yōu)點(diǎn)。它具有兩種顯示方式:文本顯示和圖形顯示。為了向用戶(hù)提供更為簡(jiǎn)單的操作界面,許多顯示屏的輔助功能塊都已經(jīng)集成化,對于PDA320240A 只需要對18 根信號線(xiàn)進(jìn)行操作,就可以完成相應得顯示功能。
.3.1.4 鍵盤(pán)模塊
.鍵盤(pán)采用4* 6矩陣式鍵盤(pán),其接口引腳與處理器的P2 和P3 口相連。鍵盤(pán)共設有22 個(gè)按鍵,10 個(gè)數字鍵0~9、4 個(gè)方向鍵及確定、刪除等8 個(gè)其他按鍵,通常,矩陣鍵盤(pán)在判斷有無(wú)按鍵動(dòng)作時(shí),有中斷和查詢(xún)兩種方式,本文采用查詢(xún)方式實(shí)現。如有按鍵動(dòng)作則進(jìn)行行列掃描后計算鍵值,并通過(guò)鍵值映射表查找出對應的功能處理函數進(jìn)行處理。
3.2 軟件設計 軟件結構框圖如圖3 所示,軟件部分主要分為三部分:操作系統,通信,菜單顯示。
藍牙手操器的硬件結構框圖如圖2 所示,包括微控制器C8051F020、藍牙通信模塊、液晶屏顯示模塊、鍵盤(pán)。電源選用電池供電,該電源經(jīng)過(guò)電平轉換,為微處理器、存儲器、
藍牙通信模塊等提供所需的+3.3V 和+1.8V 電源。下面將對各個(gè)模塊分別介紹。
除底層硬件的驅動(dòng)程序外,整個(gè)軟件程序建立在UC/OS 操作系統上,該操作系統具有足夠的穩定性和安全性。根據系統功能要求建立了六個(gè)用戶(hù)任務(wù),即串口任務(wù),藍牙接收和發(fā)送任務(wù),菜單顯示任務(wù),鍵盤(pán)任務(wù)。每個(gè)任務(wù)由三個(gè)組成部分構成:任務(wù)程序代碼、任務(wù)堆棧和任務(wù)控制塊。其中,任務(wù)控制塊用來(lái)保存任務(wù)屬性;任務(wù)堆棧用來(lái)保存任務(wù)工作環(huán)境;任務(wù)程序代碼是任務(wù)的執行部分。在建立任務(wù)的時(shí)候需要為任務(wù)堆棧分配堆??臻g和任務(wù)優(yōu)先級。各個(gè)任務(wù)之間的數據傳遞采用消息郵箱和消息隊列實(shí)現。
通信部分涉及到單片機串口和藍牙模塊之間的通信。手操器啟動(dòng)后,需要向藍牙模塊發(fā)送HCI(主機控制器接口)指令以便初始化藍牙模塊,這些指令包括藍牙通信接口波特率設置、數據接收準備、設備查詢(xún)、藍牙鏈路連接等指令。處理器對藍牙的操作和控制主要是通過(guò)串口通信方式來(lái)完成。當確定藍牙信息接收完畢后,解出有效數據存放在已經(jīng)開(kāi)辟好的循環(huán)緩沖區內。這些數據分為數據信息和事件信息。數據信息,則存放在相應設備的消息隊列中以便顯示菜單調用。事件信息,清除該信息不作處理。
在顯示界面中設置了兩級菜單,手操器啟動(dòng)后,會(huì )自動(dòng)搜索周?chē)钠渌{牙設備并獲得對方藍牙地址從而建立鏈接,此后需要在手操器中建立一個(gè)臨節點(diǎn)列表,并通過(guò)主菜單顯示周?chē)嬖诘乃{牙設備。在主菜單中工程人員可以根據具體需要選擇被監控設備,而子菜單中則設置了讀寫(xiě)設備參數選項,每個(gè)設備對應的參數不同,所以需要對不同的設備參數設置不同的控制命令。
4 藍牙手操器應用實(shí)例
圖4 藍牙手操器應用實(shí)例圖
如圖4 所示,以藍牙閥門(mén)定位器作說(shuō)明示例。藍牙閥門(mén)定位器由我校與四聯(lián)集團共同研發(fā)(采用總線(xiàn)供電),在閥門(mén)定位器中的藍牙通信卡設置為被動(dòng)鏈接模式,設備啟動(dòng)后閥門(mén)定位器會(huì )周期性的采集閥位值并存儲在該設備的緩沖區內,當藍牙手操器搜索到閥門(mén)定位器后向閥門(mén)定位器發(fā)送鏈接指令,建立鏈接后,藍牙手操器將獲得一個(gè)鏈接句柄。此后進(jìn)入如圖5 所示的監控界面,可以執行讀閥位值、閥位上限、以及寫(xiě)上限三項功能。每項功能在執行時(shí),都由手操器發(fā)送一條控制指令,該指令由串口發(fā)給藍牙模塊,其中包括藍牙鏈接句柄、功能代碼(0x01-0x03 分別針對以上的三項功能)以及CRC 校驗域。閥門(mén)定位器收到控制指令后先判斷鏈接句柄,判斷是否接收該指令,其后根據功能代碼分別執行對應的任務(wù)。圖4 中為通過(guò)藍牙手操器讀取的閥門(mén)定位器的閥位值。此外,該手操器還可對藍牙電磁流量計,藍牙溫度變送器等設備進(jìn)行操作。
5 結論
經(jīng)過(guò)現場(chǎng)測試表明,本文設計的藍牙手操器系統穩定、使用方便、實(shí)用性強,有一定的抗干擾能力,可根據需要進(jìn)行軟件升級,能有效地與工業(yè)現場(chǎng)設備進(jìn)行無(wú)線(xiàn)互聯(lián),實(shí)現對工業(yè)現場(chǎng)數據采集和處理功能,為工程人員監控現場(chǎng)設備提供了一種新方法。本文作者創(chuàng )新點(diǎn): 本文介紹了基于藍牙通信協(xié)議的手操器在工業(yè)現場(chǎng)的設計與應用。該藍牙手操器使用新華龍C8051F020 芯片和BCM04 藍牙模塊為主要功能結構模塊,與現場(chǎng)藍牙設備建立一對一或一對多的通信系統,并可通過(guò)該手操器采集和處理現場(chǎng)數據以及校正現場(chǎng)設備的功能參數。
評論