藍(lán)牙協(xié)議規(guī)范遵循開放系統(tǒng)互聯(lián) OSI(Open System Interconnection)模型。
藍(lán)牙協(xié)議棧按照封裝方式有 3 種不同的實(shí)現(xiàn)模型——寄居式、嵌入式和完全嵌入式,分別針對具有不同功能和資源的產(chǎn)品。
對于嵌入式模型,藍(lán)牙協(xié)議棧位于藍(lán)牙模塊中,應(yīng)用程序單獨(dú)運(yùn)行在主機(jī)上,通過適配協(xié)議與藍(lán)牙模塊通信。嵌入式模型無需主機(jī)處理藍(lán)牙上層協(xié)議,減少了主機(jī)的軟件負(fù)荷和代碼長度,降低了開發(fā)難度,對于內(nèi)存有限的設(shè)備是不錯的選擇。本設(shè)計(jì)在藍(lán)牙協(xié)議棧實(shí)現(xiàn)形式上選用了嵌入式模型,通過使用南京國春電子技術(shù)有限公司的 KC02 藍(lán)牙模塊,保證通信可靠性并減少了 CPU 的代碼量。
在工業(yè)現(xiàn)場使用藍(lán)牙無線通信,其系統(tǒng)的硬件設(shè)計(jì)分為閥門電動裝置和手持操作器兩部分。
閥門電動裝置實(shí)現(xiàn)閥門本體的控制功能。以 LPC2292 為核心構(gòu)建整個嵌入式系統(tǒng),藍(lán)牙模塊采用工業(yè)級 KC02 模塊。
LPC2292 是 NXP 公司基于 ARM7TDMI-S 的一款高性能工業(yè)級微處理器。其處理器內(nèi)核為 32 位 RISC 體系結(jié)構(gòu),具有高密度的 16 位指令集及極低的功耗。
KC02 藍(lán)牙模塊是可進(jìn)行數(shù)據(jù)交換和語音通信的藍(lán)牙通信模塊。其體積小,外形尺寸長為 17.8mm,寬為 15.2mm;工作電壓為 3.3V,擁有 UART、SPI 和 USB 串行接口,在本設(shè)計(jì)中使用處理器的 UART 與藍(lán)牙模塊相連。
手持操作器的功能為搜索從藍(lán)牙,并在主從藍(lán)牙建立鏈接之后,操作閥門電動裝置,并同步顯示閥門電動裝置屏幕內(nèi)容。其系統(tǒng)結(jié)構(gòu)以 8 位 AVR 單片機(jī) ATmega128L 為核心,包括按鍵、液晶顯示屏、主藍(lán)牙模塊和電源處理 4 個部分。KC02 主藍(lán)牙模塊通過串口與單片機(jī)相連。手持操作器使用電池,通過電源轉(zhuǎn)換芯片 AMSI1117 穩(wěn)壓后給整個嵌入式系統(tǒng)供電。
手持操作器復(fù)位后首先進(jìn)行各底層硬件的初始化操作,然后根據(jù)接收到的按鍵命令進(jìn)行相應(yīng)的操作。
在硬件設(shè)計(jì)中,將單片機(jī)的 PD4 與藍(lán)牙模塊的鏈接狀態(tài)端口相連,PD7 口與藍(lán)牙模塊的 RESET 引腳相連 。
處于工業(yè)現(xiàn)場的閥門電動裝置通常為一個陣列,此時正確完成藍(lán)牙節(jié)點(diǎn)的查詢以及鏈接是建立手持操作器與閥門電動裝置通信的關(guān)鍵。該過程由手持操作器 MCU 通過適配協(xié)議操作主藍(lán)牙模塊完成。
由于在工業(yè)現(xiàn)場可能有多臺閥門同時具有藍(lán)牙無線通信功能,手持操作器與閥門電動裝置的鏈接分為物理鏈接和邏輯鏈接。其中邏輯鏈接為物理鏈接的一個子集,只有在手持操作器與閥門電動裝置之間建立了物理鏈接,并且手持操作器接收到了確認(rèn)鏈接的指令后邏輯鏈接才建立。此時手持操作器進(jìn)入操作閥門電動裝置并同步顯示的狀態(tài)。閥門電動裝置只能被動地接收手持操作器的搜索和鏈接,其上層程序在處理鏈接狀態(tài)時給出提示用于操作者判斷藍(lán)牙網(wǎng)絡(luò)的鏈接狀態(tài)。
數(shù)據(jù)交換功能:手持操作器采用查詢應(yīng)答的方式采集閥門電動裝置的實(shí)時狀態(tài)。每隔 100ms,手持操作器就會發(fā)出 1 次查詢指令,閥門電動裝置將當(dāng)前狀態(tài)打包為 1 幀 6 字符的數(shù)據(jù)上傳給手持操作器。由于所傳輸?shù)臄?shù)據(jù)不會包含 0xff 和 0xfe,可以將其作為 1 幀數(shù)據(jù)的起始和結(jié)束標(biāo)志。
手持操作器通過同樣的數(shù)據(jù)格式去除掉起始標(biāo)志和結(jié)束標(biāo)志解析出一幀數(shù)據(jù),并同步顯示閥門電動裝置狀態(tài)。在手持操作器和閥門電動裝置進(jìn)入閥門參數(shù)的同步設(shè)置狀態(tài)時,數(shù)據(jù)幀長度不固定,按照書前顯示頁面所需的信息進(jìn)行數(shù)據(jù)交換。鏈接斷開提示:當(dāng)由于外界于擾或距離增加導(dǎo)致手持操作器和閥門電動裝置之間鏈接斷開時,手持操作器給出鏈接斷開提示,閥門電動裝置則跳出藍(lán)牙無線操作狀態(tài),恢復(fù)到本地操作模式。
針對將藍(lán)牙無線技術(shù)引入閥門電動裝置中的實(shí)際工程需求,本文分析了其可行性,并且實(shí)現(xiàn)了實(shí)際軟硬件系統(tǒng),對工業(yè)現(xiàn)場的無線技術(shù)應(yīng)用有一定參考價值。