mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
Modify design doc.
This commit is contained in:
parent
e4fb89ba1a
commit
a471e12ff1
154
doc/design.md
154
doc/design.md
|
@ -114,9 +114,9 @@ hal
|
|||
|
||||
   基于芯片大小核架构的启动设计。
|
||||
|
||||
#### 1.4.2.1. 红外触发状态启动(正常工作快启)
|
||||
#### 1.4.2.1. 白/黑切换状态启动
|
||||
|
||||
   红外触发启动作为产品正常工作时最经常最重要的启动状态。启动后快速抓拍/录像,快速关机。
|
||||
   由外置单片机检测光敏adc,判断由白天切换到黑夜或者黑夜切换到白天时,主动给主控上电,主控上电后会校验并保存新的环境参数,以下次正常PIR启动时,可以避免ircut耗时快速收敛第一帧,最大程度实现快启功能。
|
||||
|
||||
**启动时序图**
|
||||
|
||||
|
@ -125,18 +125,93 @@ sequenceDiagram
|
|||
participant MCU
|
||||
participant 小核
|
||||
participant 大核
|
||||
MCU ->> MCU:待机
|
||||
opt PIR信号触发
|
||||
alt 主控未开机
|
||||
loop 光敏检测
|
||||
MCU ->> MCU:定时唤醒(定时时间待定)
|
||||
opt 光敏>>>黑夜状态
|
||||
note over MCU:由外置单片机点亮红外补光灯
|
||||
MCU ->> MCU:点亮红外灯
|
||||
end
|
||||
opt 光敏>>>黑/白切换
|
||||
MCU ->> 小核:上电
|
||||
activate 小核
|
||||
note over 小核:根据上次启动的ircut切换条件初始化ircut IO<br>本次启动上次的切换条件是异常的
|
||||
小核 ->> 小核:ircut切换-消耗0ms
|
||||
小核 ->> 小核:Sensor初始化
|
||||
小核 --> 大核:Sensor初始化完成-100ms
|
||||
activate 大核
|
||||
大核 ->> 大核:内核快启抓拍(1P/3P)-200ms
|
||||
大核 ->> 大核:内核启动(文件系统/挂载sd卡)-?ms
|
||||
大核 ->> 大核:启动脚本启动APP-?ms
|
||||
大核 ->> 大核:保存到sd卡-?ms
|
||||
大核 ->> +MCU:获取启动模式
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复启动模式
|
||||
opt 黑/白切换状态
|
||||
大核 ->> +MCU:获取黑/白状态
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复黑或者白
|
||||
opt 黑/白状态不符合抓拍的初始化参数
|
||||
大核 ->> 大核:ircut重新切换
|
||||
大核 ->> 大核:重新初始化sensor参数
|
||||
end
|
||||
大核 ->> MCU:关机
|
||||
MCU ->> 大核:断电
|
||||
end
|
||||
deactivate 小核
|
||||
deactivate 大核
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
#### 1.4.2.2. 红外触发状态启动(正常工作快启)
|
||||
|
||||
   红外触发启动作为产品正常工作时最经常最重要的启动状态。启动后快速抓拍/录像,快速关机。
