Camera KMD ISP学习笔记(7)-CRM pipeline delay和V4L2 Event

仅用于个人学习,侵联删
 
Realtime pipeline或实时Pipeline,在这个Pipeilne上的硬件设备有一些特点:
  • 实时,实时是指streamon后一直在出图,如下图的蓝色线(flash和actuator不会出图,但也是挂载到Realtime pipeline上面)
  • 图像数据不是来自DDR
0
后面的处理节点从DDR获得数据,那就不是realtime pipeline了
 
Pipeline Delay
Device Delay(Sensor):
Pipeline delay 就是device delay
Pipeline delay 1的设备:isp/flash/actator
Pipeline delay 2的设备:sensor,也不完全,要根据sensor的datasheet来确定
0
假如在上图Frame 1的SOF修改了sensor的settings,实际生效的可能会在Frame 3,这样的话Sensor的Pipeilne delay就是2。
同理,Frame 2配置的参数要在Frame 4才生效,以此类推
 
CRM是UMD和KMD通信的桥梁:
KMD与UMD通过v4l2 event通信
0
一个是isp,一个sensor发送event,crm将其包装成一个crm事件
dqevent出来的时间
sensor主要是error事件,isp一般是SOF事件,也有可能是error事件,比如sof freeze,报给session
SOF事件给到pipeline,pipeline管理很多node,有的node需要sof信息,比如sensor node,sensor node需要根据SOF时间计算shutter time,报给android metadata。看各个node节点的用法
 
CRM v4l2 event类型:
#define V4L_EVENT_CAM_REQ_MGR_SOF                                0
#define V4L_EVENT_CAM_REQ_MGR_ERROR                              1
#define V4L_EVENT_CAM_REQ_MGR_SOF_BOOT_TS                        2
SOF:start of frame,一帧图开始传输。mipi csid收到sof立马产生中断
ERROR:camera不出图了等
 
v4l2_event_queue到v4l2 core
 
camera_req_mgr_notify_message处理v4l2_event
 
ERROR举个例子:SOF_FREEZE,watchdog超时了等等
 
两个SOF区别:
Qtimer:高通自己的一个硬件,Linux启动开始计时
0
区别:BOOT_TS SOF加了一个第一个SOF来的Linux arch_timer的时间戳
 
 
 
 
posted @ 2024-04-06 16:45  lethe1203  阅读(269)  评论(0编辑  收藏  举报