Accueil Solutions Introduction aux spécifications et protocoles MIPI CSI

Introduction aux spécifications et protocoles MIPI CSI

Sep 24, 2026

Introduction

Cet article présente l'interface caméra MIPI CSI-2 et aborde son architecture système, la transmission D-PHY, les mécanismes de paquets, les formats d'image et l'estimation de la bande passante, ainsi que l'intégration et le diagnostic dans l'environnement Linux media-controller. Il s'adresse aux projets d'intégration matérielle et logicielle mettant en œuvre des SoC ARM, des capteurs d'image, des ISP et des pipelines vidéo V4L2.

Interface caméra MIPI CSI-2 entre le capteur d'image et le processeur

Architecture du système MIPI CSI

MIPI CSI-2 (Camera Serial Interface 2) est un protocole série haut débit utilisé pour transmettre les données d'image d'un capteur vers un SoC, un ISP ou un FPGA. CSI-2 définit les formats de paquets, les Data Types, les Virtual Channels et les mécanismes de protection contre les erreurs, tandis que D-PHY ou C-PHY assurent la transmission physique des signaux.

Architecture du système MIPI CSI-2 avec chemins de contrôle et de données d'image

Couche Fonction principale Implémentation Linux / SoC typique
Plan de contrôle Mode, exposition, gain et contrôle du streaming Pilote du capteur et I²C/I³C
Couche protocole CSI-2 Mise en paquets, VC, DT, ECC et CRC Contrôleur CSI-2 TX/RX
Couche PHY États LP/HS, horloge et signalisation différentielle D-PHY/C-PHY et pilote PHY
Pipeline d'image Décodage, traitement, DMA et acquisition ISP, DMA et nœud V4L2
 

Transmission et timing D-PHY

Lorsqu'elle est inactive, une Data Lane D-PHY reste dans l'état LP Stop State, puis passe en mode HS en suivant la séquence des états LP avant de transmettre les paquets CSI-2. L'accès aux registres du capteur et le contrôle du streaming sont généralement assurés par un bus I²C/I³C distinct des états LP de la Data Lane D-PHY.

Transition de la Data Lane D-PHY de l'état LP Stop State à la transmission HS

État / Phase Fonction Points à vérifier lors de l'intégration
LP-11 Stop State État inactif et état de référence pour le fonctionnement LP Vérifier l'état de la lane et la prise en charge par le PHY TX/RX
LP-01, LP-00 Partie de la séquence d'entrée/sortie du mode HS Ne pas interpréter ces états comme des données de contrôle I²C
HS-Prepare, HS-Zero Préparation et stabilisation avant la transmission à haut débit Influe sur la détection RX et le réglage de HS-Settle
SoT Indique le début de la transmission des paquets à haut débit Les erreurs SoT peuvent indiquer un problème de timing, de lane ou de configuration
HS data transmission Transmet le flux d'octets des paquets CSI-2 Vérifier la link frequency, le nombre de lanes et l'intégrité du signal
 
  • En clocked mode, la Clock Lane permet l'échantillonnage côté récepteur pendant la transmission HS. Le fonctionnement en continuous clock ou non-continuous clock doit être vérifié en fonction du capteur d'image, du PHY du SoC et de la configuration du pilote.
  • HS-Settle doit être réglé en fonction de la link frequency réelle, de la documentation du récepteur SoC et des compteurs d'erreurs ; une valeur plus élevée n'est pas nécessairement préférable.
 

Paquets CSI-2 et synchronisation

CSI-2 utilise les Short Packets pour transmettre les événements du protocole ou les informations de synchronisation, tandis que les Long Packets transportent les données RAW, YUV, RGB ou les données embedded. Un Long Packet se compose d'un header de 4 octets, d'un payload et d'un CRC footer de 2 octets.

Séquence d'une frame CSI-2 et des Long Packets contenant les données d'image

