634 字
3 分钟
[海思 3519DV500] Sony IMX385 传感器适配

本文档基于 Hi3519DV500 SDK,详细说明如何以 Master Mode(主模式) 适配 Sony IMX385 传感器。在此模式下,由传感器自主产生同步信号,SOC 被动接收。


一、 数据手册 (Datasheet) 核心参考索引#

开发建议

在移植过程中,请重点查阅 IMX385LQR-C 数据手册的以下章节。

核心任务推荐查阅章节备注
初始化流程Setting Flow in Sensor Master Mode必须按照手册时序
1080p 寄存器序列All-pixel scan mode (1080p-HD)提供 30fps/60fps 配置
上电/复位时序Power-on sequence关键! 关乎 I2C 能否通信
增益转换公式Gain Adjustment FunctionAE 曝光行数与增益换算
黑电平设置Black Level Adjustment Function用于 BLC 配置

二、 驱动代码实现 (Driver Layer)#

source/mpp/cbb/isp/user/sensor/hi3519dv500/ 目录下创建 sony_imx385 文件夹,建议参考 sony_imx515 实现。

调试要点
  • I2C 通讯:如果报错,请检查复位电平和 MCLK 时钟。
  • MIPI 报错:通过 cat /proc/umap/mipi_rx 查看 ECC/CRC 错误,确认 Lane 数和时钟极性。
  • 图像异常:调整 HI_ISP_BAYER 排布(如 RGGB 变更为 BGGR)。

三、 硬件管脚配置与上电 (Hardware Layer)#

修改 source/interdrv/sysconfig/sys_cfg.c

  1. Pinmux:配置 I2C、MIPI 和主时钟 MCLK。
  2. Power-on Sequence
    • 严格遵守手册上电时序:电源稳定 -> 开启 MCLK -> 释放 XCLR 复位引脚(拉高)-> 等待至少 20ms 后再进行 I2C 通讯。

四、 核心结构体解析:combo_dev_attr_t#

在适配 VI (Video Input) 时,combo_dev_attr_t 是配置 MIPI RX 控制器的核心结构体,决定了 SoC 如何解析物理层信号。

结构体定义
typedef struct {
combo_dev_t devno; /* 设备编号 (Dev 0, 1...) */
input_mode_t input_mode; /* 输入模式: MIPI/LVDS/SUBLVDS/HISPI/DC */
mipi_data_rate_t data_rate; /* 数据速率: X1 (单像素) 或 X2 (双像素) */
img_rect_t img_rect; /* 采集区域: 对应 Sensor 输出的有效分辨率范围 */
union {
mipi_dev_attr_t mipi_attr; /* MIPI 专用属性 (input_mode 为 MIPI 时生效) */
lvds_dev_attr_t lvds_attr; /* LVDS 专用属性 (input_mode 为 LVDS 时生效) */
};
} combo_dev_attr_t;

关键字段详解#

  1. data_rate (数据速率):
    • MIPI_DATA_RATE_X1: 每个时钟周期传输 1 个像素。
    • MIPI_DATA_RATE_X2: 高分辨率(如 4K/8K)或高帧率场景常用 X2。
  2. img_rect (图像区域):
    • 必须与 Sensor 实际输出的尺寸严格一致,否则后端 ISP 无法获取完整数据,导致画面无法正常显示。
  3. mipi_attr.lane_id:
    • 关键配置。定义 SoC 物理 Lane 与逻辑数据流的映射。硬件布线交叉时,可通过软件在此处交换顺序。

五、 适配小结#

适配新 Sensor 时,应根据 Sensor Datasheet 的 Output Format 章节,依次确认上述参数,并在 sample_comm_vi.csample_comm_vi_get_mipi_attr_by_sns_type 函数中进行静态定义。

[海思 3519DV500] Sony IMX385 传感器适配
https://www.eustia-astraea.top/posts/hisi/hi3519dv500-imx385-adaptation/
作者
mcsl
发布于
2024-06-28
许可协议
CC BY-NC-SA 4.0