跳到主要内容

摄像头使用

本综合指南说明 SENSING GMSL 摄像头在不同平台和系统中的集成方法。

NVIDIA 平台集成

SENSING 提供面向 NVIDIA 平台的预适配方案,以较低集成工作量确保最佳性能和可靠性。

NVIDIA 平台

可用方案

技术规格

特性规格
接口GMSL2/GMSL
数据速率每通道最高 6Gbps
温度-40°C 至 +85°C
供电12V DC

集成流程

1. 硬件设置

  • 将摄像头连接到 GMSL 接口端口
  • 确认 12V DC 电源连接正确
  • 检查物理连接和信号完整性

2. 软件配置

  • 安装 NVIDIA 驱动和 SDK 组件
  • 通过提供的工具配置摄像头参数
  • 验证图像采集和图像质量
提示

NVIDIA 平台方案已完成预配置和测试,可确保与 SENSING 摄像头顺畅集成。

GMSL 摄像头采集卡集成

SENSING GMSL 摄像头采集卡产品可为多摄像头应用提供灵活的高速数据采集方案。

GMSL 摄像头采集卡

产品特性

特性规格
摄像头输入1-8 路 GMSL 摄像头
接口PCI-e Gen3.0
分辨率最高 4K@30fps
操作系统支持Linux (Ubuntu 18.04/20.04)

集成流程

1. 硬件设置

  • 将采集卡安装到可用的 PCI-e 插槽
  • 将摄像头连接到指定端口
  • 启动系统并确认硬件可被识别

2. 软件配置

  • 从提供的介质或仓库安装驱动包
  • 通过随附 SDK 配置摄像头参数
  • 通过示例应用测试功能
提示

GMSL 采集卡方案面向多摄像头同步和高吞吐采集场景。

第三方 AI Box 集成

与第三方 AI 处理系统集成时,需要进行兼容性验证和充分的技术协同。

第三方 AI Box

集成工作流

兼容性评估

查看 AI Box 厂商的“兼容摄像头列表”

示例: MiiVii AI Box 摄像头兼容性列表

标准集成
  • 按照厂商标准集成流程操作
  • 请参考对应文档获取配置详情
  • 如有需要,请联系对应厂商的技术支持
协同适配

1. 建立技术协作

在以下团队之间建立联合沟通渠道:

  • AI Box 厂商的技术团队
  • SENSING 支持团队
  • 客户实施团队

2. 技术信息交换

SENSING 提供:

AI Box 厂商实现:

  • 驱动适配
  • 摄像头配置文件
  • 集成测试流程
备注

适配过程通常需要 1 到 2 周,具体取决于技术复杂度。

自研平台集成

对于使用自定义解串器集成 SENSING 摄像头的客户,可获得详细技术资料和开发支持。

系统架构

摄像头-SoC 集成架构
摄像头到 SoC 的通信架构图,展示串行器/解串器连接关系

技术集成流程

1. 链路配置

SENSING 提供完整技术文档,包括:

2. 软件开发

解串器初始化示例
/* MAX9296 I2C initialization example */
#define MAX9296_I2C_ADDR 0x90 // 8 位地址

int max9296_init() {
// Initialize I2C bus
i2c_init();

// Disable MIPI output
i2c_write(MAX9296_I2C_ADDR, 0x0313, 0x00);
delay_ms(100);

// Configure link settings for GMSL2 (6Gbps)
i2c_write(MAX9296_I2C_ADDR, 0x0001, 0x02);

// Configure link selection (default values)
i2c_write(MAX9296_I2C_ADDR, 0x0006, 0xC0);

// Configure MIPI rate (1200Mbps)
i2c_write(MAX9296_I2C_ADDR, 0x0320, 0x2C);

// Enable MIPI output
i2c_write(MAX9296_I2C_ADDR, 0x0313, 0x02);

return 0;
}
摄像头模组初始化
/* ISX031 sensor initialization example */
#define ISX031_I2C_ADDR 0x34 // 8 位地址
#define MAX9295_I2C_ADDR 0x80 // 8 位地址

int camera_init() {
// Initialize deserializer first
max9296_init();

// Configure serializer (MAX9295A)
i2c_write(MAX9295_I2C_ADDR, 0x02BE, 0x10); // MFP0 high
i2c_write(MAX9295_I2C_ADDR, 0x0057, 0x12);
i2c_write(MAX9295_I2C_ADDR, 0x005B, 0x11);

// Configure data format (YUV422 8-bit)
i2c_write(MAX9295_I2C_ADDR, 0x0318, 0x5E);

// Camera power sequence
i2c_write(MAX9295_I2C_ADDR, 0x02D3, 0x00); // MFP7 low
delay_ms(300);
i2c_write(MAX9295_I2C_ADDR, 0x02D3, 0x10); // MFP7 high

return 0;
}

3. 系统集成

BSP 集成
  • 用于 CSI 接口的设备树配置
  • 内核驱动集成
  • 媒体管线配置
应用开发
/* Frame capture example */
int main() {
// Open video device
int fd = open("/dev/video0", O_RDWR);
if (fd < 0) {
perror("Failed to open camera device");
return -1;
}

// Configure format
struct v4l2_format fmt = {0};
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = 1920;
fmt.fmt.pix.height = 1536;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;

if (ioctl(fd, VIDIOC_S_FMT, &fmt) < 0) {
perror("Failed to set format");
close(fd);
return -1;
}

// Buffer setup and capture operations
// ...

close(fd);
return 0;
}

4. 技术支持 资源

文档

完整寄存器文档、时序图和上电时序图

工程支持

面向自研实现的技术咨询和调试协助

提示

对于自研平台集成项目,请联系 SENSING 技术支持获取详细文档和面向具体应用的指导。