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 引腳相連 。
3 藍(lán)牙節(jié)點(diǎn)鏈接過(guò)程
處于工業(yè)現(xiàn)場(chǎng)的閥門(mén)電動(dòng)裝置通常為一個(gè)陣列,此時(shí)正確完成藍(lán)牙節(jié)點(diǎn)的查詢(xún)以及鏈接是建立手持操作器與閥門(mén)電動(dòng)裝置通信的關(guān)鍵。該過(guò)程由手持操作器 MCU 通過(guò)適配協(xié)議操作主藍(lán)牙模塊完成。
由于在工業(yè)現(xiàn)場(chǎng)可能有多臺(tái)閥門(mén)同時(shí)具有藍(lán)牙無(wú)線通信功能,手持操作器與閥門(mén)電動(dòng)裝置的鏈接分為物理鏈接和邏輯鏈接。其中邏輯鏈接為物理鏈接的一個(gè)子集,只有在手持操作器與閥門(mén)電動(dòng)裝置之間建立了物理鏈接,并且手持操作器接收到了確認(rèn)鏈接的指令后邏輯鏈接才建立。此時(shí)手持操作器進(jìn)入操作閥門(mén)電動(dòng)裝置并同步顯示的狀態(tài)。閥門(mén)電動(dòng)裝置只能被動(dòng)地接收手持操作器的搜索和鏈接,其上層程序在處理鏈接狀態(tài)時(shí)給出提示用于操作者判斷藍(lán)牙網(wǎng)絡(luò)的鏈接狀態(tài)。
4 系統(tǒng)功能
數(shù)據(jù)交換功能:手持操作器采用查詢(xún)應(yīng)答的方式采集閥門(mén)電動(dòng)裝置的實(shí)時(shí)狀態(tài)。每隔 100ms,手持操作器就會(huì)發(fā)出 1 次查詢(xún)指令,閥門(mén)電動(dòng)裝置將當(dāng)前狀態(tài)打包為 1 幀 6 字符的數(shù)據(jù)上傳給手持操作器。由于所傳輸?shù)臄?shù)據(jù)不會(huì)包含 0xff 和 0xfe,可以將其作為 1 幀數(shù)據(jù)的起始和結(jié)束標(biāo)志。