📘 智能手表软件架构设计文档初稿
项目名称: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. 蓝牙数据交互流程(典型)
手机端发起连接 →
手表响应连接请求 →
完成配对和加密 →
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-手表命令交互协议表