1系统方案设计概要CortexM0固件库(CMSIS)震动驱动模块历史数据存储模块RTC时钟模块计步睡眠算法模块输入和输出逻辑可配置延时逻辑模块可配置计算逻辑模块可配置脉冲逻辑模块DA14580与App的接口协议可配置输入应用模块可配置输出应用模块蓝牙(BLE)协议栈空中升级(SUOTA)协议栈通用存储模块(Flash)UART串口驱动模块GPIO口初始化模块电源管理模块事件管理模块敲击模块Gsensor驱动模块研发部1蓝牙绑定接口协议之绑定2蓝牙地址获取,并存储DA14580UIKI_APPapp发送绑定指令同意绑定app绑定;重新绑定新设备,app主动请求绑定成功研发部1蓝牙绑定接口协议之连接蓝牙地址获取,并compareDA14580UIKI_APPapp发送连接指令同意连接app相同则连接;不相同,则不连接。不同意连接app已经绑定了该设备,app主动连接连接成功该手表已绑定其他手机,连接不成功。研发部3闹钟闹钟总数最近闹钟闹钟索引号闹钟排序buffer剩余使能闹钟总数序号(bytes)最高位(bytes)后七位时分index(0/1)使能每周闹钟重复日0-230-59闹钟1闹钟2闹钟3闹钟4闹钟5闹钟6。。。闹钟32研发部5事件提醒事件总数最近事件事件索引号事件就近排序buffer剩余使能事件总数序号使能年高两位年低两位月日时分indexenable0-990-991-121-320-230-59事件1事件2事件3事件4事件5事件6。。。事件32研发部6历史记录typeyearhyearlmonthmdayhourminutdurationdata[0]data[1]data[2]data[3]11111110xFF/..1111CTStepCNTCTStepCNTCTActiveTypeprevActTypereadindexwrIndexCurSleepCntPrevSleepCntisRecordFlagstotal_ReCRecTimesbuff1研发部6DA14580数据传送方式--ApptoAmuart_tx_callback();user_ble_push();user_sps_server_data_rx_ind_handler();AppAmbiqDA14580研发部6DA14580数据传送方式--AmtoAppuart_tx_callback();user_ble_push();user_sps_server_data_rx_ind_handler();AppAmbiqDA14580研发部6空中升级流程App请求升级第几机芯代码N手表准备好?YApp开始发送数据?App请求开始升级0研发部6按键广播机制1、上电初始化默认开始定时广播,定时时间为60s;2、中间如果有连接发生,则连接成功后就终止广播和广播的定时器;3、连接断开时,又开始定时广播,定时时间为60s;4、定时时间到,则停止广播;5、停止广播之后,如果有按键操作,则又开始定时广播;6、timers:(1)app_param_update_request_timer_used(2)app_adv_data_update_timer_used停止定时与停止广播的区别;0研发部6睡眠历史记录功能框图睡眠和小憩的判断时间间隔:08:00-20:00:sleep<=3h———————>小憩sleep>3h———————>睡眠20:00-09:00:sleep>0h———————>睡眠醒着的时间间隔:wakeupduration>3minutes———————>wakeup0研发部6睡眠历史记录功能框图一天睡眠分布图24hours==20:00->20:00shallowsleepdeepsleepwakeup一次休息终止(0xF0)一次休息起始(0xE0)一次睡眠/小憩历史记录格式浅睡(0x20)深睡(0x40)醒来(0x10)...浅睡(0x20)睡眠和小憩的判断时间间隔:08:00-20:00:sleep<=3h———————>小憩sleep>3h———————>睡眠20:00-09:00:sleep>0h———————>睡眠醒着的时间间隔:wakeupduration>3m—————>wakeupshallowsleepdeepsleepwakeupLittleSleepNightSleep0研发部6算法功能框图NGsensorAlgorithmVibratepedometerbus_detectionsleep_detectionmultifunction/super_savepower0研发部6Flash存储分布框图BootLoader0CodeDA-Offset1-HeaderDA-Offset1-CodeDA-Offset2-HeaderDA-Offset2-CodeAM-App-HeaderAM-App-CodeProduct-HeaderFlash0x000000000x000008000x000100000x000170000x0000A0400x000020000x00020000Ambiq-Boot0DA14580Ambiq-App0x0001F0000研发部Ambiq-Boot1BootLoader1Code6LRAM动态分布框图I2CinUseDefaultMacAddressStepsCounter+TotalRecordsNotinuseAmbiqapp+bootLRAM0x000x200x40ui32ROBase0x500x78ui32FIFOBase0x100ui32RAMBaseAmbiq0研发部6OTA升级程序包组成0研发部6OTA升级功能之App判断是否升级升级第一段代码升级第二段代码升级第三段代码升级完成升级开始0研发部6OTA升级功能之手表请求总体版本号请求总体...