王仕元,楊曉明
(中原工學院,河南 鄭州 450007)
在當今社會丟失兒童、寵物的事件屢見不鮮,隨身重要物品遺失的情況更是層出不窮,這些都對人們的正常生活、工作造成了不同程度的影響。為有效防范類似事件的發生,設計一款便捷有效的防丟器勢在必行。藍牙技術以其自身的特點在防丟器設計領域受到青睞,它是一種短距離無線通訊技術,具有兼容性強、功耗低、傳輸速率高、響應迅速、安全穩定性好等優點。本防丟器的設計利用藍牙技術中的RSSI技術(Received Signal Strength Indicator,通過接收到的信號強弱來測定信號點與接收點的距離,進而根據相應數據進行定位計算的一種定位技術),以CC2540BLE芯片實現核心構架。
本防丟器以藍牙4.0低功耗芯片CC2540BLE為核心,輔以外圍設備來實現防丟功能。在硬件結構中設置一個主機模塊(擁有者隨身攜帶)和一個從機模塊(防止丟失的兒童、寵物或隨身攜帶物品攜帶)。要求從機離開主機一定距離后,從機和主機報警,實現防丟功能。在軟件邏輯判斷中,由于兩個CC2540BLE芯片間可實時獲取RSSI(信號強度指示)信號,以此RSSI信號的強弱推算兩個CC2540BLE芯片間的距離,進而判定從機與主機的距離是否大于設定值,如大于設定值則防丟器發出報警控制信號,達到防丟效果。
防丟器主機硬件包括按鍵模塊、復位模塊、電源模塊、CC2540模塊、LED燈和蜂鳴器模塊。主機硬件組成如圖1所示。
各模塊功能如下:①按鍵模塊:通過按鍵對CC2540模塊進行操作,關閉主機的報警;②復位模塊:使器件恢復到初始狀態;③電源模塊:由電池和穩壓芯片AMS1117-3.3 V組成,為整個電路提供電能,供電電壓為3.3 V;④CC2540模塊:進行主機和從機之間的無線連接并根據這兩塊芯片的RSSI值做出相應的處理,是整個電路的處理器;⑤蜂鳴器:聲音報警;⑥LED燈:光報警。

圖1 主機硬件組成圖
防丟器從機硬件包括復位模塊、電源模塊、CC2540模塊、LED燈和蜂鳴器模塊。從機硬件組成如圖2所示。各模塊功能與主機相同。

圖2 從機硬件組成圖
1.3.1 電源模塊的選擇
依據系統框架選擇電源模塊。系統框架的主要用電器件為CC2540模塊,因此電源模塊的選擇主要視CC2540而定。CC2540工作電壓為2 V~3.6 V,故選擇壓降較小、標準輸出電壓為3.3 V的AMS1117-3.3 V穩壓芯片作為電源模塊。
1.3.2 報警器的選擇
為便于及時發現警報、方便尋找遺失人或物,報警方式采用聲報警和光報警。出于低功耗、低成本的考慮,在能夠完成聲光報警任務的前提下,確定選用蜂鳴器作為聲音報警模塊的核心,選用LED燈作為光報警模塊的核心。
以最小系統板為母板,將CC2540全部GPIO通過兩個12P 1.27間距的排針引出。最小系統板由CC2540F256主芯片、32 MHz金屬殼晶振、32.768 kHz晶振、PCB天線、SMA外接天線座、天線選擇跳線電阻、1.27間距排針和村田電容電感等組成。此模塊中的PCB天線充當此系統信號的接收和發射天線,32 MHz金屬殼晶振為整個系統提供時鐘信號,32.768 kHz晶振充當系統處于睡眠狀態的時鐘信號。模塊引腳如圖3所示。

圖3 CC2540BLE模塊引腳圖
電源電路采用AMS1117-3.3 V穩壓芯片和3節5號電池相結合的模式。電路中設置一個LED燈作為電源指示燈;為減小輸入電壓波動幅度,在電源電路輸入端設置一個電容C2;為提高AMS1117-3.3 V供電質量,在其輸出端同樣增設一個電容C3。電源電路圖如圖4所示。

