Camera sensor bringup

Camera Sensor Module配置信息:

Camera Module Configuration 的信息包含在:
<cameraModuleData></cameraModuleData>
以vendor/qcom/proprietary/chi-cdk/oem/qcom/module/xxx_sunny_s5khm2_wide_module.xml 为例:
0
各配置参数含义如下:
参数名
说明
cameraId
sensor的slot id, 需要和kernel dtsi中定义的id一致。
chromatixName
打开二进制文件( tunning文件名字)
sensorName
需要和xxx_sensor.xml中的保持一致
actuatorName
需要与xxx_actuator.xml中的< actuatorName >保持一致
eepromName
需要与xxx_eeprom.xml中的< eepromName >保持一致
flashName
需要与xxx_flash.xml中的< flashName >保持一致
CSIInfo
laneAssign
主板和sensor之间的mipi data lane连接顺序。如0x3210表示主板的data lane3接到sensor 的data lane3,依次顺序,主板的data lane0接到sensor 的data lane0。
 
isComboMode
Combo mode表示一个csi phy的五组线(data0/data1/data2/data3/clk)被分成两个大组,可以同时接到两个sensor上,其中一个sensor分配data0和CLK,另一个分配位data0/data1/CLK。
lensInfo
(查看模组spec)
focalLength
焦距,模组spec里面有
 
fNumber
光圈大小,模组spec里面有
 
minFocusDistance
最小对焦距离,模组spec里面有
 
maxFocusDistance
最大对焦距离,模组spec里面有
 
horizontalViewAngle
水平FOV(视场角),模组spec里面有
 
verticalViewAngle
垂直FOV,模组spec里面有
 
maxRollDegree
Roll方向偏转角度,目前在dtsi中定义
 
maxPitchDegree
Pitch方向偏转角度,目前在dtsi中定义
 
maxPitchDegree
Yaw方向偏转角度,目前在dtsi中定义
配置注意事项:
· “cameraID” 需要跟kernel 里面的device tree 匹配;
· 各个模组的Name 不能写错, 通过这个名字找到对应的模块的配置信息;
· “position” 的信息会根据这些信息来枚举模组,在camera provider的启动流程里面会涉及到;
“CSIInfo” 这个配置信息需要跟sensor IC 内部寄存器的配置信息匹配,否则会导致数据接收有问题;  
sensor dtsi也有maxRollDegree、maxPitchDegree、maxPitchDegree,当xml里面不是360,就以xml里面的参数为准。xml里面参数会覆盖dtsi里面的参数
 
 

Camera Sensor XML配置:

XML配置举例:
0
0
各配置参数含义如下:
参数名
说明
SensorName
sensor型号
slaveAddress
i2c write address,i2c地址一般是7位,最后一位读写位,写地址8位
regAddrType
地址类型1,2,4Byte
regDataType
数据类型1,2,4Byte
sensorIdRegAddr
sensor id寄存器地址
sensorId
sensor id值,没写对就对导致匹配失败
sensorIdMask
一般值为0xFFFFFFFF
i2cFrequencyMode
i2c操作频率,比如FAST_PLUS

 powerUpsequence

powerDownsequence
上下电相关信息
configType
上下电控制节点,VANA/VDIG/VIO/MCLK/RESET
configValue
电压/电平/时钟状态,MCLK为24M就填24M
delayMs
上下电延时,一般都填0
 /powerUpsequence
/powerDownsequence
 
xOutput
sensor x寄存器地址
yOutput
sensor y寄存器地址
frameLengthPixelClock
vts寄存器地址
LineLengthPixelClock
hts寄存器地址
coarseIntgTimeAddr
linecount曝光寄存器地址
shortCoarseIntgTimeAddr
短曝光寄存器地址
globalGainAddr
gain寄存器地址
shortGlobalGainAddr
短帧gain寄存器地址
digitalGlobalGainAddr
数字gain寄存器地址
testPatternRAddr
R通道测试寄存器
testPatternGRAddr
Gr通道测试寄存器
testPatternDAddr
B通道测试寄存器
testPatternGBAddr
Gb通道测试寄存器
 
resoltionData
/resoltionData
一组配置信息
colorFiltArrangement
bayer阵列,如BAYER_BGGR
vc
虚拟通道,0/1/2/3
dt
dataType,数据类型
xStart
x坐标
yStart
y坐标
width
h_active
height
v_active
bitWidth
位宽
type
数据流类型,如IMAGE/PDAF
lineLengthPixelClock
HTS
frameLengthLines
VTS
minHorizontalBlanking
hblanking,影响到isp时钟的计算,可直接填0
minVerticalBlanking
vblanking,影响到isp时钟的计算,可直接填0
outputPixelClock
op_clk
horizontalBinning
hbinning
VertialBinning
vbinning
framerate
帧率fps
laneCount
mipi lane count
settleTimeNs
mipi settle time,默认一般14,LP->HS需要稳定的时间,丢包可考虑方向
is3Phase
DPHY或者CPHY,0表示DPHY,1表示CPHY
operation
读写操作,WRITE表示写,READ表示读
delayUs
延时,如0x00
 
cropInfo
 
