Forum: Mikrocontroller und Digitale Elektronik MIPI über 3m - 2-Lane - 270Mbps


von lange_Leitung (Gast)


Lesenswert?

Hallo zusammen,

ich habe eine Kamera, die via MIPI ihre Daten sendet. Dazu verwendet die 
zwei virtuelle Channel. Ich bekomme zwei VGA Bilder mit je 12bit RAW 
Daten. Das ganze passiert mit 30 FPS.

Ich verwende 2-Lanes, mit je 270Mbps, also in Summe 540Mbps.

Nun habe ich diese Kamera an einem Raspberry PI und alles läuft gut.

Die Aufgabe wäre nun, die MIPI Strecke auf 3m zu verlängern.

Ich habe selber mit MIPI schon 60cm überbrückt über diverese 
Steckverbinder und ohne Impedanzkontrolle. Das ging ohne Probleme.
Im Web findet man Exprimente mit 4m Flachbandkabel.

Ich bezweifle aber, dass ich auf 3m eine stabile MIPI Verbindung 
hinbekommen kann - stabil im Sinne von stabile 30 FPS, ohne 
irgendwelchen Frame drops usw.

Als erste Idee hätte ich eine impedanzkontrollierte Strecke.
Ethernet hat ja auch 100-Ohm diff Impedance. Ich könnte also versuchen 
das MIPI-IF auf ein LAN Kabel zu legen. 3m bleiben aber 3m - für ein 
eigentlich auf ein paar cm ausgelegtes Interface!

Wenn man anfängt zu googlen, findet man z.B.:
MIPI Repeater: 
https://www.vision-components.com/fileadmin/external/documentation/hardware/VC_MIPI_Repeater_Board/index.html

MIPI TI repeater chip incl. Re-Timer.
https://www.ti.com/lit/ds/symlink/sn65dphy440ss.pdf?ts=1612263310450&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FSN65DPHY440SS

Kann man auf diese Art und Weise Wirklich MIPI "verlängern"?
Der MIPI CLK wird ja vom Raspberry PI aus getrieben und der Sensor legt 
die Daten entsprechend auf dem Bus. Hier gibt es doch also von Haus aus 
ein propagation delay, was nicht kompensiert werden kann?

Hat jemand andere Ideen bzw. Erfahrungen, wie man ein solches MIPI 
Interface sinnvoll und stabil verlängern kann?

Muss ich es vielleicht komplett in einem FPGA verarbeiten und die Pixel 
Daten dann high-speed-seriell über die 3m Strecke senden?

Vielen Dank!

von Pandur S. (jetztnicht)


Lesenswert?

Schon mal mit Koax kabeln probiert ? die haben 50 Ohm

von No Y. (noy)


Lesenswert?

Eine Lösung für sowas schimpft sich FPD Link:

https://www.ti.com/interface/fpd-link-serdes/camera-serdes/overview.html

von Martin S. (strubi)


Lesenswert?

Ich habe mal damit gespielt:

http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/ReferenceDesigns/ReferenceDesign04/SensorExtender

Lief erstaunlich gut, ich denke, das waren min. 5 Meter Kabel.
So sollte man wohl auch MIPI getunnelt/vermultiplext kriegen...

von lange_Leitung (Gast)


Lesenswert?

Hallo zusammen,

No Y. schrieb:
> Eine Lösung für sowas schimpft sich FPD Link:
> https://www.ti.com/interface/fpd-link-serdes/camera-serdes/overview.html

Das sieht super interessant aus.
Ich hatte gestern ähnliche Sachen gefunden:
https://github.com/InES-HPMM/FPD-LinkIII_Raspberry_HW

Ich weiß nur leider nicht, ob ich dann einfach den normalen 
Kamera-Treiber verwenden kann und die SERDES Strecke nur eine 1zu1 
Übersetzung macht, oder ob ich dann einen speziellen Treiber schreiben 
muss, was ich unbedingt vermeiden möchte. Zumindest hier gibt es einen 
speziellen Treiber dafür... das wäre doof.
https://github.com/InES-HPMM/FPD-LinkIII_ds90ub95x

Auch diesen Chip hatte ich mir mal nagesehen:
https://www.ti.com/lit/ds/symlink/ds90ub936-q1.pdf?ts=1612335007374&ref_url=https%253A%252F%252Fwww.google.com%252F
Aber bei 167 Seiten Datanblatt und Automotive scheint der Aufwand einer 
Implementierung gar nicht so einfach zu sein :(

Geil an der Sache ist natürlich das POC (Power over Coax), so dass ich 
nicht mal eine extra Power Leitung bräuchte.

Super Input!
Danke!

Hat jemand Erfahrungen bei der Implementierung des FPD-Link III?
Ist das schwer, oder mit überschaubarem Aufwand möglich?

Vielen Dank!

von No Y. (noy)


Lesenswert?

Kommt drauf an wie fit du bist.
Wir nutzen FPD Link aber gerade das "POC" ist nicht ganz so einfach weil 
du entsprechende Induktivitäten auswählen musst usw. Ansonsten fand ich 
die Hardware "überschaubar".. Layout ist halt kein 2 Lagen klick mich 
zusammen design..

Ansonsten wegen Treiber: Soweit ich weiß musst du halt einen Treiber 
haben um den TI Baustein entsprechend zu konfigurieren...
Aber an dem CSI Kram muss man nichts ändern der wird quasi 1:1 getunnelt 
so das dein PI / Kamera nichts mitbekommt. Wir jagen über das Coax: 
MIPI, Power und eine I2C um den Kamera Sensor zu konfigurieren..

infos:
https://wiki.phytec.com/plugins/servlet/mobile?contentId=158145680#content/view/158145680

von lange_Leitung (Gast)


Lesenswert?

Habe inzwischen noch den Blog vom git gesehen.
Dort wird auch nochmal explizit erwähnt, dass man den originalen Cam 
Treiber verwenden kann.
https://blog.zhaw.ch/high-performance/

Inwieweit das wahr ist, sei mal dahin gestellt, aber vielleicht ist das 
eine gangbare Lösung.
POC schaue ich mir mal an, vielleicht bekomme ich das raus.
Zur Not kann ich auch immer noch separate Power Leitungen ziehen.

Layout sollte ich hinbekommen... Impedanzkontrolle ist ja klar und 
sollte etwas Abstimmung mit dem PCB Hersteller bzgl. Stack und linewidth 
und ein Hacken bei der Bestellung sein.

1000 Dank!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.