|
||||
|
||||
1. 为保证快启速度,IRCUT需要业务设计进行提前切换;
|
||||
2. 每次启动抓拍/录像完,需要校验IRCUT状态,保证sensor初始化参数和环境相匹配;
|
||||
3. 如果发生sensor初始化参数和光照环境不匹配,需要重新初始化sesor并补拍;
|
||||
|
||||
**启动时序图**
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant MCU
|
||||
participant 小核
|
||||
participant 大核
|
||||
MCU ->> MCU:PIR中断唤醒
|
||||
opt 光敏>>>黑夜状态
|
||||
note over MCU:由外置单片机点亮红外补光灯
|
||||
MCU ->> MCU:点亮红外灯
|
||||
end
|
||||
opt PIR信号触发
|
||||
alt 主控未开机
|
||||
MCU ->> 小核:上电
|
||||
activate 小核
|
||||
note over 小核:根据上次启动的ircut切换条件初始化ircut IO<br>消耗0ms是由于ircut IO会提前切换好
|
||||
小核 ->> 小核:ircut切换-消耗0ms
|
||||
小核 ->> 小核:Sensor初始化
|
||||
小核 --> 大核:Sensor初始化完成-100ms
|
||||
activate 大核
|
||||
大核 ->> 大核:内核快启抓拍(1P/3P)-200ms
|
||||
大核 ->> 大核:内核启动(文件系统/挂载sd卡)-?ms
|
||||
大核 ->> 大核:启动脚本启动APP-?ms
|
||||
大核 ->> +MCU:获取启动模式
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复启动模式
|
||||
opt PIR触发状态
|
||||
大核 ->> +MCU:获取黑/白状态
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复黑或者白
|
||||
alt sensor初始化参数和环境参数匹配
|
||||
note over 大核:环境参数未发生变化时,可直接保存快启的抓拍
|
||||
大核 ->> 大核:保存到sd卡-?ms
|
||||
else sensor初始化参数和环境参数不匹配
|
||||
note over 大核:环境参数发生变化时,需要重新初始化sensor并补拍
|
||||
大核 ->> 大核:ircut重新切换
|
||||
大核 ->> 大核:重新初始化sensor参数
|
||||
大核 ->> 大核:重新抓拍/录像
|
||||
大核 ->> 大核:保存到sd卡-?ms
|
||||
end
|
||||
end
|
||||
alt TEST拨键-OFF
|
||||
大核 ->> MCU:关机
|
||||
MCU ->> 小核:断电
|
||||
|
@ -161,7 +236,7 @@ opt PIR信号触发
|
|||
end
|
||||
```
|
||||
|
||||
#### 1.4.2.2. 定时触发状态启动
|
||||
#### 1.4.2.3. 定时触发状态启动
|
||||
|
||||
**定时触发状态启动时序图**
|
||||
|
||||
|
@ -170,17 +245,41 @@ sequenceDiagram
|
|||
participant MCU
|
||||
participant 小核
|
||||
participant 大核
|
||||
MCU ->> MCU:待机
|
||||
MCU ->> MCU:定时中断唤醒
|
||||
opt 光敏>>>黑夜状态
|
||||
note over MCU:由外置单片机点亮红外补光灯
|
||||
MCU ->> MCU:点亮红外灯
|
||||
end
|
||||
opt 根据定时参数上电
|
||||
MCU ->> 小核:上电
|
||||
activate 小核
|
||||
note over 小核:根据上次启动的ircut切换条件初始化ircut IO<br>消耗0ms是由于ircut IO会提前切换好
|
||||
小核 ->> 小核:ircut切换-消耗0ms
|
||||
小核 ->> 小核:Sensor初始化
|
||||
小核 --> 大核:Sensor初始化完成-100ms
|
||||
activate 大核
|
||||
大核 ->> 大核:内核快启抓拍(1P/3P)-200ms
|
||||
大核 ->> 大核:内核启动(文件系统/挂载sd卡)-?ms
|
||||
大核 ->> 大核:启动脚本启动APP-?ms
|
||||
大核 ->> 大核:保存到sd卡-?ms
|
||||
大核 ->> +MCU:获取启动模式
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复启动模式
|
||||
opt 定时启动状态
|
||||
大核 ->> +MCU:获取黑/白状态
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复黑或者白
|
||||
alt sensor初始化参数和环境参数匹配
|
||||
note over 大核:环境参数未发生变化时,可直接保存快启的抓拍
|
||||
大核 ->> 大核:保存到sd卡-?ms
|
||||
else sensor初始化参数和环境参数不匹配
|
||||
note over 大核:环境参数发生变化时,需要重新初始化sensor并补拍
|
||||
大核 ->> 大核:ircut重新切换
|
||||
大核 ->> 大核:重新初始化sensor参数
|
||||
大核 ->> 大核:重新抓拍/录像
|
||||
大核 ->> 大核:保存到sd卡-?ms
|
||||
end
|
||||
end
|
||||
note over 大核:定时状态启动抓拍完直接关机
|
||||
大核 ->> MCU:关机
|
||||
MCU ->> 小核:断电
|
||||
MCU ->> 大核:断电
|
||||
|
@ -189,7 +288,7 @@ opt 根据定时参数上电
|
|||
end
|
||||
```
|
||||
|
||||
#### 1.4.2.3. 设置/调试状态启动
|
||||
#### 1.4.2.4. 设置/调试状态启动
|
||||
|
||||
   特殊的启动状态,可以较长时间通电完成其它功能,期间可供用户完成相关调试和参数设置,此时功耗较高。超时进入工作模式。
|
||||
|
||||
|
@ -203,22 +302,41 @@ participant MCU
|
|||
participant 小核
|
||||
participant 大核
|
||||
MCU ->> MCU:待机
|
||||
opt 光敏>>>黑夜状态
|
||||
note over MCU:由外置单片机点亮红外补光灯
|
||||
MCU ->> MCU:点亮红外灯
|
||||
end
|
||||
opt TEST拨键-ON
|
||||
MCU ->> 小核:上电
|
||||
activate 小核
|
||||
MCU ->> 大核:上电
|
||||
activate 大核
|
||||
note over 小核:根据上次启动的ircut切换条件初始化ircut IO<br>消耗0ms是由于ircut IO会提前切换好
|
||||
小核 ->> 小核:ircut切换-消耗0ms
|
||||
小核 ->> 小核:Sensor初始化
|
||||
小核 --> 大核:Sensor初始化完成-100ms
|
||||
大核 ->> 大核:内核启动(文件系统/挂载sd卡)-?ms
|
||||
大核 ->> 大核:启动脚本启动APP-?ms
|
||||
alt WiFi链接
|
||||
大核 ->> 大核:常通电待机
|
||||
else 无WiFi连接/无操作
|
||||
opt 超时
|
||||
大核 ->> MCU:关机
|
||||
MCU ->> 小核:断电
|
||||
MCU ->> 大核:断电
|
||||
大核 ->> +MCU:获取启动模式
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复启动模式
|
||||
opt TEST状态
|
||||
大核 ->> +MCU:获取黑/白状态
|
||||
note over 大核:大核启动后,需要通过串口获取启动模式,<br>来执行后续的任务
|
||||
MCU -->> -大核:回复黑或者白
|
||||
opt sensor初始化参数和环境参数不匹配
|
||||
note over 大核:环境参数发生变化时,需要重新初始化sensor并补拍
|
||||
大核 ->> 大核:ircut重新切换
|
||||
大核 ->> 大核:重新初始化sensor参数
|
||||
end
|
||||
alt WiFi链接
|
||||
大核 ->> 大核:常通电待机
|
||||
else 无WiFi连接/无操作
|
||||
opt 超时
|
||||
大核 ->> MCU:关机
|
||||
MCU ->> 小核:断电
|
||||
MCU ->> 大核:断电
|
||||
end
|
||||
end
|
||||
end
|
||||
deactivate 小核
|
||||
|
@ -226,7 +344,7 @@ opt TEST拨键-ON
|
|||
end
|
||||
```
|
||||
|
||||
#### 1.4.2.4. 厂测状态启动
|
||||
#### 1.4.2.5. 厂测状态启动
|
||||
|
||||
  生产测试状态触发:使用tf card配置文件触发生产测试状态;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user