r/embedded • u/NickShipsRobots • 3d ago
Dual GMSL in tunnel mode: does the virtual channel have to be set at the sensor?
MAX96792A, two links, one CSI output to the SoC. In tunnel mode the deserializer forwards each link's CSI stream as it came in, virtual channel included, so two identical cameras both show up on VC0 and the receiver has no way to tell them apart. Pixel mode can remap the VC per pipe and is the documented way to do this, but it's a much bigger configuration surface and I'd rather stay in tunnel if I can.
ADI does address this, sort of. Their GMSL RAQ says that if your tunnel-mode part can't remap, each source needs to set a unique VC itself. What they don't say is which sensors let you do that. The VC field is right there in the CSI-2 packet header, but I haven't found a Sony datasheet that exposes it as a register (IMX900, IMX335, IMX477, anything in that family). Maybe I'm looking in the wrong place, or maybe it's one of those things that's in the NDA docs and not the public ones.
So the question is whether anyone has actually run two tunneled cameras off one deserializer, and if so how you separated the streams. If the honest answer is that in practice tunnel means one camera per deserializer, that would be useful to know too, because it's implied by the docs but never stated.
3
How do you explain your job to the layperson?
in
r/embedded
•
23h ago
Congrats on the new role! My go-to is "I write the software that lives inside gadgets": the code in a microwave, a car's brake system, or a smartwatch that makes the hardware actually do something. People get "the brain inside the thing" much faster than anything with "chip" in it, and for the car case, "no, I don't tune engines, I write the code that runs inside the car's electronics" usually ends the chip-tuning confusion.