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 Function | AE 曝光行数与增益换算 |
| 黑电平设置 | 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:
- Pinmux:配置 I2C、MIPI 和主时钟 MCLK。
- 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;
关键字段详解
- data_rate (数据速率):
MIPI_DATA_RATE_X1: 每个时钟周期传输 1 个像素。MIPI_DATA_RATE_X2: 高分辨率(如 4K/8K)或高帧率场景常用 X2。
- img_rect (图像区域):
- 必须与 Sensor 实际输出的尺寸严格一致,否则后端 ISP 无法获取完整数据,导致画面无法正常显示。
- mipi_attr.lane_id:
- 关键配置。定义 SoC 物理 Lane 与逻辑数据流的映射。硬件布线交叉时,可通过软件在此处交换顺序。
五、 适配小结
适配新 Sensor 时,应根据 Sensor Datasheet 的 Output Format 章节,依次确认上述参数,并在 sample_comm_vi.c 的 sample_comm_vi_get_mipi_attr_by_sns_type 函数中进行静态定义。
[海思 3519DV500] Sony IMX385 传感器适配
https://www.eustia-astraea.top/posts/hisi/hi3519dv500-imx385-adaptation/