功能概述
lpwm为信号源用于camsys系统中触发sensor。lpwm本身也需要外界触发,在收到trigger信号后,按照所配置的period、high-time、offset等参数输出1~500KHz、有效电平0~4095us、默认精度为1us的方波给到sensor,驱动sensor进行同步出图,下图展示了sensor出图的完整过程。

sensor在收到lpwm的trigger信号后,开始曝光出图,这并不代表着曝光时刻与trigger时刻是一致的,具体还需要看sensor的触发机制。
readout同步是出图的时间戳一致,即frame start中断的时间戳和tv值是一致的,但是由于不同型号sensor的曝光处理时间不一致会导致每张图片的内容不是完全一样。

曝光同步是sensor拍屏一致,sensor出图显示的秒表时间是一致的如下图示:

sensor曝光相位差存在两种不同的形式:静态相位差和动态相位差,两种相位差的处理方案是不一致的。
方案实现
静态相位差,表现在不同模组的差别,比如x8b跟x3c的曝光处理时间就不一致,因此这两类模组需要曝光同步时,只需进行静态的偏移即可。
lpwm的配置支持修改每个通道的offset参数,前提该通道硬件支持多lpwm channel,具体的硬件信息可以查看camera dts vcon属性中的lpwm channel信息,如果是不同的channel号,则代表的是独立通道可支持独立配置。

硬件为独立通道时,则可通过调整offset的参数修改不同sensor的readout时间,从而使得不同类型sensor的曝光时间一致。

最后通过修改lpwm.json的offset值进行统一配置即可。

动态相位差,表现为同一组模组之间存在一定的相位偏移,而这个偏移值一般存储在sensor的eeprom中,需要通过接口的方式来实现。
实现方案:
1.sensor驱动获取相位差信息,与默认配置的default值进行相加处理。
2.通过对应的api传递给lpwm进行动态配置。
3.api接口参数:port代表的实际的camera通道,lpwn chn是对应的camera通道,lpwm_dynamic_t则是对应的lpwm属性参数。