left
左边宽度
right
右边宽度
top
上边宽度
bottom
下边宽度
 
/cropInfo
 
RemosaicTypeInfo
HW/SW,硬件马赛克还是软件马赛克,Bayer BGGR,有的sensor四个像素点全是B(类似这种)
capability
如QuadCFA,四合一sensor
ADCReadoutTime
行数据ADC转换时间,如2,基本可忽略
maxAnalogGain
最大模拟gain,如32,sensor实际spec填写
maxDigitalGain
最大数字gain,没用到就填1
verticalOffset
offset <= vts - linecount
minLineCount
最大曝光行
maxLineCount
最小曝光行
realToRegDigitalGainConversionFactor
转行系数,描述模拟gain到真实寄存器Gain转换系数,在驱动xml里面可填
realToRegGain
 
regToRealGain
 
 
streamOnSettings
/streamOnSettings
streamon寄存器,一般为一个寄存器,开流
 
streamOffSettings
/streamOffSettings
停流
 
groupHoldOnSettings
/groupHoldOnSettings
groupHoldOffSettings
/groupHoldOffSettings
sensor holdon寄存器,寄存器打开之后,再去写lanecount,写holdoff批量同时生效
 
masterSettings
/masterSettings
slaveSettings
/slaveSettings
双摄配置,作为master和slave都有相应的寄存器配置
 
initSettings
/initSettings
sensor初始化配置,在resolution组之前跑的
 
testPatternData
/testPatternData
color bar格式配置
 
colorLevelInfo
 
whiteLevel
最大亮度,根据raw位宽设置,比如raw10,最大表示的亮度就是1024
rPedestal
暗电流
grPedestal
暗电流
gbPedestal
暗电流
gbrPedestal
暗电流
 
/colorLevelInfo
 
 
opticalBlackRegionInfo
 
 
dimension
 
xStart
非感光区域x坐标
yStart
非感光区域y坐标
width
非感光区域宽
height
非感光区域高
 
/dimension
 
/opticalBlackRegionInfo  
 
activeDimension
 
width
sensor最大有效输出尺寸,sensor的固定值
height
 
 
/activeDimension
 
 
dummyInfo
描述的dummy数据
left
左边宽度
right
右边宽度
top
上边宽度
bottom
下边宽度
 
/dummyInfo
 
SOF-exp-linereadout-adcreadout = 一帧开始曝光的时间
参数名
说明
 
delayInfo
 
linecount
lineCount延时几帧生效,Pipieline delay
gain
gain延时几帧生效
framelengthLines
VTS延时一帧生效
maxPipeline
sensor延迟几帧生效,比如2
frameSkip
sensor丢帧
 
/delayInfo
 
 
sensorProperty
sensor固有属性
pixelSize
像素尺寸
cropFactor
crop因子
sensingMethod
ONE_CHIP_COLOR_AREA
 
/sensorProperty
 
 
 

设备树配置信息:

配置对应的dtsi:
vendor\qcom\proprietary\camera-devicetree\XXX-camera-sensor-XXX.dtsi
属性名
说明
csiphy-sd-index
mipi通道 用于接收传感器数据的csiphy实例。  这个需要看硬件原理图来确认,根据原理图确定使用的mipi通道是哪一组。一般来说,后摄是接在csi0上,所以这里配0,前摄是接在csi1上。
qcom,cci-master
IIC的通道,根据原理图确定器件使用的是哪一组IIC通道
sensor-mode
传感器模式支持
sensor模式 0: 后置。 1:前置。
· 2 -> back camera 3D
· 3 -> back camera int 3D
qcom,sensor-position
camera位置。0-后摄;1-前摄;0x100-副摄
cell-index
唯一标识,用来区分多个摄像头。
   
mount-angle
后置90,前置270
sensor-position-roll
sensor-position-pitch
sensor-position-yaw
一般
后置 90 0 180
前置 270 0 0
这里如果设置错了(sensor出的raw图会倒置)
 
gpios = <&tlmm 27 0>
&引用GPIO节点别名 GPIO标号 工作模式
gpio-reset
传感器 reset脚的索引
gpio-req-tbl-num
与gpios和gpio-req-tbl-label相对应
gpio-req-tbl-flags
设置gpio的方向,1表示输入,0表示输出。
供电
 
cam_vio-supply
dovdd供电支持
cam_vana-supply
avdd供电支持,analog
cam_vdig-supply
dvdd供电支持,digital
cam_clk-supply
时钟供电
cam_vaf-supply
自动聚焦供电,auto focus
   
rgltr-min-voltage
rgltr-max-voltage
查看对应芯片的文件,确保对应的引脚配置的电压范围
通常最大最小设置一致
regulator-enable-ramp-delay
改变电压到电源稳定后时间。因为硬件原因,改变电源后不能立刻就成功,其中需要有一定的延迟。
rgltr-load-current
电流
   
资源
 
eeprom-src
对应eeprom配置
actuator-src
对应马达配置
flash-source
闪光灯
torch-source
手电筒
 
 
posted @ 2024-03-28 20:05  lethe1203  阅读(5)  评论(0编辑  收藏  举报