Skip to main content

SN2M4EFGD

Overview

SN2M4EFGD is equipped with a 2M dim light dedicated image sensor, a 2M high-performance lSP image processing chip, and a Maxim GMSL2 serializer. lt is designed and positioned as a dim light camera. After professional image debugging, it has high-quality image effects both in day and night, which comes with an IP67-rated enclosure-is supplied with an M16 lens that is focused and glued in our factory.

SN2M4EFGD

Getting Started

Specification

ParameterValue
Sensor2MP RGGB
ISPYes
Image Size1/1.8 inch CMOS
Output Pixels1920H*1080V
Pixel Size4.0um*4.0um
Frame Rate1920*1080@30fps
HDR Support/
LFM/
Output dataYUV422@8bit
SerializerMAXIM MAX96717F
Camera InterfaceGMSL2
Power Supply9~16V POC
CurrentLess than 250mA@12VDC
ConnectorAmphenol Fakra (Z Code)
Operating temp. range-40~+85℃
DimensionsW: 30mm, L:30mm, H:22.5mm
WeightLess than 50g

Dimensions

SN2M4EFGD

Hardware Overview

Block Diagram

SN2M4EFGD

I2C Address Information

ComponentParameterValue
SerializerModelMAX96717F
I2C Address0x80 (8bit address)
GMSL RateGMSL2 (3G bps)
ISPI2C Address0x40 (8bit address)
Frame SyncControlled by MAX96717F MFP7
ResetControlled by MAX96717F MFP0
Data TypeYUV422 8bit

Lens Options

ModelHFOVVFOVF.NoEFLMax Optical DistortionWater-proofLens Mount
SN2M4EFGD70°40°1.66.35mm-21.8%IP67M16

Employing Camera

1. Adaptation to NVIDIA® Jetson™ platform

SN2M4EFGD_ConnectNvidia

SN2M4EFGD Camera Connect to Nvidia Jetson AGX Orin

Step 1: Installation Steps

Quick Setup
  1. Connect the SN2M4EFGD camera to the SG4A_ORIN_GMSL2 board using the coaxial cable
  2. Mount the SG4A_ORIN_GMSL2 board onto the Jetson AGX Orin module
  3. SN2M4EFGD camera Connect the power supply
  4. SG4A_ORIN_GMSL2 board Connect the power supply
  5. Power on the system

Step 2: Software Preparation

SDK Download

-Select the appropriate driver package based on your camera type and JetPack version:

-Copy the full link address to DownGit to download

NO.JetPack VersionCameraNVIDIA Jetson DevicesAdapter BoardDownload Link
1JP6.2SN2M4EFGDJetson AGX Orin Developer KitSG4A_ORIN_GMSL2Download
JetPack Versions

NVIDIA JetPack (Jetpack 5.1.2 or Jetpack 6.0 ) is the official software development kit (SDK) for the Jetson series of development boards. It includes the operating system, drivers, CUDA, cuDNN, TensorRT, and other development tools and libraries. Each JetPack version typically corresponds to a specific Jetson Linux version (formerly known as L4T - Linux for Tegra).

  • 36.4.3: L4T R36.4.3 (Jetpack 6.2)
  • 36.4: L4T R36.4 (Jetpack 6.1)
  • 36.3: L4T R36.3 (Jetpack 6.0)
  • 35.4.1: L4T R35.4.1 (Jetpack 5.1.2)

For more information, visit NVIDIA's official Jetson Download Center.

2. Camera Integration with Customer's Self-developed Platform

For customers with their own deserializer who want to adapt our camera (serializer) to their platform, detailed technical coordination is required.

SG8A-ORIN-GMSL2-complete

The diagram illustrates the communication architecture between a camera and controller system. It shows how data flows from the Sensor/ISP through the Serializer on the Camera side, across to the Deserializer and SOC on the Controller side. The system utilizes Fsync signals for synchronization and MFP7 interfaces for control. This architecture is essential for proper integration of SENSING cameras with customer-developed platforms.

SENSING will provide:

  • Serializer and Deserializer Configuration

  • Link Status Troubleshooting Guide

    • Link training parameters
    • Error detection settings
tip

Please refer to the software flow and demo code below to develop your driver code.

Software Development Demo

  1. Driver Development:
/* Example code for MAX9296 I2C initialization */
#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 (3Gbps)
i2c_write(MAX9296_I2C_ADDR, 0x0001, 0x01);

// Configure linkA and linkB settings for GMSL2 selection (default value)
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;
}
  1. Camera Configuration:
/* Example code for SN2M4EFGD initialization */

#define MAX96717F_I2C_ADDR 0x80 // 8-bit address

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

// Reset ISP through MAX96717F
i2c_write(MAX96717F_I2C_ADDR, 0x02BE, 0x10); // MFP0 high
//
i2c_write(MAX96717F_I2C_ADDR, 0x0057, 0x12);
i2c_write(MAX96717F_I2C_ADDR, 0x005B, 0x11);
// Configure datatype YUV422 8bit
i2c_write(MAX96717F_I2C_ADDR, 0x0318, 0x5E);

// camera trigger MFP7 low to high
i2c_write(MAX96717F_I2C_ADDR, 0x02D3, 0x00); // MFP7 low
delay_ms(300);
i2c_write(MAX96717F_I2C_ADDR, 0x02D3, 0x10); // MFP7 high

return 0;
}

Integration Steps

  1. BSP Integration:

    • Modify the device tree to include the CSI interface configuration
    • Add camera driver to kernel build configuration
    • Configure media controller pipeline for the camera
  2. Application Development:

/* Example code for capturing camera frames */
#include "camera_api.h"

int main() {
// Open camera device
int fd = open("/dev/video0", O_RDWR);
if (fd < 0) {
perror("Failed to open camera device");
return -1;
}

// Configure video capture format
struct v4l2_format fmt = {0};
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = 1920;
fmt.fmt.pix.height = 1080;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY;

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

// Request and map buffers
// ... (buffer setup code) ...

// Start streaming
// ... (streaming code) ...

// Capture and process frames
// ... (frame processing code) ...

// Cleanup
close(fd);
return 0;
}

Step 2: Data Processing

After receiving the module data through the MIPI CSI interface:

  • Data Reception
    • MIPI CSI-2 protocol implementation
    • Data rate configuration
  • Image Processing
    • YUV422 data parsing
    • Image format conversion
    • Display configuration

Technical Support

  • Documentation

    • Detailed register descriptions
  • Engineering Support

    • Technical consultation
    • Debug assistance
    • Performance optimization
tip

SENSING Technology provides technical support for integration with most platforms. For detailed documentation, sample code, and technical assistance, please contact our support team.