一、芯片软件架构

sensor service :系统状态下的sensor 服务,接收sensor 数据和运行算法
sensor sleep:休眠逻辑状态下的sensor 回调,接收sensor 数据和运行算法
sensor algorithm:Sensor 算法库
sensor HAL: sensor 硬件抽象层,对硬件驱动接口的封装
sensors : 传感器硬件层,主要是spi 和i2c接口。
平台为了降低功耗采用的机制
1,减少cpu 运行时间,采用三种工作状态
系统大部分是处于休眠状态,休眠状态下频繁唤醒cpu 处理数据。如果每次唤醒cpu 后恢复os 运行现场,跑完resume 流程调用算法库,cpu 运行时间会很长。因此唤醒cpu 后运行逻辑算法,不恢复os, 这样系统有三种工作状态:

STAT_MT :硬件采集数据,cpu 不参与
STAT_RAW:CPU 逻辑运行,os不运行
STAT_OS: CPU和os 运行
具体工作流程:硬件采集数据后产生mt 中断唤醒cpu逻辑跑算法,根据算法结果决定是否运行os
STAT_MT 这个状态全程都不需要cpu参与,都是硬件来完成的。这个状态涉及到的硬件模块有4个
:PPI, GPIO/TIMER, IICMT/SPIMT;
PPI:可编程外设接口,和DMA类似,不同外设之间进行互连而不需要 CPU 进行参与,主要的连接对象是任务和事件,可以有效的降低功耗,提高处理器处理效率
PPI 工作原理:trigger -》 channel -》task。Trigger 触发源可以是 Timer 也可以是 GPIO 中断,通过配置 Channel 将 trigger 源连接到 相应的 Task 上去,当硬件上产生触发信号时,就会触发 Task 工作硬件采集数据

IICMT工作原理

I2CMT 包括两个i2c master 每个master 可连接4个i2c slave 每个i2c salve都配置dma 模式,

6707

被折叠的 条评论
为什么被折叠?