Champ Fonction Points à vérifier
Virtual Channel (VC) Distingue les flux de données logiques Le Virtual Channel du capteur et celui du RX doivent être compatibles
Data Type (DT) Identifie le format des pixels ou le type de paquet Doit correspondre au mode de sortie du capteur et aux capacités du RX
Word Count (WC) Indique en octets la longueur du payload du Long Packet Devrait correspondre à la largeur de ligne et au pixel packing
ECC Protège le header du paquet Vérifier la synchronisation, la lane, la configuration et le décodage RX
CRC Protège le payload du Long Packet Vérifier le PHY, le data rate, le lane mapping et l'implémentation TX/RX
 

Frame Start (FS) et Frame End (FE) assurent la synchronisation au niveau de la frame. Line Start (LS) et Line End (LE) assurent, de manière optionnelle, la synchronisation au niveau de la ligne. La transmission effective de LS et LE doit être vérifiée dans la documentation du capteur d'image, à partir des traces du récepteur CSI ou des compteurs du pilote.

Formats d'image et bande passante

Les Data Types CSI-2, les codes media-bus V4L2, les formats mémoire de capture V4L2 et la négociation des formats au niveau de l'ISP doivent représenter des données d'image compatibles. Ils appartiennent toutefois à des couches d'abstraction différentes ; les noms et les emplacements de leurs paramètres ne doivent donc pas nécessairement correspondre un à un. Pour les données RAW, il faut vérifier à la fois la profondeur de bits et l'ordre Bayer ; pour les données YUV, il faut vérifier l'ordre des octets.

Le payload minimal correspondant aux pixels actifs peut être estimé comme suit :

Active-pixel payload = Width × Height × FPS × Bits per pixel

Ce calcul représente uniquement le payload minimal requis pour les données des pixels actifs. Le débit CSI-2 et le lane rate D-PHY réels doivent également tenir compte des headers de paquets, du CRC, des paquets de synchronisation, de la stratégie de transmission pendant le blanking, du nombre de Data Lanes, du clock mode, des paramètres link-frequency disponibles pour le capteur et des limitations du récepteur CSI du SoC.

Per-lane rate ≳ Total CSI-2 throughput / Number of Data Lanes

Intégration Linux et Bring-up

Le Device Tree décrit généralement les graph endpoints, les data-lanes, les clock-lanes et les connexions remote-endpoint. Dans la plupart des architectures media-controller, les formats d'image sont négociés à l'exécution via les formats de pad des sub-devices, les media links et la routing negotiation. Les bindings et les formats effectivement pris en charge dépendent du pilote du noyau pour le SoC concerné.

# Vérifier les entity, pad et link
media-ctl -p -d /dev/media0

# Exemple : configurer le pad format du capteur en amont
media-ctl -d /dev/media0 --set-v4l2 '"sensor 1-001a":0 [fmt:SRGGB10_1X10/1920x1080]'

# Exemple : activer le link
media-ctl -d /dev/media0 --links '"sensor 1-001a":0 -> "csi2rx":0 [1]'

# Configurer le memory format du capture node et démarrer le streaming
v4l2-ctl -d /dev/videoX \
  --set-fmt-video=width=1920,height=1080,pixelformat=RG10 \
  --stream-mmap=4 --stream-count=100

dmesg -w
 

Les noms d'entity, les index de pad, les media-bus codes, les valeurs FourCC et les video nodes utilisés dans cet exemple doivent être adaptés au media graph réel et ne sont pas fixes d'une plateforme à l'autre.

Flux de Bring-up et de débogage CSI-2 dans l'architecture Linux media-controller

Compatibilité et analyse des erreurs

