• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于UCOSIII 系統(tǒng)的嵌入式智能手表設(shè)計

      2023-09-11 07:59:02陳浩鑫鐘雄源葉格豪甘浩城楊颯
      電子制作 2023年15期
      關(guān)鍵詞:任務(wù)調(diào)度低功耗手表

      陳浩鑫,鐘雄源,葉格豪,甘浩城,楊颯

      (廣東第二師范學(xué)院,廣東廣州,510303)

      0 引言

      隨著智能信息技術(shù)飛速發(fā)展,國民經(jīng)濟(jì)能力穩(wěn)固提升,人民的生活質(zhì)量得到極大改善。與此同時,人們面臨的學(xué)習(xí)、工作等方面的壓力逐漸增大,身體時常處于亞健康狀態(tài)。運(yùn)動成為人們保持良好健康狀態(tài)的一種有效措施,運(yùn)動手表也因此成為一種時尚的電子產(chǎn)品,為人們提供實(shí)時運(yùn)動數(shù)據(jù)和環(huán)境信息[1~4]。本文設(shè)計了一款攜帶便捷且具有運(yùn)動健康監(jiān)測功能的智能手表,該系統(tǒng)選用STM32F411CEU6 (主頻:100MHz RAM:128KB ROM:512KB)作為主控芯片,連接了MPU6050 六軸陀螺儀模塊和BMP180 氣壓計模塊,通過TP4056 充電模塊和TPS63STM32F411CEU6020 升降壓模塊給系統(tǒng)續(xù)航,利用TFT 彩色屏作為顯示模塊,用于顯示時間、溫度、氣壓和海拔等信息,并具有屏幕亮度調(diào)節(jié),定時熄屏,抬手喚醒,步數(shù)計量等功能,可為運(yùn)動者實(shí)時提供運(yùn)動信息和環(huán)境數(shù)據(jù)。

      1 系統(tǒng)總體方案設(shè)計

      ■1.1 硬件方案

      本文設(shè)計的智能手表以STM32F411 芯片為核心,使用UCOSIII 操作系統(tǒng)對任務(wù)進(jìn)行調(diào)度,硬件部分采用BMP180大氣壓計量傳感器模塊實(shí)現(xiàn)溫度和大氣壓的測量與記錄,MPU6050 陀螺儀傳感器模塊檢測運(yùn)動者的運(yùn)動信息、記錄步數(shù)和活動距離等,使用TP4056 和TPS63070 電源管理模塊保證電源使用安全。本系統(tǒng)使用ISP1.14 寸LCD 顯示模塊進(jìn)行信息顯示,其UI 交互界面基于LittlevGL 編寫,方便用戶與手表的交互。系統(tǒng)硬件設(shè)計框圖見圖1 所示。

      圖1 系統(tǒng)硬件設(shè)計框圖

      ■1.2 系統(tǒng)交互功能設(shè)計方案

      (1)圖形界面:本智能手表人機(jī)交互界面基于LVGL圖形庫進(jìn)行設(shè)計,該圖形庫是一個輕量級的嵌入式圖形庫,提供了創(chuàng)建嵌入式 GUI 所需的一切,具有易于使用的圖形元素,美麗的視覺效果和低內(nèi)存占用等特點(diǎn)[5]。同時LVGL圖形庫是純 C 語言實(shí)現(xiàn),易于移植,性能較好,能夠支持的空間和內(nèi)容較為豐富。非常適用于智能佩戴設(shè)備對于人機(jī)交互界面的需求。

      (2)實(shí)體按鍵:為了方便用戶的使用,本設(shè)計在手表側(cè)面安裝了三個按鍵,這三個按鍵分別與主控芯片的PB0、PB1、PB2 引腳連接,用戶可通過這三個按鍵實(shí)現(xiàn)界面切換、功能選擇等操作。并利用實(shí)時操作系統(tǒng)UCOSIII 及時讀取按鍵信息,完成任務(wù)調(diào)度,實(shí)現(xiàn)界面的流暢切換,為用戶提供更好的交互體驗(yàn)感。

      2 系統(tǒng)功能設(shè)計

      本次設(shè)計的智能手表主要實(shí)現(xiàn)以下幾個功能 :

      (1)實(shí)時時間顯示:本設(shè)計采用的主控芯片具有 RTC實(shí)時時鐘功能,可以通過按鍵設(shè)置時間、查看時間。

      (2)自動息屏:若超過30s 沒有進(jìn)行任何操作,系統(tǒng)會自動息屏進(jìn)入低功耗模式,此時只保留少數(shù)任務(wù)繼續(xù)進(jìn)行。

      (3)背光亮度調(diào)節(jié):可通過按鍵調(diào)節(jié)屏幕亮度以適應(yīng)環(huán)境光照,減低能耗。

      (4)抬手喚醒:在熄屏低功耗模式下,會通過MPU6050 陀螺儀傳感器獲取航向角、俯仰角、橫滾角數(shù)據(jù)判斷是否抬起手臂,是的話退出低功耗模式。

      (5)溫度、氣壓數(shù)據(jù)顯示: 利用BMP180 大氣壓計量模塊,獲取溫度、大氣壓強(qiáng)的實(shí)時數(shù)據(jù),并在顯示屏上顯示。

      (6)海拔高度測量:氣壓或大氣壓力來自地球上空氣的重量。該壓力在海平面約為每平方厘米1 千克。氣壓與海平面的高度具有近似線性的反比,因此通過BMP180 傳感器獲取的大氣壓強(qiáng)經(jīng)過簡單換算即可得出海拔高度的數(shù)據(jù)。

      (7)步數(shù)計量:通過陀螺儀 MPU6050 與濾波、計步算法 得出較為準(zhǔn)確的步數(shù),同時算出距離與消耗的卡路里。

      (8)計時:通過顯示屏顯示計時界面,利用定時器實(shí)現(xiàn)計時功能。

      3 系統(tǒng)硬件電路設(shè)計

      ■3.1 主控芯片

      本系統(tǒng)采用STM32F411CEU6 作為主控芯片,其內(nèi)核是Cortex-M4。相比其它單片機(jī),STM32F411CEU6 的資源更加豐富,有多個串口通信接口、IIC 接口、SPI 接口,有著512KB 的FLASH 容量和128KB 的運(yùn)行內(nèi)存,同時它的工作頻率達(dá)到100 MHz,運(yùn)行速率快,還有DMA 等外設(shè),其還具有多種低功耗模式,開發(fā)者可根據(jù)情況選擇不同模式來減低芯片的能耗。這些特點(diǎn)讓它得到了廣泛的應(yīng)用。STM32 主控芯片與各模塊引腳連接圖見圖2 所示。本設(shè)計利用STM32F411CEU6 芯片自帶的RTC(Real Time Clock)功能,可以輕松設(shè)置時間信息并讀取實(shí)時時間,完成時間顯示,定時,計時功能的實(shí)現(xiàn)。

      圖2 主控芯片與各模塊引腳連接圖

      圖3 TP4056 模塊原理圖

      ■3.2 充電模塊

      TP4056 是一款完整的單節(jié)鋰離子電池線性充電器,采用了內(nèi)部PMOSFET 架構(gòu)。同時,TP4056 芯片集成了防倒充電路,還有著熱反饋,可對充電電流進(jìn)行自動調(diào)節(jié),以便在大功率操作或高溫度條件下對芯片溫度加以限制,保障了設(shè)計安全。當(dāng)輸入電壓被移除時,TP4056 自動進(jìn)入一個低電流狀態(tài),將電池漏電流降至2μA 以下,充分保護(hù)了使用者的使用安全。另外,TP4056 還有著電池溫度檢測、欠壓閉鎖、自動再充電和兩個用于指示充電、結(jié)束的LED 狀態(tài)引腳的特點(diǎn)。

      ■3.3 升降壓模塊

      TPS63020 是一款升降壓芯片,能夠?qū)㈦姵仉妷恨D(zhuǎn)化成電路需要的穩(wěn)定電壓。TPS63020 支持輸出電壓為1.2V至5.5V,輸入電壓為1.8V 至5.5V,可通過電路設(shè)計獲取想要的電壓。TPS63020 還具有平均電流模式buckboost 轉(zhuǎn)換的特性,能夠?qū)崿F(xiàn)模式之間的自動轉(zhuǎn)換。同時,TPS63020 具有過熱、過壓保護(hù)的功能,能夠很好地保護(hù)電路,延長電路的使用時間。TPS63020 升降壓模塊電路如圖4 所示。

      圖4 TPS63020 升降壓模塊原理圖

      ■3.4 BMP180 大氣壓計量模塊

      BMP180 是一款新型的數(shù)字氣壓傳感器,具有非常高的性能,適合智能的高精度測量和數(shù)據(jù)采集,并輸出高精度的壓力(或高度)和溫度測量數(shù)據(jù)。其能夠檢測大氣壓強(qiáng)和環(huán)境溫度,且數(shù)據(jù)具有很好的準(zhǔn)確性[6]。同時,BMP180 內(nèi)部有多個寄存器,通過通信可以配置BMP180 的工作模式,以便于獲取壓強(qiáng)、氣溫數(shù)據(jù)。因其使用方便、數(shù)據(jù)準(zhǔn)確,BMP180有著很廣泛的應(yīng)用。BMP180 傳感器模塊電路如圖5 所示。BMP180 大氣計壓傳感器的SCL 引腳和SDA 引腳分別與主控芯片的PB8 引腳和PB9 引腳像連接并進(jìn)行IIC 通訊,用于獲取溫度,氣壓,海拔等數(shù)據(jù),并通過TFT-LCD 屏顯示出來。

      圖5 大氣計壓模塊原理圖

      ■3.5 運(yùn)動狀態(tài)檢測模塊

      本系統(tǒng)采用的是 MPU-6050 型六軸加速度傳感器,對運(yùn)動 者的運(yùn)動信息進(jìn)行數(shù)據(jù)采集。MPU6050 是一款6 軸的運(yùn)動傳感器,其內(nèi)部整合了三軸MEMS 陀螺儀、三軸MEMS 加速度計[7、8]。MPU6050 的各個數(shù)據(jù)由16 位的寄存器存放,具有良好的精度,并且其擁有一個可擴(kuò)展的數(shù)字運(yùn)動處理器DMP,可以減少使用者復(fù)雜的融合演算數(shù)據(jù)等過程。MPU6050 模塊電路如圖6 所示。其采用IIC 通信的方式,SCL 引腳和SDA 引腳分別與主控芯片的PB6、PB7引腳連接用于獲取3 種偏轉(zhuǎn)角。通過獲取三種偏轉(zhuǎn)角我們可以實(shí)現(xiàn)抬手喚醒以及步數(shù)計量等功能。

      圖6 六軸傳感器模塊原理圖

      ■3.6 顯示屏模塊

      本系統(tǒng)基于整體硬件設(shè)計綜合考慮,采用1.14 寸IPS彩色的TFT-LCD 屏作為頁面顯示模塊,其具有發(fā)光效率高且能耗低,色彩更好,視角廣,畫面不易失真,售價相對便宜等特點(diǎn)而被廣泛應(yīng)用在電子產(chǎn)品中。LCD 顯示模塊電路如圖7 所示。其SCL 引腳和主控芯片PA5 引腳,SDA 引腳和PA7 引腳連接,利用IIC 的通信協(xié)議實(shí)現(xiàn)數(shù)據(jù)的獲取,并通過主控芯片的PA10 引腳以PWN 的方式實(shí)現(xiàn)對顯示屏亮度的調(diào)節(jié),節(jié)約能耗。

      圖7 LCD 顯示模塊原理圖

      4 系統(tǒng)軟件設(shè)計

      ■4.1 實(shí)時操作系統(tǒng)

      相對于傳統(tǒng)的前后臺編程思想,本設(shè)計為了提高產(chǎn)品的實(shí)時性以及功能的可拓展性,在系統(tǒng)軟件設(shè)計上采用了嵌入式實(shí)時操作系統(tǒng)UCOSIII 來幫助實(shí)現(xiàn)各任務(wù)的調(diào)度以及內(nèi)存管理。

      Micrium 公司開發(fā)的 UCOSIII 系統(tǒng)是一種可裁剪、可固化、可剝奪的第三代微型實(shí)時操作系統(tǒng),其提供了實(shí)時操作系統(tǒng)所需的所有功能,包括任務(wù)調(diào)度、任務(wù)通信、同步、內(nèi)存管理、中斷管理、定時管理等等是該系統(tǒng)的特性。[9、10]可剝奪內(nèi)核顧名思義就是可以剝奪其他任務(wù)的CPU 使用權(quán),它總是運(yùn)行就緒任務(wù)中的優(yōu)先級最高的那個任務(wù),當(dāng)一個高優(yōu)先級任務(wù)準(zhǔn)備就緒,并且此時發(fā)生了任務(wù)調(diào)度,那么這個高優(yōu)先級的任務(wù)就會獲得CPU 的使用權(quán)。不同于UCOSII,UCOSIII 支持創(chuàng)建相同優(yōu)先級的任務(wù),相同優(yōu)先級的任務(wù)在任務(wù)調(diào)度時將采用時間片輪轉(zhuǎn)調(diào)度,從而提高了系統(tǒng)運(yùn)行的實(shí)時性。

      ■4.2 軟件設(shè)計和流程圖

      本智能手表系統(tǒng)利用實(shí)時操作UCOSIII 進(jìn)行任務(wù)調(diào)度,并將整個系統(tǒng)的功能分成了起始任務(wù),界面顯示任務(wù),以及其他幾個對不同硬件數(shù)據(jù)消息進(jìn)行更新和獲取的任務(wù),每個任務(wù)實(shí)現(xiàn)智能手表的部分功能,系統(tǒng)軟件總體設(shè)計流程如圖8 所示。

      圖8 軟件系統(tǒng)設(shè)計流程圖

      系統(tǒng)上電后,會先對實(shí)時操作系統(tǒng)UCOSIII 進(jìn)行初始化工作,其中包括:初始化操作系統(tǒng)的內(nèi)核、初始化任務(wù)空閑鏈表、建立任務(wù)控制塊數(shù)據(jù)類型、創(chuàng)建信號量,完成對內(nèi)存的管理。在這之后對MCU 進(jìn)行初始化,其中包括時鐘頻率初始化的設(shè)置、串口通信速率的設(shè)置等。最后創(chuàng)建起始任務(wù),并開啟操作系統(tǒng)進(jìn)行任務(wù)調(diào)度。

      操作系統(tǒng)初始化完畢并開啟任務(wù)調(diào)度后,起始任務(wù)被執(zhí)行。起始任務(wù)會負(fù)責(zé)實(shí)現(xiàn)各種外設(shè)模塊配置的初始化,LVGL初始化以及顯示界面的初始化。接著創(chuàng)建所需的信號量、消息隊(duì)列、互斥量、事件標(biāo)志組等用于幫助實(shí)現(xiàn)各個任務(wù)的同步。之后起始任務(wù)創(chuàng)建其他應(yīng)用任務(wù),并在前面的工作完成后刪除自身任務(wù),進(jìn)入休眠態(tài)防止系統(tǒng)在任務(wù)調(diào)度中再次執(zhí)行起始任務(wù)。

      起始任務(wù)執(zhí)行完畢后操作系統(tǒng)將按照各任務(wù)的優(yōu)先級以及是否處于就緒狀態(tài)對其他任務(wù)進(jìn)行任務(wù)調(diào)度,保證系統(tǒng)實(shí)時性。

      ■4.3 各任務(wù)詳細(xì)功能

      具體各任務(wù)的詳細(xì)功能描述如下。

      溫度氣壓獲取任務(wù):利用BMP180傳感器模塊獲取更新的溫度值和氣壓值并儲存起來,熄屏低功耗模式下該任務(wù)不執(zhí)行。

      歐拉角獲取與計步任務(wù):利用MPU6050 陀螺儀傳感器獲取三種偏轉(zhuǎn)角并完成步數(shù)計量功能,在低功耗熄屏模式下可通過獲取一次較大的抬手動作的角度退出低功耗熄屏模式實(shí)現(xiàn)抬手喚醒功能。

      按鍵信息獲取任務(wù):獲取使用者對按鍵的操作信息,并執(zhí)行相應(yīng)的功能,若存在30s 沒有獲取到按鍵操作信息的情況,則進(jìn)入低功耗熄屏模式。

      界面顯示任務(wù):該任務(wù)主要為了實(shí)時運(yùn)行LVGL 內(nèi)部任務(wù)處理函數(shù)。該函數(shù)主要負(fù)責(zé)LVGL 幾乎所有的事務(wù)處理,只有在無阻塞的任務(wù)中才能夠?qū)崟r響應(yīng)用戶對于LVGL 的所有操作。例如顯示渲染事件、動畫事件等等。通過本任務(wù)完成顯示屏上的界面顯示和數(shù)據(jù)的顯示,在低功耗模式下該任務(wù)不執(zhí)行。

      實(shí)時時間獲取任務(wù):獲取RTC 實(shí)時時間并保存,在熄屏低功耗模式下,該任務(wù)不會執(zhí)行,只有在手表處于喚醒狀態(tài)下才會執(zhí)行。

      5 結(jié)束語

      本文設(shè)計了一款基于STM32F411CEU6 的智能手表,該手表采用UCOSIII 操作系統(tǒng)進(jìn)行任務(wù)調(diào)度,能夠更好地對各模塊功能進(jìn)行管理,提高了智能手表的運(yùn)行效率。在用戶操作上使用LVGL 編寫了GUI,使各項(xiàng)數(shù)據(jù)信息可視化,用戶可以方便地讀取到手表所檢測的信息,能夠更加及時有效地讓用戶了解自己的狀態(tài),且在GUI 的輔助下,用戶能夠更方便地操作手表。該款智能手表系統(tǒng)結(jié)構(gòu)設(shè)計簡單,便于用戶操作,且具有性能高、功耗低、安全可靠、成本低廉等優(yōu)點(diǎn),可以被應(yīng)用和推廣。

      猜你喜歡
      任務(wù)調(diào)度低功耗手表
      一種高速低功耗比較器設(shè)計
      是誰拿了手表
      幼兒100(2021年10期)2021-04-25 12:33:04
      誰偷走了手表?
      手表
      基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
      基于時間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
      嘻嘻猴手表
      云計算環(huán)境中任務(wù)調(diào)度策略
      云計算中基于進(jìn)化算法的任務(wù)調(diào)度策略
      ADI推出三款超低功耗多通道ADC
      舟曲县| 慈溪市| 苍南县| 鹿泉市| 新民市| 天峨县| 股票| 吉安县| 靖宇县| 上饶市| 鄢陵县| 唐山市| 临沂市| 绥滨县| 斗六市| 横山县| 岐山县| 苗栗市| 凤城市| 义马市| 微山县| 镇安县| 南投县| 大竹县| 桐柏县| 仁布县| 简阳市| 任丘市| 陆川县| 毕节市| 雷波县| 扬州市| 龙胜| 灵山县| 林周县| 双桥区| 万年县| 云林县| 南陵县| 托克逊县| 富顺县|