Bei embedded Vision Lösungen werden Bildsensoren meist durch MIPI CSI (Mobile Industry Processor Interface, Camera Serial Interface) mit dem Host-Board verbunden. MIPI CSI stammt ursprünglich aus der Welt von Smartphones. Der Host kommuniziert mit dem Bildprozessor (Image Signal Processor, ISP) über einen I2C Bus, während die Bilddaten ebenfalls seriell über Lanes zum Host übertragen werden. Am verbreitetsten ist dabei der CSI-2 Standard. Üblich ist die Verwendung von 2 oder 4 Lanes pro Bildsensor, es können so bis zu 6Gbit/s erreicht werden. Bildsensor und Host werden dabei in der Regel über ein Flachbandkabel bis maximal 40cm Länge verbunden. Viele heutige SoCs unterstützen MIPI CSI direkt, andere Lösungen setzen FPGAs ein. Der MIPI CSI Standard standardisiert NICHT die Steckverbindungen, so das es hier viele verschiedene Varianten gibt. Zu den bekanntesten Playern in der embedded Vision Welt gehören hier NXP, Raspberry und Nvidia.
Die Steckverbindungen bei den Raspberry PI und Nvidia Jetson Boards sind sehr ähnlich. Im Falle der Raspberry PI Boards werden zwei verschiedene Konnektoren benutzt, 15 polige 1,0mm pin pitch FFC/FPC Konnektoren bei den größeren Boards und 22 polige 0,5mm pin pitch FFC/FPC Konnektoren bei den Zero- und Compute Module IO Modellen.
ACHTUNG: die BREITEREN FFC/FPC Konnektoren sind dabei die 15 polige Ausführung und besitzen nur 2 Lanes, die SCHMALEREN FFC/FPC Konnektoren sind 22 polig. Bei Jetson Nano werden die zusätzlichen Pins für zwei weitere Lanes benutzt, also in der Summe 4 Lanes, bei Raspberry PI Zeros und Raspberry PI Compute Module IO Boards werden die zusätzlichen zwei Lanes dagegen nicht beschaltet:
15 Pin | 15 Pin Name | Bezeichnung | 22 Pin Name | 22 Pin |
---|---|---|---|---|
1 | GND | Ground | GND | 1 |
2 | CAM_D0_N | MIPI Data Lane 0 Negative | CAM_D0_N | 2 |
3 | CAM_D0_P | MIPI Data Lane 0 Positive | CAM_D0_P | 3 |
4 | GND | Ground | GND | 4 |
5 | CAM_D1_N | MIPI Data Lane 1 Negative | CAM_D1_N | 5 |
6 | CAM_D1_P | MIPI Data Lane 1 Positive | CAM_D1_P | 6 |
7 | GND | Ground | GND | 7 |
8 | CAM_CK_N | MIPI Clock Lane Negative | CAM_CK_N | 8 |
9 | CAM_CK_P | MIPI Clock Lane Positive | CAM_CK_P | 9 |
Ground | GND | 10 | ||
MIPI Data Lane 2 Negative | CAM_D2_N | 11 | ||
MIPI Data Lane 2 Positive | CAM_D2_P | 12 | ||
Ground | GND | 13 | ||
MIPI Data Lane 3 Negative | CAM_D3_N | 14 | ||
MIPI Data Lane 3 Positive | CAM_D3_P | 15 | ||
10 | GND | Ground | GND | 16 |
11 | CAM_IO0 | Power Enable | CAM_IO0 | 17 |
12 | CAM_IO1 | LED Indicator | CAM_IO1 | 18 |
Ground | GND | 19 | ||
13 | CAM_SCL | I2C SCL | CAM_SCL | 20 |
14 | CAM_SDA | I2C SDA | CAM_SDA | 21 |
15 | CAM_3V3 | 3.3V Power Output | CAM_3V3 | 22 |
Verschiedene Kameramodelle von ArduCAM unterstützen alle 4 Lanes. Daher unterscheiden sich teilweise die Flachbandkabel von ArduCAM zu denen von Raspberry (volle Belegung mit allen 4 Lanes bei 22 polig zu 22 polig). Aus dem gleichen Grund werden bei ArduCAM Kameras meist die schmaleren 22 poligen Konnektoren verwendet.