圖4 電源電路圖
復位電路由上電復位電路和手動復位電路組成,電路圖如圖5所示。
上電復位電路的工作流程為:VCC電源接通時電容C1需經歷一個充電過程,在此過程中RESET端會維持一段時間的低電平,起到低電平復位信號的作用;隨著VCC電源向C1充電,C1兩端的電壓增大,一段時間后RESET端變為高電平,上電復位結束。

圖5 復位電路圖
手動復位電路的工作流程為:在VCC電源作用下,當按鍵S1按下時,電容C1被短路放電,RESET端呈低電平狀態,松開按鍵S1后,RESET端低電平狀態會維持一段時間,起到低電平復位信號的作用;隨著VCC電源對C1充電,C1的端電壓差增大,一段時間后RESET端再次變為高電平,手動復位結束。
聲報警電路由一個揚聲器與一個NPN型三極管共同構成。三極管將報警信號放大,使蜂鳴器在低電壓下也能產生很強的報警信號。
光報警電路由一個LED燈與一個電阻串聯構成。電路以高電平點亮LED燈,電阻起到限流作用,避免輸出電流過大燒壞LED燈。
按鍵電路僅在主機電路中存在,電路主要由按鍵、電阻組成。按鍵未按下時,相對應的引腳處于低電平狀態;按鍵按下時,使引腳處于高電平狀態,引腳高電平有效。主機以引腳的電平判斷按鍵是否按下。
該防丟器的軟件是基于TI公司CC2540芯片的BLE協議棧進行二次開發的。TI公司為 CC2540提供BLE協議棧,CC2540可以單芯片實現 BLE 藍牙協議棧的所有組件,開發人員通過協議棧來使用協議,在主機和從機提供的原始程序基礎上進行應用程序二次開發[1-4]。
主機程序流程如圖6所示。主機程序的任務:對從機所發出的廣播信號進行掃描,獲取從機信息,然后向從機發出連接請求,從機接收到主機發出的連接請求后建立連接;連接成功后,主機獲取主機與從機之間的信號強度指示值(RSSI), 并與RSSI設定值進行比較,當RSSI值大于設定值時,向主機的報警電路發出信號,并通過主機的CHAR向從機的報警電路發出信號(CHAR值為1),這時主機、從機均處于報警狀態;當RSSI值不大于設定值時,不產生報警信號(CHAR值為0)。這里報警信號包括聲報警信號和光報警信號。
長按按鍵模塊可解除主機的報警信號,此時僅從機處于報警狀態,可根據聲、光報警信號迅速確定從機位置。

圖6 主機程序流程圖
從機程序流程如圖7所示。從機開機后先進行初始化,然后向主機發出廣播信號,等待主機的連接信號;若主機未發出連接信號,從機將一直處于廣播狀態并等待主機發送連接信號,當收到主機的連接信號后建立連接;之后從機處于等待主機發送CHAR值的狀態,從機通過所獲得的CHAR值來判斷是否產生報警信號。從機未設置按鍵模塊,其報警信號的解除只能通過主機的CHAR值來完成。防丟器功能的實現需要主機和從機共同完成,因此兩者建立連接是整個功能實現的基礎。

圖7 從機程序流程圖
經過軟件和硬件的調試、整改和優化,目前防丟器在試驗室運行良好。
通過合理設計,將CC2540芯片及其外圍電路有機地結合成為一個整體,通過對BLE藍牙協議棧的二次開發,達到了設計本防丟器目的,充分體現了其使用便捷、功耗低、安全穩定、響應迅速的特點。
參考文獻:
[1] 韓江洪,段玲琳,張建軍,等.嵌入式信息家電系統中藍牙子系統的研究與開發[J].系統仿真學報,2004,16(12):2825-2827.
[2] 林挺.藍牙核心協議棧的研究[D].北京:北京交通大學,2006 :28-57.
[3] 徐金茍.低能耗藍牙4.0協議原理與實現方法[J].微型電腦應用, 2012 ,28(10):16-19.
[4] 金純.超低功耗(ULP)藍牙技術規范解析[M].北京:國防工業出版社,2010.