王仕元,楊曉明
(中原工學(xué)院,河南 鄭州 450007)
在當(dāng)今社會(huì)丟失兒童、寵物的事件屢見(jiàn)不鮮,隨身重要物品遺失的情況更是層出不窮,這些都對(duì)人們的正常生活、工作造成了不同程度的影響。為有效防范類似事件的發(fā)生,設(shè)計(jì)一款便捷有效的防丟器勢(shì)在必行。藍(lán)牙技術(shù)以其自身的特點(diǎn)在防丟器設(shè)計(jì)領(lǐng)域受到青睞,它是一種短距離無(wú)線通訊技術(shù),具有兼容性強(qiáng)、功耗低、傳輸速率高、響應(yīng)迅速、安全穩(wěn)定性好等優(yōu)點(diǎn)。本防丟器的設(shè)計(jì)利用藍(lán)牙技術(shù)中的RSSI技術(shù)(Received Signal Strength Indicator,通過(guò)接收到的信號(hào)強(qiáng)弱來(lái)測(cè)定信號(hào)點(diǎn)與接收點(diǎn)的距離,進(jìn)而根據(jù)相應(yīng)數(shù)據(jù)進(jìn)行定位計(jì)算的一種定位技術(shù)),以CC2540BLE芯片實(shí)現(xiàn)核心構(gòu)架。
本防丟器以藍(lán)牙4.0低功耗芯片CC2540BLE為核心,輔以外圍設(shè)備來(lái)實(shí)現(xiàn)防丟功能。在硬件結(jié)構(gòu)中設(shè)置一個(gè)主機(jī)模塊(擁有者隨身攜帶)和一個(gè)從機(jī)模塊(防止丟失的兒童、寵物或隨身攜帶物品攜帶)。要求從機(jī)離開(kāi)主機(jī)一定距離后,從機(jī)和主機(jī)報(bào)警,實(shí)現(xiàn)防丟功能。在軟件邏輯判斷中,由于兩個(gè)CC2540BLE芯片間可實(shí)時(shí)獲取RSSI(信號(hào)強(qiáng)度指示)信號(hào),以此RSSI信號(hào)的強(qiáng)弱推算兩個(gè)CC2540BLE芯片間的距離,進(jìn)而判定從機(jī)與主機(jī)的距離是否大于設(shè)定值,如大于設(shè)定值則防丟器發(fā)出報(bào)警控制信號(hào),達(dá)到防丟效果。
防丟器主機(jī)硬件包括按鍵模塊、復(fù)位模塊、電源模塊、CC2540模塊、LED燈和蜂鳴器模塊。主機(jī)硬件組成如圖1所示。
各模塊功能如下:①按鍵模塊:通過(guò)按鍵對(duì)CC2540模塊進(jìn)行操作,關(guān)閉主機(jī)的報(bào)警;②復(fù)位模塊:使器件恢復(fù)到初始狀態(tài);③電源模塊:由電池和穩(wěn)壓芯片AMS1117-3.3 V組成,為整個(gè)電路提供電能,供電電壓為3.3 V;④CC2540模塊:進(jìn)行主機(jī)和從機(jī)之間的無(wú)線連接并根據(jù)這兩塊芯片的RSSI值做出相應(yīng)的處理,是整個(gè)電路的處理器;⑤蜂鳴器:聲音報(bào)警;⑥LED燈:光報(bào)警。
圖1 主機(jī)硬件組成圖
防丟器從機(jī)硬件包括復(fù)位模塊、電源模塊、CC2540模塊、LED燈和蜂鳴器模塊。從機(jī)硬件組成如圖2所示。各模塊功能與主機(jī)相同。
圖2 從機(jī)硬件組成圖
1.3.1 電源模塊的選擇
依據(jù)系統(tǒng)框架選擇電源模塊。系統(tǒng)框架的主要用電器件為CC2540模塊,因此電源模塊的選擇主要視CC2540而定。CC2540工作電壓為2 V~3.6 V,故選擇壓降較小、標(biāo)準(zhǔn)輸出電壓為3.3 V的AMS1117-3.3 V穩(wěn)壓芯片作為電源模塊。
1.3.2 報(bào)警器的選擇
為便于及時(shí)發(fā)現(xiàn)警報(bào)、方便尋找遺失人或物,報(bào)警方式采用聲報(bào)警和光報(bào)警。出于低功耗、低成本的考慮,在能夠完成聲光報(bào)警任務(wù)的前提下,確定選用蜂鳴器作為聲音報(bào)警模塊的核心,選用LED燈作為光報(bào)警模塊的核心。
以最小系統(tǒng)板為母板,將CC2540全部GPIO通過(guò)兩個(gè)12P 1.27間距的排針引出。最小系統(tǒng)板由CC2540F256主芯片、32 MHz金屬殼晶振、32.768 kHz晶振、PCB天線、SMA外接天線座、天線選擇跳線電阻、1.27間距排針和村田電容電感等組成。此模塊中的PCB天線充當(dāng)此系統(tǒng)信號(hào)的接收和發(fā)射天線,32 MHz金屬殼晶振為整個(gè)系統(tǒng)提供時(shí)鐘信號(hào),32.768 kHz晶振充當(dāng)系統(tǒng)處于睡眠狀態(tài)的時(shí)鐘信號(hào)。模塊引腳如圖3所示。
圖3 CC2540BLE模塊引腳圖
電源電路采用AMS1117-3.3 V穩(wěn)壓芯片和3節(jié)5號(hào)電池相結(jié)合的模式。電路中設(shè)置一個(gè)LED燈作為電源指示燈;為減小輸入電壓波動(dòng)幅度,在電源電路輸入端設(shè)置一個(gè)電容C2;為提高AMS1117-3.3 V供電質(zhì)量,在其輸出端同樣增設(shè)一個(gè)電容C3。電源電路圖如圖4所示。
圖4 電源電路圖
復(fù)位電路由上電復(fù)位電路和手動(dòng)復(fù)位電路組成,電路圖如圖5所示。
上電復(fù)位電路的工作流程為:VCC電源接通時(shí)電容C1需經(jīng)歷一個(gè)充電過(guò)程,在此過(guò)程中RESET端會(huì)維持一段時(shí)間的低電平,起到低電平復(fù)位信號(hào)的作用;隨著VCC電源向C1充電,C1兩端的電壓增大,一段時(shí)間后RESET端變?yōu)楦唠娖?,上電?fù)位結(jié)束。
圖5 復(fù)位電路圖
手動(dòng)復(fù)位電路的工作流程為:在VCC電源作用下,當(dāng)按鍵S1按下時(shí),電容C1被短路放電,RESET端呈低電平狀態(tài),松開(kāi)按鍵S1后,RESET端低電平狀態(tài)會(huì)維持一段時(shí)間,起到低電平復(fù)位信號(hào)的作用;隨著VCC電源對(duì)C1充電,C1的端電壓差增大,一段時(shí)間后RESET端再次變?yōu)楦唠娖?,手?dòng)復(fù)位結(jié)束。
聲報(bào)警電路由一個(gè)揚(yáng)聲器與一個(gè)NPN型三極管共同構(gòu)成。三極管將報(bào)警信號(hào)放大,使蜂鳴器在低電壓下也能產(chǎn)生很強(qiáng)的報(bào)警信號(hào)。
光報(bào)警電路由一個(gè)LED燈與一個(gè)電阻串聯(lián)構(gòu)成。電路以高電平點(diǎn)亮LED燈,電阻起到限流作用,避免輸出電流過(guò)大燒壞LED燈。
按鍵電路僅在主機(jī)電路中存在,電路主要由按鍵、電阻組成。按鍵未按下時(shí),相對(duì)應(yīng)的引腳處于低電平狀態(tài);按鍵按下時(shí),使引腳處于高電平狀態(tài),引腳高電平有效。主機(jī)以引腳的電平判斷按鍵是否按下。
該防丟器的軟件是基于TI公司CC2540芯片的BLE協(xié)議棧進(jìn)行二次開(kāi)發(fā)的。TI公司為 CC2540提供BLE協(xié)議棧,CC2540可以單芯片實(shí)現(xiàn) BLE 藍(lán)牙協(xié)議棧的所有組件,開(kāi)發(fā)人員通過(guò)協(xié)議棧來(lái)使用協(xié)議,在主機(jī)和從機(jī)提供的原始程序基礎(chǔ)上進(jìn)行應(yīng)用程序二次開(kāi)發(fā)[1-4]。
主機(jī)程序流程如圖6所示。主機(jī)程序的任務(wù):對(duì)從機(jī)所發(fā)出的廣播信號(hào)進(jìn)行掃描,獲取從機(jī)信息,然后向從機(jī)發(fā)出連接請(qǐng)求,從機(jī)接收到主機(jī)發(fā)出的連接請(qǐng)求后建立連接;連接成功后,主機(jī)獲取主機(jī)與從機(jī)之間的信號(hào)強(qiáng)度指示值(RSSI), 并與RSSI設(shè)定值進(jìn)行比較,當(dāng)RSSI值大于設(shè)定值時(shí),向主機(jī)的報(bào)警電路發(fā)出信號(hào),并通過(guò)主機(jī)的CHAR向從機(jī)的報(bào)警電路發(fā)出信號(hào)(CHAR值為1),這時(shí)主機(jī)、從機(jī)均處于報(bào)警狀態(tài);當(dāng)RSSI值不大于設(shè)定值時(shí),不產(chǎn)生報(bào)警信號(hào)(CHAR值為0)。這里報(bào)警信號(hào)包括聲報(bào)警信號(hào)和光報(bào)警信號(hào)。
長(zhǎng)按按鍵模塊可解除主機(jī)的報(bào)警信號(hào),此時(shí)僅從機(jī)處于報(bào)警狀態(tài),可根據(jù)聲、光報(bào)警信號(hào)迅速確定從機(jī)位置。
圖6 主機(jī)程序流程圖
從機(jī)程序流程如圖7所示。從機(jī)開(kāi)機(jī)后先進(jìn)行初始化,然后向主機(jī)發(fā)出廣播信號(hào),等待主機(jī)的連接信號(hào);若主機(jī)未發(fā)出連接信號(hào),從機(jī)將一直處于廣播狀態(tài)并等待主機(jī)發(fā)送連接信號(hào),當(dāng)收到主機(jī)的連接信號(hào)后建立連接;之后從機(jī)處于等待主機(jī)發(fā)送CHAR值的狀態(tài),從機(jī)通過(guò)所獲得的CHAR值來(lái)判斷是否產(chǎn)生報(bào)警信號(hào)。從機(jī)未設(shè)置按鍵模塊,其報(bào)警信號(hào)的解除只能通過(guò)主機(jī)的CHAR值來(lái)完成。防丟器功能的實(shí)現(xiàn)需要主機(jī)和從機(jī)共同完成,因此兩者建立連接是整個(gè)功能實(shí)現(xiàn)的基礎(chǔ)。
圖7 從機(jī)程序流程圖
經(jīng)過(guò)軟件和硬件的調(diào)試、整改和優(yōu)化,目前防丟器在試驗(yàn)室運(yùn)行良好。
通過(guò)合理設(shè)計(jì),將CC2540芯片及其外圍電路有機(jī)地結(jié)合成為一個(gè)整體,通過(guò)對(duì)BLE藍(lán)牙協(xié)議棧的二次開(kāi)發(fā),達(dá)到了設(shè)計(jì)本防丟器目的,充分體現(xiàn)了其使用便捷、功耗低、安全穩(wěn)定、響應(yīng)迅速的特點(diǎn)。
參考文獻(xiàn):
[1] 韓江洪,段玲琳,張建軍,等.嵌入式信息家電系統(tǒng)中藍(lán)牙子系統(tǒng)的研究與開(kāi)發(fā)[J].系統(tǒng)仿真學(xué)報(bào),2004,16(12):2825-2827.
[2] 林挺.藍(lán)牙核心協(xié)議棧的研究[D].北京:北京交通大學(xué),2006 :28-57.
[3] 徐金茍.低能耗藍(lán)牙4.0協(xié)議原理與實(shí)現(xiàn)方法[J].微型電腦應(yīng)用, 2012 ,28(10):16-19.
[4] 金純.超低功耗(ULP)藍(lán)牙技術(shù)規(guī)范解析[M].北京:國(guó)防工業(yè)出版社,2010.