高通平台sensor驱动中的配置参数
高通类型的sensor 驱动 xxx_sensor.xml 中有以下参数的配置,还是比较关键的一类信息,不搞清楚,调试起来还是比较困惑的,列举如下<lineLengthPixelClock>640</lineLengthPixelClock><frameLengthLines>480</frameLengthLines><minHorizontalBlanking>0</minHorizontalBlanking><minVerticalBlanking>0</minVerticalBlanking><outputPixelClock>372000</outputPixelClock><horizontalBinning>1</horizontalBinning><verticalBinning>1</verticalBinning><frameRate>60</frameRate><laneCount>1</laneCount><settleTimeNs>26</settleTimeNs><is3Phase>0</is3Phase>
下面针对每一类参数具体说明,最后是其他人理解的参考
lineLengthPixelClock ,frameLengthLines
lineLengthPixelClock 指HTS,包括hblank在内的整个输出像素行长
frameLengthLines 指VTS,包括vblank在内的整个输出行数
minHorizontalBlanking,minVerticalBlanking
确定 minHorizontalBlanking(最小水平消隐)和 minVerticalBlanking(最小垂直消隐)的合适设置值,需要结合传感器特性、硬件时序要求和实际调试验证。
-
参考传感器数据手册(Datasheet)
传感器厂商会在数据手册中明确规定水平消隐(Horizontal Blanking) 和垂直消隐(Vertical Blanking) 的最小值,这是最核心的参考依据。
消隐参数的作用:消隐期是传感器在一行 / 一帧数据传输结束后、下一行 / 下一帧开始前的 “空闲时间”,用于满足硬件时序同步(如时钟信号、数据总线切换)需求。
数据手册中通常会以 HBLANK(水平消隐)、VBLANK(垂直消隐)或 Hsync/Vsync 时序参数的形式给出最小值,需直接引用或以此为基础调整。 -
结合高通平台的硬件限制
高通平台的 Camera 接口(如 MIPI-CSI2)和 ISP 对时序有额外约束,需确保消隐值不低于平台的硬件最小要求:
查看高通芯片的 Camera 接口规格文档(如《Qualcomm Camera Interface Specification》),确认 MIPI 通道数、数据速率对应的消隐期下限。
例如,当传感器以高帧率(如 60fps)或高分辨率(如 4K)传输时,数据带宽增加,可能需要更长的消隐期以保证信号稳定。 -
参考高通驱动配置示例
高通的 Camera 驱动框架(如 CamX/KMD)中,默认配置文件(如 sensor.xml 或 device_tree)会提供同类型传感器的消隐值参考,可作为初始值:
路径通常为:vendor/qcom/proprietary/camx/src/sensors/<sensor型号>/ 或设备树中的传感器节点。
示例:
xml
100
20
这些值是经过验证的 “安全值”,可作为调试起点。
outputPixelClock
outputpixelclock = mipi_output_speed*lanecounts/bits-per-pixel
outputpixelclock 也叫op_clk。是表示每秒有多少数据从camera sensor通过mipi lane传输到VFE。
mipi_output_speed 是mipi 每条lane的数据传输速率。这个值是mipi_clock的两倍,因为mipi csi在上升沿和下降沿都可传输数据。
bits-per-pixel:顾名思义,只是每个像素点有多少个bit。比raw10,就是指10个bit。
horizontalBinning,verticalBinning
是左右像素插值合成一个像素的设置,如下
settleTimeNs
设置时间,以纳秒(ns)为单位。这是确保传感器的PHY传输器与芯片集的PHY接收器同步所需的最小时间。
settleTimeNs = ((85ns + 6UI)/T(Timer_clk) ) – 10
TIMER_CLK:指的是PHY接口的操作频率,即摄像头传感器连接的PHY接口的时钟频率。例如,CAMSS_PHY0_CSI0 PHYTIMER_CLK 可能表示与PHY0接口相关的时钟频率。
T(Timer_clk):表示在操作频率等于TIMER_CLK时的时钟周期持续时间,以纳秒为单位。
UI:单位间隔(Unit Interval),基于每个数据通道的数据速率计算出的时钟周期时间。
is3Phase
在高通平台中,is3Phase 是一个标志,用于指示传感器是三相传感器(C-PHY)还是一相传感器(D-PHY)
当is3Phase取值为 0 时,表示传感器是一相传感器(D-PHY);当is3Phase取值为 1 时,表示传感器是三相传感器(C-PHY)。
参考
https://blog.csdn.net/weixin_43326587/article/details/137350635
https://www.pianshen.com/article/2442104300/
https://www.cnblogs.com/lethe1203/p/18100569