首页 > 其他分享 >Camera sensor bringup

Camera sensor bringup

时间:2024-03-28 20:11:26浏览次数:26  
标签:xml 模组 配置 bringup 地址 Camera 寄存器 sensor

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 手电筒
   

标签:xml,模组,配置,bringup,地址,Camera,寄存器,sensor
From: https://www.cnblogs.com/lethe1203/p/18102527

相关文章

  • Camera基础知识四
    MIPI-CSI2的PHY层定义了CSI传输介质的电气特性、帧格式以及时钟等,如下:DPHYLaneStates:EscapeMode跟csi无关,是DSI用的 LP切换到HS模式切换:差分信号一般100mv-300mvHS_SETTLE,这段时间,1.2V降到100-300mv需要时间稳定下来。HS_ZERO表示发送为0。一旦MIPITX发送00011101......
  • Camera基础知识三
    参考资料:极客笔记侵权联删 Camerasensor状态机:状态机:POWEROFF、hardwarestandby、software、streaming没电的时候就是poweroff状态,上电了进入hardwarestandby状态,xshutdown也就是reset,进入softwarestandby状态。PLL寄存器配置进去之后就进入streaming状态 Camera......
  • camera基础知识二
    Camerasensorblock:以0V13b10为例:ADC:转换成数字信号ISP:一般sensor内部的isp处理很有限,会选择外部的ispimageinterface:MIPITX,转换成mipi载波信号发出去PLL:外部晶振或者平台端提供时钟,sensor内部做分屏timingLogical:reset、fsync等controlregisterbankSCCB:serialcame......
  • Camera基础知识
    camera模组组成:保护膜:适用于对与镜头的保护,防止镜头出现灰尘或者污渍,以及防止镜头镜片出现划痕。镜头:主要作用是聚集光线,并将光线折射到传感器上马达(VCM):通过移动镜头来实现光学变焦IR滤光片:人眼感测器只能检测到波长介于400nm至700nm之间的可见光,IR滤光片就是用来避掉户外的......
  • sensor_msgs/msg/CameraInfo消息解释
    sensor_msgs/msg/CameraInfo消息解释在ros2中,输入命令行ros2interfaceshowsensor_msgs/msg/CameraInfo可以查看sensor_msgs/msg/CameraInfo的具体内容及解释:#Thismessagedefinesmetainformationforacamera.Itshouldbeina#cameranamespaceont......
  • C语言bringup LED
    参考文章:https://doc.embedfire.com/linux/imx6/driver/zh/latest/bare_metal/gcc_led.html LED灯源码程序包含两部分内容,第一部分在汇编文件中设置“栈地址”并执行跳转命令跳转到main函数执行C代码。第二部分在C文件中使led灯不断闪烁。将“汇编点亮led灯的源码led.S复制到......
  • 汇编bringup LED
    此节学习视频:https://www.bilibili.com/video/BV1yE411h7uQ?p=6&vd_source=432ba293ecfc949a4174ab91ccc526d6 在STM32上,.s就是汇编,cortexA一般不会提供汇编,必须自己写汇编文件,对于A系列,初始化ram,没办法用c初始化,必须先初始化一些外设,这些外设必须用汇编初始化,但是用到的汇编......
  • 【PR】UC-NERF: NEURAL RADIANCE FIELD FOR UNDERCALIBRATED MULTI-VIEW CAMERAS IN A
    【简介】这篇文章的作者来自中科大、北大武汉人工智能研究院、大疆和上海科大,投稿到了ICLR2024会议,已接收。UC,表示undercalibrated,意味着标定不准。本文提出UC-NeRF用于解决标定不够好的多相机配置的新视角合成方法。首先,作者提出一种基于层的颜色校正方法,以纠正不同图像区域......
  • Simple-BEV_ What Really Matters for Multi-Sensor BEV Perception_
    title:"Simple-BEV:WhatReallyMattersforMulti-SensorBEVPerception?"tags:-paperSimple-BEV:WhatReallyMattersforMulti-SensorBEVPerception?ZoteroAbstractBuilding3Dperceptionsystemsforautonomousvehiclesthatdonotrelyo......
  • cv2.calibrateCamera
    相机造成的失真类型如何找到相机的内在和外在特性如何基于这些特性来消除图像失真基础一些针孔相机会对图像造成严重失真。两种主要的畸变是径向畸变和切向畸变。径向变形会使直线看起来是弯曲的。点离图像中心越远,径向失真就越大。例如,下面显示了一个图像,其中棋盘的两个边缘......