智能手表 MCU 任务调度图

智能手表 MCU 任务调度图

处理器平台 :ARM Cortex-M33
系统架构 :事件驱动 + 多任务 RTOS
RTOS:FreeRTOS(或同类实时内核)


一、任务调度概览

任务名称 优先级 周期性 功能描述
App_MainTask 主循环调度器,系统状态管理
BLE_StackTask BLE 协议栈运行,处理连接、事件、传输等
BLE_CommTask GATT 命令解析与通信交互处理
Sensor_PollTask 心率、加速度、温度等传感器采集
UI_DisplayTask OLED/LCD 显示更新、界面刷新
Touch_EventTask 电容触摸/按键事件采集与响应
RTC_TimeTask RTC 时间滴答 + 闹钟处理
OTA_UpgradeTask OTA 升级写入与状态反馈
PowerMgr_Task 电池、电压检测、低功耗控制
Log_UploadTask 日志存储与上传(如 crash dump)

二、任务调度流程图

三、典型调度任务说明

🧠 1. App_MainTask(系统主任务)

  • 优先级:中等

  • 类型:常驻任务

  • 功能

    • 管理设备状态机(开机、待机、运动中、睡眠、OTA中等状态)
    • 分发来自 BLE、传感器、按键等模块的事件
    • 协调各任务之间的交互,作为逻辑调度中心
    • 调用 UI 状态切换、数据同步等操作

📡 2. BLE_StackTask(BLE 协议栈任务)

  • 优先级:高

  • 类型:事件驱动

  • 功能

    • 运行 BLE 协议栈(连接管理、广播、GATT服务)
    • 处理连接事件(连接、断开、配对)
    • 管理 MTU 协议、ATT 请求响应
    • BLE_CommTask 协作实现数据通讯

🔄 3. BLE_CommTask(蓝牙通信任务)

  • 优先级:中等

  • 类型:事件驱动

  • 功能

    • 解析 GATT Write/Notify 数据协议(如 CMD_ID 命令)
    • 响应 App 请求:时间同步、通知推送、OTA控制等
    • 处理数据打包/解包、JSON 解析
    • 接收并转发传感器数据至 App

❤️ 4. Sensor_PollTask(传感器轮询任务)

  • 优先级:中等

  • 周期性任务:50ms ~ 1s

  • 功能

    • 周期性采集加速度计、心率传感器、温度、压力等数据
    • 采用中断优先触发模式,轮询作为备份
    • 支持动态功耗控制(如仅在运动模式中采集心率)
    • 数据缓存 + 时间戳存储,待同步上传

🖼️ 5. UI_DisplayTask(显示刷新任务)

  • 优先级:低

  • 周期性:100ms ~ 500ms

  • 功能

    • 驱动 OLED/LCD/Memory LCD 等显示模块
    • 刷新时间、状态、图标、电量等信息
    • 动画显示与亮度调节(配合环境光传感器)
    • 控制节能显示模式(Always On Display、息屏等)

🧲 6. Touch_EventTask(触控/按键任务)

  • 优先级:中等

  • 触发方式:中断 + 事件队列

  • 功能

    • 响应用户触摸、滑动、按键事件
    • 区分短按、长按、滑动方向等手势
    • 上报事件至 App_MainTask 做进一步处理
    • 配合 UI 控制导航、确认、返回等操作

⏰ 7. RTC_TimeTask(时间管理任务)

  • 优先级:低

  • 周期性:1s Tick

  • 功能

    • 使用 RTC 模块维护系统时间
    • 控制闹钟、倒计时、定时器
    • 触发整点事件或定期振动提醒
    • 同步 BLE 时间(以 App 时间戳为准)

⬆️ 8. OTA_UpgradeTask(在线升级任务)

  • 优先级:高(OTA 时专用)

  • 触发方式:BLE 命令触发

  • 功能

    • 处理 BLE OTA 服务,接收固件片段
    • 校验、存储、升级进度回传
    • 升级完成后重启 Bootloader 刷写新固件
    • 确保整个过程具备断点续传、写入校验机制

🔋 9. PowerMgr_Task(电源管理任务)

  • 优先级:高

  • 周期性:5s ~ 10s

  • 功能

    • 检测电池电压、电流、温度
    • 上报电量百分比至 UI 和 BLE
    • 控制系统进入 EM1 / EM2 / EM3 模式(低功耗)
    • 响应充电状态、低电报警、自动息屏等控制逻辑

📁 10. Log_UploadTask(日志任务)

  • 优先级:低

  • 触发方式:定时 + BLE命令

  • 功能

    • 记录调试日志、异常事件(心率丢失、触摸失败等)
    • 存储至 Flash 环形缓冲区
    • 支持通过 BLE 拉取日志(便于售后与调试)


四、低功耗管理建议

  • 所有周期性任务需结合 tickless sleep 模式设计(例如设置 xTimer 或软定时器)
  • MCU在任务空闲时自动进入 EM2/EM3 模式,BLE 唤醒中断支持 EM2 唤醒
  • Sensor 采用中断触发为主,避免定时轮询过于频繁

五、任务文件结构

复制代码
/app/
  main_task.c/h
  ble_comm.c/h
  sensor_task.c/h
  ui_display.c/h
  ota_task.c/h
  power_mgr.c/h
  rtc_time.c/h

相关推荐
Dr.kangder1 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡3 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛139246256733 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun5 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
振南的单片机世界6 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈6 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun6 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果6 小时前
28-DRV8825PWPR步进电机驱动器
单片机
恒锐丰科技韩生7 小时前
率能 SS6625E|3.0~20V 单通道 H 桥直流电机驱动 SOP8 电子锁玩具机器人分享
嵌入式硬件·硬件工程
zlinear数据采集卡7 小时前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#