I2C Messages over GMSL Link

The GMSL protocol allows host controller to control remote serializer and sensor through i2c messages which are passthroughed by GMSL link (control stream).

Conflict I2C Address

Each camera modules have identical i2c slave address. For example, in Leopard AR0233 GMSL camera, it's MAX9295 use 0x62 and CMOS sensor use 0x10, it should be the same in other Leopard AR0233 GMSL camera. As a result, when two identical cameras are shared with the same i2c channels, there should have a i2c address conflict issue.

💡 Remapping Mechanism

Serializer (e.g. MAX9295, MAX96705) provides a way to change their adddress at runtime, which allows you don't need extra hardware change (e.g strap pin). Simply change by setting serializer's register. (0x01 at MAX9295)

sequenceDiagram
	participant HOST as Host Controller
	participant DES as Deserializer
	participant SER as Serializer
	HOST ->> DES: Initialization.
	DES ->>+ SER: Establish control link.
	SER ->>- DES: Control link established.
	HOST ->> SER: Change serializer i2c address.
	note left of SER: Now serializer i2c changed.
	SER ->> DES: Control link locked.
	HOST ->> SER: Access serializer by new address.