CRM如何精确控制RT设备和与UMD通信笔记

2024-01-10 08:28:24

1 CRM工作职责

  • 监控link req是否得到schedule
  • 监控link上各个device的req是否ready
  • 监控SOF或EOF的trigger信号,决定各个设备配置哪个req

2 CRM如何精确控制RT设备

分两步,一是crm知道某帧req的link dev准备好了,可以做apply setting。 二是不同的link dev,他们生效的pipeline delay不同,对于pd为1和pd为2的device,crm如何配置下apply setting,如何控制。

2.1 CRM如何知道link dev准备好了

1)pipeline下openRequest时,调用到kmd的schedule req,此时crm slot status置为add状态
2)每个link device的req从umd下发到kmd后,会调用cb_add_req()回调给crm,crm中req table(有2个,pd为1和pd为2的)中会判断当前link 中所有device是否收到了req,如果满足则将req table中slot status置为ready状态

2.2 CRM如何下apply setting

3)isp收到一帧数据,会触发SOF中断,当SOF发生时会回调crm的process_add_req(),它会检查当前的req在link中,req tbl是否ready,如果满足,Crm将各设备当前SOF需要配置的requested 信息填到 link->req.apply_data[]中,调用send_req()来配置控制每一个实时设备硬件,即通知设备设置哪一个request setting。

什么是EPCR?
在stream on之前提前配置HW。打开early PCR后,ISP只会丢1帧。
如果不打开,可能丢2或3帧,根据设备性能不同,如果性能好,第一个SOF到来处理frame1时,streamon已打开,则丢2帧。否则性能一般,在第二个SOF到来处理frame2时,streamon才打开,则丢3帧。

3 CRM与UMD使用V4L2 event通信

CRM是UMD和KMD通信的桥梁。
从UMD到kmd直接ioctl调用就行,从kmd到umd如何回复消息?
–KMD与UMD通过v4l2 event通信。
在这里插入图片描述

文章来源:https://blog.csdn.net/lz_1990/article/details/135431979
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。