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