跳到主要内容

曝光调试

导航栏

RV1126B 过曝主要靠 ISP35 的 AE(自动曝光) 调,不靠改应用随便压亮度。推荐路径如下。


结论先说​

层级位置用途
IQ 参数(主战场)external/camera_engine_rkaiq/rkaiq/iqfiles/isp35/common/*.json → 设备 /etc/iqfiles/改目标亮度、EV、过曝保护
在线调参工具PC 端 IQ Tool + 板端 rkaiq_tool_server(端口 5543)连 10.0.0.102 实时改 AE
应用层 APIrk_aiq_user_api2_ae_* / rkipc isp.c代码里临时压曝光或开 HLC
文档Redmine ISP35 Tuning Guide(SDK docs 里可能不全)AE/OverExp 官方说明

EVB 默认传感器倾向 SC450AI,对应 IQ:
external/camera_engine_rkaiq/rkaiq/iqfiles/isp35/common/sc450ai_default_default.json


1. 先确认设备实际用的 Sensor / IQ​

在已 adb connect 10.0.0.102 的终端:

adb shell
# 或已进 shell:
ls /etc/iqfiles/ /usr/share/iqfiles/ /oem/usr/share/iqfiles/ 2>/dev/null
ps | grep -E 'rkipc|rkaiq'
media-ctl -p 2>/dev/null | head -80
cat /sys/class/video4linux/v4l-subdev*/name 2>/dev/null

看实际加载的是 sc450ai_*.json 还是 imx415_*.json 等,后面只改对应文件。

rkipc 启动方式(SDK 里):

	if [ -d "/usr/share/iqfiles" ];then
rkipc -a /usr/share/iqfiles &

2. 过曝优先改这 3 个 AE 参数(IQ JSON)​

路径在 JSON 里:scene_isp35 → ae_calib → linAeCtrl(线性)/ hdrAeCtrl(HDR)。

以 SC450AI 默认为例:

							"linAeCtrl":	{
"sw_aeT_evBias_strg": 0,
...
"dynSetpoint": {
"sw_aeT_dynSetpoint_dot": [30, 30, 30, 30, 28, 26, 24]
},
"overExpCtrl": {
"sw_aeT_overExp_en": 0,
"sw_aeT_overExpBias_strg": 0,
...
}
参数作用过曝时怎么调
sw_aeT_dynSetpoint_dotAE 目标亮度整体降低,如 30→22~25
sw_aeT_evBias_strgEV 补偿(约 -500~500)改负,如 -30 ~ -80
overExpCtrl.sw_aeT_overExp_en高光过曝保护0→1,并可调 sw_aeT_overExpBias_strg / hiLitWgt

注意:当前默认是 ae_strategy_lowlight_mode(偏保暗部),亮场景更容易偏亮;过曝明显时可配合过曝保护,或按 Tuning Guide 改策略。


3. 推荐工作流(两种)​

方案 A:在线调(最快,推荐)​

工具:

  • 板端:rkaiq_tool_server(源码:external/camera_engine_rkaiq/rkaiq_tool_server/)
  • PC:Rockchip IQ Tool / IQLab(SDK 外,一般从 Redmine/AVL 拿)
  • 可选:dumpcam(external/camera_engine_rkaiq/rkaiq/tools/dumpcam/)看 AE 状态
# PC
adb connect 10.0.0.102
adb forward tcp:5543 tcp:5543 # 若直连 IP 不通再用

# 设备:保证相机在跑(rkipc 等),再起 tool server
adb shell "which rkaiq_tool_server; rkaiq_tool_server -i /etc/iqfiles -d 0"

PC IQ Tool 连 10.0.0.102:5543(或 127.0.0.1:5543)→ 打开 AE → 降 SetPoint / 负 EvBias / 开 OverExp → 导出 JSON。

推回设备:

adb push your_sensor_xxx.json /etc/iqfiles/
adb shell "sync; killall rkipc; rkipc -a /etc/iqfiles &"
# 若启动脚本用 /usr/share/iqfiles,则推到同一路径并与 RkLunch 一致

说明:部分 Yocto 镜像会裁掉 rkaiq_tool_server/dumpcam,没有就从 SDK 编进 rootfs 或单独 adb push。

方案 B:离线改 IQ 再推​

  1. 编辑 SDK:
    external/camera_engine_rkaiq/rkaiq/iqfiles/isp35/common/<你的sensor>_*.json
  2. adb push 到设备 IQ 目录,重启 rkipc
  3. 或改完后重新打包 rootfs / 整包烧录固化

4. 代码 / 应用层(临时验证)​

API 头文件:
external/camera_engine_rkaiq/rkaiq/include/uAPI2/rk_aiq_user_api2_ae.h

示例(OverExp / EvBias):
external/camera_engine_rkaiq/rkisp_demo/demo/sample/sample_ae_module.c
里的 sample_set_OverExpCtrl()、rk_aiq_user_api2_ae_setLinExpAttr()。

rkipc 已有封装(手动曝光、HLC):
app/rkipc/common/isp/rv1126b/isp.c

  • rk_isp_set_exposure_mode/time/gain → 手动压曝光验证
  • rk_isp_set_hlc / rk_isp_set_hlc_level → 高光抑制(rk_aiq_uapi2_setHLCMode/Strength)

适合“先确认是不是纯 AE 目标偏高”,不适合当最终量产标定。


5. 建议排查顺序​

  1. 确认 sensor + 实际 IQ 文件名
  2. 白天过曝:先降 dynSetpoint + 负 evBias
  3. 仍有高光炸:开 overExpCtrl,必要时开 rkipc HLC
  4. 仍饱和:查 route 里 time/gain 是否过大,以及是否该用 HDR
  5. IQ Tool 调稳后,把 JSON 固化进 /etc/iqfiles(或 SDK iqfiles)再量产

文档​

  • 以 ISP35 Tuning Guide 为准(RV1126B / RKIPC 相关)
  • 入口:docs/cn/Common/ISP/The-Latest-Camera-Documents-Link.txt → Rockchip Redmine document 53