Catégorie Points à vérifier Symptômes typiques
PHY Nombre de lanes, mapping, link frequency, clock mode et HS-Settle Erreurs SoT, absence de données ou pertes de frames intermittentes
Protocole VC, DT, comportement des paquets et ECC/CRC Erreurs de header, erreurs CRC ou problèmes de synchronisation des frames
Format Profondeur de bits, ordre Bayer, ordre YUV et packing Couleurs incorrectes, frames vertes ou images corrompues
Pipeline DT graph, media links, pad formats, ISP et DMA Échec de STREAMON ou timeout du buffer
 
  • Si la communication I²C fonctionne mais qu'aucune image n'est reçue, vérifier power/reset/MCLK, l'état stream-on du capteur, les data-lanes, le lane mapping, la link frequency, le media graph et l'état du CSI RX.
  • Si une activité des frames est détectée mais que des erreurs ECC/CRC se produisent, vérifier les compteurs d'erreurs RX, le lane mapping, le link rate, HS-Settle, l'intégrité du signal au niveau de la carte et la configuration TX/RX.
  • Si les frames peuvent être capturées mais que les couleurs sont incorrectes, vérifier la profondeur de bits RAW, l'ordre Bayer, le media-bus code, le memory FourCC et l'ISP pipeline.
 

Questions fréquentes

1. CSI-2 et D-PHY sont-ils identiques ?

Non. CSI-2 est un protocole par paquets destiné aux données d'image, tandis que D-PHY est une interface de transmission couramment utilisée au niveau de la couche physique.

2. Pourquoi aucune image n'est-elle reçue alors que la communication I²C fonctionne correctement ?

Une communication I²C fonctionnelle confirme uniquement le canal de contrôle. Le chemin des données d'image peut toujours être affecté par des problèmes liés à MCLK, aux lanes, au timing PHY, au protocole, au media graph, à l'ISP ou au DMA.

3. Quelle est la différence entre ECC et CRC ?

ECC protège principalement le Packet Header et permet de corriger les erreurs sur un bit et de détecter les erreurs sur deux bits. CRC vérifie l'intégrité du payload du Long Packet. Si les erreurs persistent, il est généralement nécessaire de vérifier à la fois la configuration du protocole et l'intégrité du signal au niveau de la couche physique.

4. Pourquoi un même capteur d'image peut-il se comporter différemment selon la carte utilisée ?

L'impédance du PCB, la longueur des pistes, le FPC, les chemins de retour à la masse et les conditions EMI peuvent tous affecter l'intégrité du signal D-PHY et la marge de timing.

Références

  • MIPI Alliance, "Camera Serial Interface 2 (MIPI CSI-2)", mipi.org/specifications/csi-2
  • MIPI Alliance, "MIPI D-PHY", mipi.org/specifications/d-phy
Vous avez des questions sur les solutions d'affichage pour votre entreprise ? Contactez-nous!

Abonnez-vous

Recevez des e-mails sur les nouvelles mises à jour de Winstar

Contactez-nous

Prix/Fiche technique/Requête générale

Support technique

Contactez-nous pour toute information technique

go top
Contactez-nous
close

Nous valorisons votre confidentialité

En cliquant sur "Autoriser tous les cookies", vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser l'utilisation du site et aider dans nos efforts de marketing et de performance. Vous pouvez trouver plus d'informations à ce sujet dans notre politique. Politique de confidentialité

Nous valorisons votre confidentialité

Winstar et certains tiers utilisent des cookies sur www.winstar.com.tw. Les détails concernant les types de cookies, leur objectif et les tiers impliqués sont décrits ci-dessous et dans notre Politique relative aux cookies. Veuillez cliquer sur « Autoriser tout » pour consentir à l'utilisation de cookies et profiter de la meilleure expérience possible sur nos sites. Vous pouvez également définir vos préférences ou refuser les cookies (sauf les cookies strictement nécessaires).

Gérer les préférences de consentement

Toujours actif
Cookies essentiels

Ces cookies sont essentiels pour vous permettre de naviguer sur le site et d'utiliser ses fonctionnalités, telles que la définition de vos préférences en matière de confidentialité, la connexion ou le remplissage de formulaires.

Cookies analytiques

Également connus sous le nom de « cookies statistiques », ces cookies collectent des informations sur la façon dont vous utilisez un site Web, comme les pages que vous avez visitées et les liens sur lesquels vous avez cliqué. Voir les détails.