李翔宇,馬夕然,葉奕風(fēng)
(1. 天津工業(yè)大學(xué) 計算機科學(xué)與軟件學(xué)院,天津 300387;2. 天津工業(yè)大學(xué) 電子信息與工程學(xué)院,天津 300387;3. 天津工業(yè)大學(xué) 機械學(xué)院,天津 300387)
近幾年來,隨著物聯(lián)網(wǎng)的不斷發(fā)展,多種新興科學(xué)技術(shù)也開始得到了應(yīng)用。在物聯(lián)網(wǎng)領(lǐng)域中,由于藍牙技術(shù)的不斷成熟,使其得到更多的應(yīng)用擁有更重要的作用。本部分主要介紹基于單片機的家長端與孩子端藍牙互聯(lián)。本文基本用STC89C52RC這種型號的單片機作為主要控制端,在大概規(guī)定距離內(nèi),因藍牙模塊的無線互聯(lián)使得設(shè)備的小燈閃耀,當(dāng)距離過遠,通過蜂鳴器報警,兩個單片機通過內(nèi)部程序?qū)崿F(xiàn)實時連接和斷開,從而完成家長端和孩子端的互聯(lián)。
首先,距離大約20米內(nèi),HC-05主從機一體藍牙模塊互聯(lián),信號通過無線傳送到另一HC-05藍牙上,經(jīng)該單片機處理后紅色LED燈閃爍。超過大約20米距離,HC-05主從機一體藍牙模塊信號中斷,再經(jīng)該單片機處理,實現(xiàn)兩蜂鳴器報警,同時紅色LED燈常亮。
當(dāng)藍牙模塊距離較近,互相接收到藍牙信號時,燈會一直閃爍,此時蜂鳴器不會報警。反而距離過遠,使得信號中斷,會引起兩端的蜂鳴器同時進行報警。為了取消報警,縮短兩設(shè)備的距離,這時候自動恢復(fù)紅燈閃爍且不報警的狀態(tài)。
圖2 系統(tǒng)組成框圖Fig.2 System block diagram
當(dāng)佩戴好設(shè)備的同時,可以自動檢測到藍牙的連接情況,給出相應(yīng)的提示,因此可明顯看到互連情況。這樣在便捷的情況下,使得設(shè)備提示達到最佳效果。下圖為設(shè)備工作流程圖。
圖3 工作流程圖Fig.3 work flow chart
硬件電路有最主要的單片機最小系統(tǒng);外圍電路有 HC05藍牙模塊,蜂鳴器模塊以及電源。其中蜂鳴器和LED燈,分別起到報警和提示作用。如圖為總體電路圖。
主要包括STC89C52RC芯片、復(fù)位模塊和晶振模塊。最小系統(tǒng)電路原理圖如圖5所示。
STC89C52RC是STC的低功耗,高性能CMOS 8位微控制器,具有 8K字節(jié)的系統(tǒng)可編程閃存。STC89C52在采用 MCS-51內(nèi)核的同時做出了很多方面的改進,使得芯片具有傳統(tǒng)的51微控制器不具備的功能。在單芯片上,采用智能8位CPU和可編程閃存系統(tǒng),使STC89C52可為許多嵌入式控制應(yīng)用提供高度靈活,超高效的解決方案。指令代碼完全兼容于傳統(tǒng)的8051微控制器,可以任選12個時鐘/機器周期和6個時鐘/機器周期。
圖4 總體電路圖Fig.4 Overall circuit diagram
該控制器主要特點如下,第一,采用增強型8051單片機;第二,可在6個時鐘/機器周期和12個時鐘/機器兩個周期中任意選擇,且指令代碼和傳統(tǒng)8051相同;第三,工作電壓為5.5V~3.3 V(5 V微控制器)/3.8 V~2.0 V(3 V微控制器);第四,工作頻率范圍為 0~40 MHz,相當(dāng)于普通 8051 0~80MHz的一半,且實際工作頻率高達48MHz。用戶應(yīng)用程序空間為8 K字節(jié),片內(nèi)集成512字節(jié)RAM。通用端口為I/O端口,復(fù)位后為P1/P2/P3/P4準(zhǔn)雙向拉出,端口0為漏極開路輸出,作為總線擴展,因為 I/O口需要上拉電阻,所以此處無需上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用程序可編程)中,無需專業(yè)編程器和專用仿真器,通過串口(RxD/P3.0,TxD/P3.1)可直接下載用戶程序。具有看門狗功能的功能。也就是說,定時器T0,T1,T2。此外,下拉模式可通過外部中斷觸發(fā)低電平中斷模式。工作溫度范圍為-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)。
圖5 單片機最小系統(tǒng)電路Fig.5 Minimum system circuit of single chip microcomputer
系統(tǒng)的可靠性在一定程度上靠微控制器的復(fù)位電路來保證。復(fù)位的基本功能是在系統(tǒng)上實時提供復(fù)位信號,直到整個系統(tǒng)穩(wěn)定時,信號允許被撤銷。51單片機采用地是高電平復(fù)位,復(fù)位電平必須大于復(fù)位有效時兩個機器周期的持續(xù)時間,其具體值可以通過 RC電路時間常數(shù)計算。復(fù)位模式使用手動復(fù)位:如果在運行期間按下按鈕,電容器將放電,VCC通過復(fù)位引腳達到高電平狀態(tài),然后通過電阻器對電容器進行反向充電,保持一段時間的達到高電平的單片機復(fù)位,此段時間過后,復(fù)位引腳變?yōu)? V,微控制器進入正常工作狀態(tài)。
51微控制器包含反相放大器的高增益,并且外部XTAL1和XTAL2引腳跨越石英晶體和兩個微調(diào)電容器,構(gòu)成穩(wěn)定的自激振蕩器。其中,兩個電容器不僅可以穩(wěn)定頻率,還可以調(diào)節(jié)頻率的作用,通常在5~30 pF的范圍內(nèi)。要的,其作用是為系統(tǒng)提供基本的時鐘信號。一般來說,為了保持系統(tǒng)的每個部分的同步將共享一個晶體,并且在晶體的有序執(zhí)行的所有順序基于建立在晶體時鐘頻率中提供。微控制器的速度取決于時鐘頻率的速度(見圖2)
該模塊所使用的單片機的輸入引腳與模塊的串行數(shù)據(jù)輸入端連接,輸出引腳與對應(yīng)輸出端連接。這樣達到了程序數(shù)據(jù)的傳輸,使得藍牙信號可以根據(jù)程序設(shè)定進行互連或中斷。與此同時,藍牙模塊的其他兩個引腳state和en設(shè)置為懸空。
圖6 藍牙電路圖Fig.6 Bluetooth circuit diagram
為了實現(xiàn)設(shè)備最小化,可以對原有基礎(chǔ)上的主控端進行了改進,為節(jié)省空間使用更小芯片。圖 7為STC89C52RC-LQFP44芯片原理圖。
圖7 單片機芯片原理圖Fig.7 The principle diagram of single chip
由于更改上一款的直插式芯片,將該芯片變成貼片式,從而可以實現(xiàn)模塊縮小,同時也便于操作和提高效率。
下載程序之前,在電腦上安裝 USB轉(zhuǎn)串口CH340驅(qū)動,然后安裝對應(yīng)單片機的燒錄工具,本次安裝的程序下載軟件是 stc-isp-15xx-v6.85H自動下載,可以通過此軟件將寫好的程序下載到STC89C52RC芯片中。
軟件設(shè)計的主要內(nèi)容是:判斷藍牙是否接收到數(shù)據(jù),接收到信號控制LED燈閃爍,距離過遠接收不到信號,蜂鳴器響LED燈常亮。首先對串口進行初始化,定時器初始化,串口發(fā)送字符串,接著等待中斷,當(dāng)產(chǎn)生中斷時進入串口中斷服務(wù)程序,然后對蜂鳴器和LED進行控制。
在這一階段,要首先完成微控制器的初始化,該階段包括每個端口的定義、功能聲明、變量定義和宏定義,然后要進行單片機的串口初始化,包括定時器工作模式選擇、串口工作模式選擇、波特率設(shè)置、開放串行中斷等。當(dāng)系統(tǒng)產(chǎn)生中斷時,進入串行中斷服務(wù)程序,中斷程序包含例如控制功能等諸多功能。最后在各種功能的實現(xiàn)的基礎(chǔ)上控制LED燈顯示和蜂鳴器。
系統(tǒng)主程序工作流程如圖8所示。
圖8 主程序流程圖Fig.8 Main program flow chart
通過對模塊的多次重復(fù)實驗可知,手環(huán)發(fā)出警報距離主要分布在20米-30米左右,結(jié)束警報距離主要分布在10米-20米左右,結(jié)束警報距離遠小于發(fā)出警報距離,使孩子只有在離家長更近的位置,即基本能觀測到孩子的地方時,才結(jié)束蜂鳴,符合家長心理預(yù)期。
本文對配合商場互聯(lián)網(wǎng)報警系統(tǒng)進行工作的家長端和孩子端手環(huán)的藍牙部分進行了從總體方案到硬件、軟件等幾方面的設(shè)計。除此之外,也對該模塊的各種測試結(jié)果進行了簡單說明。從最后的各項測試結(jié)果上顯示,該手環(huán)藍牙模塊的設(shè)計從總體上基本達到了預(yù)期設(shè)計要求。
圖9 警報距離統(tǒng)計圖Fig.9 Alarm distance statistics chart
實驗的30個數(shù)據(jù)如下:如今的藍牙技術(shù)尚且處于發(fā)展階段,各項技術(shù)水平還有相當(dāng)大的改善空間。該智能手環(huán)藍牙模塊的設(shè)計僅是在當(dāng)前所有的特定條件下。相信在未來隨著藍牙技術(shù)的提升,本部分的開發(fā)環(huán)境也將會得到顯著改善,而在大幅優(yōu)化開發(fā)環(huán)境后的成果也終將可以更好地實現(xiàn)本設(shè)計的初衷。
表1 警報具體統(tǒng)計表Tab.1 Alarm distance statistics table 單位:米
[1] 譚振興. 基于BLE技術(shù)的智能防丟器設(shè)計與實現(xiàn)[D]. 山東:山東大學(xué)信息科學(xué)與工程學(xué)院, 2015.
[2] 李立鵬, 田園, 董志祥, 周楠, 吳林麗. 基于MCU的物流狀態(tài)監(jiān)測裝置的研究與設(shè)計[J]. 天津科技, 2017(2): 62-63.
[3] 鄒春宇, 張仁永, 陳敬穆. 基于STM32L152V8的預(yù)警手環(huán)設(shè)計[J]. 電子世界, 2017(9): 82-83.
[4] 楊婷, 黃韜, 謝亮. 基于STM32微控制器的智能手環(huán)的設(shè)計[J]. 科技廣場, 2016(8): 190-192.
[5] 張群, 楊絮, 張正言, 陸起涌. 藍牙模塊串口通信的設(shè)計與實現(xiàn)[J]. 實驗室研究與探索, 2012, 31(03): 79-82.
[6] 楊悅, 劉超, 陳永泰. 藍牙技術(shù)及其原理[J]. 電信快報,2002(02): 17-20.
[7] 黎卓芳. 藍牙技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用研究[J]. 現(xiàn)代電信科技, 2012, 42(12): 61-66.
[8] 盧少軍. 基于可穿戴設(shè)備和物聯(lián)網(wǎng)技術(shù)的獨居老人監(jiān)護系統(tǒng)的設(shè)計與實現(xiàn)[D]. 華中師范大學(xué), 2016.
[9] 焦凱. 基于藍牙技術(shù)的無線局域網(wǎng)系統(tǒng)的研究與實現(xiàn)[D].南京理工大學(xué), 2005.
[10] 蕭暐, 楊濤. 藍牙核心技術(shù)[J]. 電信科學(xué), 2001(01):18-22.