Skip to main content

Employing Camera

This comprehensive guide outlines integration methods for SENSING GMSL cameras across various platforms and systems.

NVIDIA Platform Integration

SENSING provides pre-adapted solutions for NVIDIA platforms, ensuring optimal performance and reliability with minimal integration effort.

NVIDIA Platform

Available Solutions

Technical Specifications

FeatureSpecification
InterfaceGMSL2/GMSL
Data RateUp to 6Gbps per lane
Temperature-40°C to +85°C
Power Supply12V DC

Integration Process

1. Hardware Setup

  • Connect cameras to the GMSL interface ports
  • Ensure proper power connection (12V DC)
  • Verify physical connections and signal integrity

2. Software Configuration

  • Install NVIDIA drivers and SDK components
  • Configure camera parameters through provided utilities
  • Verify image acquisition and quality
tip

NVIDIA platform solutions are pre-configured and tested to ensure seamless integration with SENSING cameras.

GMSL Camera Grabber Integration

SENSING GMSL camera grabber products provide a flexible solution for multi-camera applications with high-speed data capture capabilities.

GMSL Camera Grabber

Product Features

FeatureSpecification
Camera Input1-8 GMSL cameras
InterfacePCI-e Gen3.0
ResolutionUp to 4K@30fps
OS SupportLinux (Ubuntu 18.04/20.04)

Integration Process

1. Hardware Setup

  • Install the grabber card in an available PCI-e slot
  • Connect cameras to the designated ports
  • Power on the system and verify hardware detection

2. Software Configuration

  • Install driver packages from provided media or repository
  • Configure camera parameters through the supplied SDK
  • Test functionality through sample applications
tip

GMSL grabber solutions are optimized for multi-camera synchronization and high-throughput capture scenarios.

Third-party AI Box Integration

When integrating with third-party AI processing systems, compatibility verification and proper technical coordination are essential.

Third-party AI Box

Integration Workflow

Compatibility Assessment

Review the AI Box manufacturer's "Compatible Camera List"

Example: MiiVii AI Box Camera Compatibility List

Standard Integration
  • Follow the manufacturer's standard integration procedure
  • Refer to their documentation for configuration details
  • Contact their technical support for assistance if needed
Collaborative Integration

1. Establish Technical Collaboration

Create a joint communication channel between:

  • AI Box manufacturer's technical team
  • SENSING support team
  • Customer implementation team

2. Technical Information Exchange

SENSING provides:

AI Box manufacturer implements:

  • Driver adaptations
  • Camera configuration profiles
  • Integration testing procedures
note

The adaptation process typically requires 1-2 weeks depending on technical complexity.

Custom Platform Integration

For customers integrating SENSING cameras with custom deserializer implementations, detailed technical information and development support are provided.

System Architecture

Camera-SoC Integration Architecture
Camera to SoC communication architecture diagram showing serializer/deserializer connections

Technical Integration Process

1. Link Configuration

SENSING provides comprehensive technical documentation including:

2. Software Development

Deserializer Initialization Example
/* MAX9296 I2C initialization example */
#define MAX9296_I2C_ADDR 0x90 // 8-bit address

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;
}
Camera Module Initialization
/* ISX031 sensor initialization example */
#define ISX031_I2C_ADDR 0x34 // 8-bit address
#define MAX9295_I2C_ADDR 0x80 // 8-bit address

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. System Integration

BSP Integration
  • Device tree configuration for CSI interfaces
  • Kernel driver inclusion
  • Media pipeline configuration
Application Development
/* 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. Technical Support Resources

Documentation

Complete register documentation, timing diagrams, and power sequence diagrams

Engineering Support

Technical consultation and debugging assistance for custom implementations

tip

For custom integration projects, please contact SENSING technical support for detailed documentation and application-specific guidance.