1 藍(lán)牙協(xié)議棧實(shí)現(xiàn)形式
藍(lán)牙協(xié)議規(guī)范遵循開(kāi)放系統(tǒng)互聯(lián) OSI(Open System Interconnection)模型。
藍(lán)牙協(xié)議棧按照封裝方式有 3 種不同的實(shí)現(xiàn)模型——寄居式、嵌入式和完全嵌入式,分別針對(duì)具有不同功能和資源的產(chǎn)品。
對(duì)于嵌入式模型,藍(lán)牙協(xié)議棧位于藍(lán)牙模塊中,應(yīng)用程序單獨(dú)運(yùn)行在主機(jī)上,通過(guò)適配協(xié)議與藍(lán)牙模塊通信。嵌入式模型無(wú)需主機(jī)處理藍(lán)牙上層協(xié)議,減少了主機(jī)的軟件負(fù)荷和代碼長(zhǎng)度,降低了開(kāi)發(fā)難度,對(duì)于內(nèi)存有限的設(shè)備是不錯(cuò)的選擇。本設(shè)計(jì)在藍(lán)牙協(xié)議棧實(shí)現(xiàn)形式上選用了嵌入式模型,通過(guò)使用南京國(guó)春電子技術(shù)有限公司的 KC02 藍(lán)牙模塊,保證通信可靠性并減少了 CPU 的代碼量。
圖片來(lái)源網(wǎng)址:http://www.bannige.cn/
2 藍(lán)牙應(yīng)用系統(tǒng)設(shè)計(jì)
在工業(yè)現(xiàn)場(chǎng)使用藍(lán)牙無(wú)線通信,其系統(tǒng)的硬件設(shè)計(jì)分為閥門(mén)電動(dòng)裝置和手持操作器兩部分。
2.1 閥門(mén)電動(dòng)裝置
閥門(mén)電動(dòng)裝置實(shí)現(xiàn)閥門(mén)本體的控制功能。以 LPC2292 為核心構(gòu)建整個(gè)嵌入式系統(tǒng),藍(lán)牙模塊采用工業(yè)級(jí) KC02 模塊。
LPC2292 是 NXP 公司基于 ARM7TDMI-S 的一款高性能工業(yè)級(jí)微處理器。其處理器內(nèi)核為 32 位 RISC 體系結(jié)構(gòu),具有高密度的 16 位指令集及極低的功耗。
KC02 藍(lán)牙模塊是可進(jìn)行數(shù)據(jù)交換和語(yǔ)音通信的藍(lán)牙通信模塊。其體積小,外形尺寸長(zhǎng)為 17.8mm,寬為 15.2mm;工作電壓為 3.3V,擁有 UART、SPI 和 USB 串行接口,在本設(shè)計(jì)中使用處理器的 UART 與藍(lán)牙模塊相連。
2.2 手持操作器
手持操作器的功能為搜索從藍(lán)牙,并在主從藍(lán)牙建立鏈接之后,操作閥門(mén)電動(dòng)裝置,并同步顯示閥門(mén)電動(dòng)裝置屏幕內(nèi)容。其系統(tǒng)結(jié)構(gòu)以 8 位 AVR 單片機(jī) ATmega128L 為核心,包括按鍵、液晶顯示屏、主藍(lán)牙模塊和電源處理 4 個(gè)部分。KC02 主藍(lán)牙模塊通過(guò)串口與單片機(jī)相連。手持操作器使用電池,通過(guò)電源轉(zhuǎn)換芯片 AMSI1117 穩(wěn)壓后給整個(gè)嵌入式系統(tǒng)供電。
2.3 手持操作器軟件流程
手持操作器復(fù)位后首先進(jìn)行各底層硬件的初始化操作,然后根據(jù)接收到的按鍵命令進(jìn)行相應(yīng)的操作。
在硬件設(shè)計(jì)中,將單片機(jī)的 PD4 與藍(lán)牙模塊的鏈接狀態(tài)端口相連,PD7 口與藍(lán)牙模塊的 RESET 引腳相連 。