技術(shù)文章
閥門(mén)電動(dòng)裝置中將應(yīng)用藍(lán)牙技術(shù)
閱讀:1419 發(fā)布時(shí)間:2014-12-29
1藍(lán)牙協(xié)議棧實(shí)現(xiàn)形式
藍(lán)牙協(xié)議規(guī)范遵循開(kāi)放系統(tǒng)互聯(lián)OSI(OpenSystemInterconnection)模型。
藍(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的代碼量。
2藍(lán)牙應(yīng)用系統(tǒng)設(shè)計(jì)
在工業(yè)現(xiàn)場(chǎng)使用藍(lán)牙無(wú)線(xiàn)通信,其系統(tǒng)的硬件設(shè)計(jì)分為閥門(mén)電動(dòng)裝置和手持操作器兩部分。
2.1閥門(mén)電動(dòng)裝置
閥門(mén)電動(dòng)裝置實(shí)現(xiàn)閥門(mén)本體的控制功能。以L(fǎng)PC2292為核心構(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ù)接收到的按鍵命令進(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ú)線(xiàn)通信功能,手持操作器與閥門(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)志。
手持操作器通過(guò)同樣的數(shù)據(jù)格式去除掉起始標(biāo)志和結(jié)束標(biāo)志解析出一幀數(shù)據(jù),并同步顯示閥門(mén)電動(dòng)裝置狀態(tài)。在手持操作器和閥門(mén)電動(dòng)裝置進(jìn)入閥門(mén)參數(shù)的同步設(shè)置狀態(tài)時(shí),數(shù)據(jù)幀長(zhǎng)度不固定,按照書(shū)前顯示頁(yè)面所需的信息進(jìn)行數(shù)據(jù)交換。鏈接斷開(kāi)提示:當(dāng)由于外界于擾或距離增加導(dǎo)致手持操作器和閥門(mén)電動(dòng)裝置之間鏈接斷開(kāi)時(shí),手持操作器給出鏈接斷開(kāi)提示,閥門(mén)電動(dòng)裝置則跳出藍(lán)牙無(wú)線(xiàn)操作狀態(tài),恢復(fù)到本地操作模式。
結(jié)語(yǔ)
針對(duì)將藍(lán)牙無(wú)線(xiàn)技術(shù)引入閥門(mén)電動(dòng)裝置中的實(shí)際工程需求,三精閥門(mén)分析了其可行性,并且實(shí)現(xiàn)了實(shí)際軟硬件系統(tǒng),對(duì)工業(yè)現(xiàn)場(chǎng)的無(wú)線(xiàn)技術(shù)應(yīng)用有一定參考價(jià)值。
藍(lán)牙協(xié)議規(guī)范遵循開(kāi)放系統(tǒng)互聯(lián)OSI(OpenSystemInterconnection)模型。
藍(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的代碼量。
2藍(lán)牙應(yīng)用系統(tǒng)設(shè)計(jì)
在工業(yè)現(xiàn)場(chǎng)使用藍(lán)牙無(wú)線(xiàn)通信,其系統(tǒng)的硬件設(shè)計(jì)分為閥門(mén)電動(dòng)裝置和手持操作器兩部分。
2.1閥門(mén)電動(dòng)裝置
閥門(mén)電動(dòng)裝置實(shí)現(xiàn)閥門(mén)本體的控制功能。以L(fǎng)PC2292為核心構(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ù)接收到的按鍵命令進(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ú)線(xiàn)通信功能,手持操作器與閥門(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)志。
手持操作器通過(guò)同樣的數(shù)據(jù)格式去除掉起始標(biāo)志和結(jié)束標(biāo)志解析出一幀數(shù)據(jù),并同步顯示閥門(mén)電動(dòng)裝置狀態(tài)。在手持操作器和閥門(mén)電動(dòng)裝置進(jìn)入閥門(mén)參數(shù)的同步設(shè)置狀態(tài)時(shí),數(shù)據(jù)幀長(zhǎng)度不固定,按照書(shū)前顯示頁(yè)面所需的信息進(jìn)行數(shù)據(jù)交換。鏈接斷開(kāi)提示:當(dāng)由于外界于擾或距離增加導(dǎo)致手持操作器和閥門(mén)電動(dòng)裝置之間鏈接斷開(kāi)時(shí),手持操作器給出鏈接斷開(kāi)提示,閥門(mén)電動(dòng)裝置則跳出藍(lán)牙無(wú)線(xiàn)操作狀態(tài),恢復(fù)到本地操作模式。
結(jié)語(yǔ)
針對(duì)將藍(lán)牙無(wú)線(xiàn)技術(shù)引入閥門(mén)電動(dòng)裝置中的實(shí)際工程需求,三精閥門(mén)分析了其可行性,并且實(shí)現(xiàn)了實(shí)際軟硬件系統(tǒng),對(duì)工業(yè)現(xiàn)場(chǎng)的無(wú)線(xiàn)技術(shù)應(yīng)用有一定參考價(jià)值。