📘 智能手表软件架构设计文档初稿
项目名称 :Aurora Watch S1
版本号 :v1.0
编写人 :XXX(嵌入式软件架构师)
日期:2025年xx月xx日

一、文档目的
本文件旨在明确智能手表软件系统的架构设计,包括MCU固件、蓝牙通信、传感器处理、UI交互及与移动APP间的通信接口。文档为各模块开发、联调、测试提供统一的软件框架与接口规范。
二、系统总体架构
软件系统分为三大层级:
-
智能手表端(MCU)
-
蓝牙通信层(BLE)
-
手机端APP(iOS/Android)
手机端APP ┌────────────┐ │ UI层 │ │ 业务逻辑层 │ │ 蓝牙通讯模块 │ └────────────┘ ▲ BLE ▼ ┌────────────┐ │ MCU主控芯片 │ │ RTOS系统 │ │ 任务调度 │ │ 应用服务层 │ ← 心率/运动/消息 │ HAL驱动层 │ ← I2C/SPI/ADC │ BLE协议栈 │ ← 通知/同步 └────────────┘
三、模块划分说明
1️⃣ MCU固件软件架构
软件层级 | 功能描述 |
---|---|
应用服务层 | 实现运动监测、健康算法、消息推送、UI交互等模块 |
系统任务层 | 基于FreeRTOS,管理多任务、调度优先级、资源共享 |
驱动层 (HAL) | 负责底层传感器/显示/触摸/按键/充电/电源管理等接口 |
协议栈层 | 蓝牙协议(BLE 5.0),支持Gatt Server/Client、OTA、Time Sync等 |
核心任务模块(RTOS)
任务名称 | 功能简述 | 优先级 |
---|---|---|
UI任务 | 显示刷新/界面滑动 | 高 |
传感器任务 | 采集心率/血氧/加速度 | 中 |
通讯任务 | BLE通信、数据同步 | 中 |
电源管理任务 | 睡眠模式、充电检测 | 中 |
日志任务 | 本地存储、日志管理 | 低 |
2️⃣ BLE通信架构
项目 | 内容 |
---|---|
BLE角色 | Peripheral(手表) + GATT Server |
通信通道 | Notify(状态推送)、Write(APP下发命令)、Read(读取配置) |
OTA升级 | 支持DFU模式,基于BLE OTA协议 |
加密支持 | 支持AES128连接加密,配对绑定 |
常用服务 | Battery、HeartRate、Device Info、Custom Service |
3️⃣ APP端架构(Android/iOS)
模块 | 功能描述 |
---|---|
蓝牙通信模块 | 扫描、连接、服务发现、数据读写、OTA升级 |
账户/云模块 | 登录注册、同步设置、云端健康数据同步 |
数据缓存 | 本地SQLite存储手表同步的数据 |
UI界面层 | 仪表盘、运动记录、健康报告、消息中心 |
通知中转 | 接收系统通知→转发给手表(通过BLE) |
四、关键功能模块设计
🫀 1. 健康数据采集模块
传感器 | 驱动接口 | 功能 | 采样频率 | 数据存储周期 |
---|---|---|---|---|
心率传感器 | I2C | 实时心率+动态HRV | 1Hz~25Hz | 每分钟采样一次 |
血氧传感器 | I2C/SPI | 静态SpO₂检测 | 每5分钟 | 本地保留1天 |
加速度计 | I2C | 步数/姿态/抬腕亮屏 | 25Hz | 实时上传/本地同步 |
🔋 2. 电源管理模块
功能 | 实现方式 |
---|---|
睡眠唤醒 | RTC定时器 / 外部中断 / 抬腕触发 |
电量检测 | ADC检测电池电压 |
充电状态 | GPIO读取PMIC状态 |
电源模式 | RUN / IDLE / DEEP SLEEP 模式切换 |
📲 3. 蓝牙数据交互流程(典型)
text
手机端发起连接 →
手表响应连接请求 →
完成配对和加密 →
APP获取Gatt服务 →
APP写入命令如"开始测心率" →
手表执行采样,定时Notify数据 →
APP接收并显示或上传云端
五、开发与调试接口
类型 | 接口说明 |
---|---|
UART调试口 | 串口输出日志、CLI命令交互 |
BLE日志输出 | 通过自定义BLE服务上传日志 |
OTA升级 | 支持BLE OTA + 本地USB升级 |
模拟数据注入 | PC工具通过BLE注入模拟传感器数据 |
六、软件版本管理与发布
阶段 | 内容 |
---|---|
Alpha | UI框架搭建,BLE通信验证 |
Beta | 添加传感器处理、APP通信、健康算法 |
RC | UI稳定,通信协议冻结,开始系统测试 |
Release | 正式发布,导入OTA版本控制 |
七、后续开发建议
- 增加支持多运动模式(跑步、骑行、游泳)
- 加入NFC支付/公交卡模拟模块
- 支持iOS/Android双平台自动适配
- 后续考虑支持蓝牙双模(Classic + BLE)
附录
- BLE GATT服务定义表
- MCU端任务调度图
- OTA数据包结构说明
- APP-手表命令交互协议表