何楓 楊鳳年 何文德 黃浩嵐
【摘 要】設(shè)計(jì)了采用鋰電池供電的可穿戴計(jì)步器,以CC3200作為微控制器,將加速度傳感器ADXL345采集到的加速度值進(jìn)行處理得到用戶運(yùn)動(dòng)步數(shù),并在液晶屏上顯示實(shí)時(shí)時(shí)間、步數(shù)和運(yùn)動(dòng)時(shí)長,還可通過Wi-Fi將步數(shù)和運(yùn)動(dòng)時(shí)長上傳到指定的云平臺(tái)進(jìn)行統(tǒng)計(jì)分析。
【關(guān)鍵詞】計(jì)步器;CC3200;ADXL345
中圖分類號(hào): R197.39 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)03-0024-002
DOI:10.19694/j.cnki.issn2095-2457.2019.03.007
0 引言
隨著生活水平的不斷提高,人們對(duì)身體健康的關(guān)注程度也日益提高。散步是人們?nèi)粘I钪幸环N簡單且深受喜愛的運(yùn)動(dòng)方式,且不受場地器材的限制,是實(shí)施全民健身計(jì)劃綱要的有效措施[1];散步能促使血管彈性的增加,特別是腿的持續(xù)運(yùn)動(dòng),可促使更多的血液回到心臟,有利于改善血液循環(huán),提高心臟的工作效率。散步作為一項(xiàng)健身運(yùn)動(dòng),與其他運(yùn)動(dòng)一樣,對(duì)不同的群體有不同的運(yùn)動(dòng)量要求,要準(zhǔn)確掌握散步的運(yùn)動(dòng)量,必須有相應(yīng)的計(jì)量設(shè)備。
可穿戴計(jì)步器是方便有效的步行運(yùn)動(dòng)量計(jì)量設(shè)備,通過統(tǒng)計(jì)用戶行走步數(shù)、距離、速度、時(shí)長等數(shù)據(jù)來掌握其運(yùn)動(dòng)量,實(shí)現(xiàn)運(yùn)動(dòng)里程,能量消耗,心率測評(píng)等相關(guān)數(shù)據(jù)的監(jiān)測,有助于防止運(yùn)動(dòng)不足或是運(yùn)動(dòng)過量。若能將運(yùn)動(dòng)信息通過無線網(wǎng)絡(luò)發(fā)送到相應(yīng)的云平臺(tái),進(jìn)行運(yùn)動(dòng)信息的統(tǒng)計(jì)、分析,然后通過智能手機(jī)向用戶給出運(yùn)動(dòng)、飲食等方面的健康提示,將大大提高計(jì)步器的實(shí)用價(jià)值。因此,設(shè)計(jì)一款具備無線通信功能的可穿戴計(jì)步器,能更好地滿足人們對(duì)運(yùn)動(dòng)健康信息掌握的渴求。
1 總體方案設(shè)計(jì)
本計(jì)步器主要包含電源管理模塊、微控制器、加速度傳感器模塊、存儲(chǔ)器模塊、Wi-Fi模塊和液晶顯示器(LCD)模塊等。它通過微控制器采集三軸加速度傳感器獲取的加速度值,配合適當(dāng)?shù)挠?jì)步算法獲得用戶的運(yùn)動(dòng)步數(shù)和時(shí)長等信息,并在LCD上顯示當(dāng)天的運(yùn)動(dòng)信息和實(shí)時(shí)時(shí)間,且利用Wi-Fi將這些信息發(fā)送到指定的云平臺(tái)。此外,若微處理器內(nèi)部沒有集成用于存儲(chǔ)應(yīng)用程序的存儲(chǔ)器,系統(tǒng)就需要外接Flash來存儲(chǔ)應(yīng)用程序。系統(tǒng)主要功能模塊如圖1所示。
計(jì)步算法包括以下三部分:
運(yùn)動(dòng)曲線獲?。和ㄟ^計(jì)算三軸加速度傳感器的三個(gè)加速度的矢量長度,可以獲得步行者運(yùn)動(dòng)時(shí)類似正弦波的運(yùn)動(dòng)曲線。
峰值檢測:利用記錄的上次矢量長度和運(yùn)動(dòng)方向,通過矢量長度的變化,可以判斷目前加速度的方向,并和上一次保存的加速度方向進(jìn)行比較。如果是相反的,即是剛過峰值狀態(tài),則進(jìn)入計(jì)步邏輯進(jìn)行計(jì)步,否則舍棄。通過對(duì)峰值的次數(shù)累加,可得到用戶行走的步數(shù)。
去干擾:人體最快的跑步頻率為5HZ,即相鄰兩步的時(shí)間間隔的至少大于0.2秒。手持設(shè)備會(huì)有一些低幅度和快速的抽動(dòng)狀態(tài),俗稱手抖,或者某個(gè)惡作劇用戶想通過短時(shí)快速反復(fù)搖動(dòng)設(shè)備來模擬人走路,這些干擾數(shù)據(jù)可以通過給檢測曲線加上閥值和步頻判斷來過濾剔除。
2 計(jì)步器硬件設(shè)計(jì)
計(jì)步器的硬件包括:含微控制器和Wi-Fi模塊CC3200芯片及其Wi-Fi濾波器與天線、三軸加速度傳感器ADXL345、LCD、串行閃存(S-Flash)、LED指示燈、按鍵、蜂鳴器、鋰電池及其充電電路、低壓差線性穩(wěn)壓器(LDO)電路。此外,還要考慮開發(fā)調(diào)試及通過USB轉(zhuǎn)串口燒錄用戶程序到S-Flash中,設(shè)計(jì)樣機(jī)階段必須有USB和JTAG接口。計(jì)步器的硬件組成如圖2所示。
2.1 微處理器與WiFi模塊的選擇
計(jì)步器作為可穿戴設(shè)備,必須做到體積小、功耗低,性能穩(wěn)定,因此本課題著重考慮功耗低、穩(wěn)定性好、集成度高的微控制器芯片。CC3200是TI公司推出的一款針對(duì)物聯(lián)網(wǎng)應(yīng)用、集成了高性能ARM Cortex-M4 MCU的單片無線MCU,無線信號(hào)經(jīng)過2.4GHz的帶通濾波器以及阻抗匹配網(wǎng)絡(luò)后通過天線發(fā)送出去,方便用戶能夠用單個(gè)集成電路實(shí)現(xiàn)物聯(lián)網(wǎng)應(yīng)用開發(fā)[2]。借助片上Wi-Fi、互聯(lián)網(wǎng)和穩(wěn)健耐用的安全協(xié)議,用戶無需Wi-Fi開發(fā)經(jīng)驗(yàn)即可實(shí)現(xiàn)快速開發(fā)。
CC3200采用易于布局布線的四方扁平無引線(QFN)封裝。其應(yīng)用MCU子系統(tǒng)包含一個(gè)運(yùn)行頻率為80MHz的ARM Cortex-M4內(nèi)核。該器件還包含多種外設(shè),其中包括GPIO、UART、SPI、IIC和四通道模數(shù)轉(zhuǎn)換器。還包括用于代碼和數(shù)據(jù)的靈活嵌入式RAM,以及具有外部串行閃存引導(dǎo)加載程序和外設(shè)驅(qū)動(dòng)程序的ROM。
CC3200支持訪問點(diǎn)(STA)、基站(AP)和Wi-Fi直接(P2P)模式。本文中CC3200工作在STA模式,因此計(jì)步器只能通過無線路由器實(shí)現(xiàn)與云平臺(tái)的數(shù)據(jù)通信。
2.2 加速度傳感器的選擇
ADXL345是ADI公司推出的基于iMEMS技術(shù)的小巧纖薄低功耗三軸數(shù)字輸出加速度傳感器,適合應(yīng)用于移動(dòng)設(shè)備[3]。它可以對(duì)高達(dá)±16g的加速度進(jìn)行13位分辨率測量。數(shù)字輸出為16位二進(jìn)制補(bǔ)碼格式,可通過SPI或者IIC接口訪問,適合移動(dòng)應(yīng)用場景。
2.3 處理器外圍電路設(shè)計(jì)
系統(tǒng)采用充電電流最高1A的線性鋰電池充電芯片TP4056對(duì)2000 mAh鋰電池進(jìn)行充電管理。CC3200通過定時(shí)器中斷的方式對(duì)ADC輸入鋰電池輸出電壓進(jìn)行定時(shí)采樣,當(dāng)電壓低于3.7V時(shí)蜂鳴器發(fā)出告警聲并自動(dòng)關(guān)機(jī)。并采用適用于鋰電池供電且低成本的LDO芯片RT9013-33為系統(tǒng)提供3.3V電源,通過其EN引腳可實(shí)現(xiàn)軟件自動(dòng)關(guān)機(jī)和按鍵開關(guān)機(jī)功能[4]。
3 計(jì)步器軟件設(shè)計(jì)
3.1 低功耗設(shè)計(jì)
為了使計(jì)步器更省電,必須在無運(yùn)動(dòng)狀態(tài)下使CC3200和ADXL345運(yùn)行在睡眠狀態(tài)。CC3200內(nèi)置的Cortex M4內(nèi)核支持低功耗深度睡眠(LPDS)模式,可在保持網(wǎng)絡(luò)連接的同時(shí),提供最優(yōu)功耗。在該模式下,Cortex M4核及其絕大部分外設(shè)都會(huì)掉電,丟失狀態(tài)和上下文信息,RAM可以有選擇地保留數(shù)據(jù)。該模式可以被定時(shí)器或6個(gè)特定的GPIO喚醒。
本文將ADXL345設(shè)置為自動(dòng)休眠模式,并將其Activity、Inactivity中斷源編程分別映射到管腳INT1和INT2,再將以上管腳分別與CC3200的GPIO2和GPIO3相連,用于CC3200的睡眠喚醒和進(jìn)入睡眠提醒。
INT1連接GPIO2即可實(shí)現(xiàn)喚醒,即當(dāng)用戶開始運(yùn)動(dòng)后,ADXL345感應(yīng)到的加速度值大于最大閾值后,ADXL345從睡眠模式被喚醒,并使INT1輸出高電平且通過與之連接的GPIO2將CC3200喚醒,閾值一般設(shè)定為佩戴者抬腕動(dòng)作所產(chǎn)生的加速度值。當(dāng)加速度值低于設(shè)定閾值且持續(xù)一定時(shí)長后,INT2輸出高電平且通過與之連接的GPIO3“提醒”CC3200進(jìn)入LPDS模式。
3.2 主程序設(shè)計(jì)
進(jìn)入應(yīng)用程序的main()函數(shù)后,首先是全系統(tǒng)的初始化,主要包括:ADXL345、S-Flash、RTC、定時(shí)器、GPIO、中斷、ADC、SPI、UART、PWM、JTAG和TCP/IP連接初始化;初始化完成后,讀取實(shí)時(shí)時(shí)鐘的值,連再續(xù)讀取多個(gè)加速度矢量長度后計(jì)算出當(dāng)日步數(shù)和運(yùn)動(dòng)時(shí)長,然后判讀是否到時(shí)間0點(diǎn)0分,如果是步數(shù)和運(yùn)動(dòng)時(shí)長清零,若不是,更新LCD顯示的實(shí)時(shí)時(shí)間、運(yùn)動(dòng)時(shí)長和當(dāng)日步數(shù);判斷是否有Wi-Fi,若有Wi-Fi就按規(guī)定的時(shí)間間隔將步數(shù)上傳到指定云平臺(tái);查詢GPIO3,若為高電平則準(zhǔn)備進(jìn)入LPDS模式;進(jìn)入LPDS模式后,僅當(dāng)GPIO2有高電平輸入時(shí),CC3200才被喚醒重新進(jìn)入正常工作模式。
4 結(jié)語
本文提出了一種可穿戴計(jì)步器的設(shè)計(jì)方案,采用集成了高性能ARM Cortex-M4 MCU的單片無線MCU CC3200完成運(yùn)動(dòng)信息處理和無線通信功能,提高了開發(fā)效率、降低了產(chǎn)品體積。充分利用CC3200和ADXL345二者良好的電源管理特性,結(jié)合軟件設(shè)計(jì)中采用的較高效的電源管理措施,實(shí)現(xiàn)了可穿戴設(shè)備軟硬件協(xié)同設(shè)計(jì)中的低功耗目標(biāo)。系統(tǒng)實(shí)現(xiàn)了實(shí)時(shí)時(shí)間、運(yùn)動(dòng)步數(shù)和運(yùn)動(dòng)時(shí)長顯示,以及運(yùn)動(dòng)信息上傳到云平臺(tái),借助于智能手機(jī)APP,用戶可實(shí)現(xiàn)個(gè)人運(yùn)動(dòng)信息統(tǒng)計(jì)分析和圖表展示,還可獲得來自云平臺(tái)個(gè)性化推送的運(yùn)動(dòng)健康飲食等方面的參考建議信息,增強(qiáng)了產(chǎn)品實(shí)用性,是計(jì)步器設(shè)計(jì)的有益嘗試。
【參考文獻(xiàn)】
[1]黃紅梅,劉永暉.散步對(duì)中老年高級(jí)知識(shí)分子心臟功能影響的追蹤分析[J].體育科學(xué)研究,2004,8(4):41-44.
[2]Taxas Instruments.CC3100/CC3200 SimpleLink? Wi-Fi? and Interneton a Chip Users Guide[EB/OL].http://www.ti.com.cn/cn/lit/ug/ swru368a/swru368a.pdf,2015.
[3]孟維國.三軸加速度計(jì)ADXL345的特點(diǎn)及其應(yīng)用[J].電子設(shè)計(jì)工程,2007,13(11):23-24.
[4]楊鳳年.基于STM32的人體跌倒報(bào)警裝置的設(shè)計(jì)[J].福建電腦,2018,34(2):31-32.