Cerca
Filters
Close

FIRST Components Academy | Introduzione alle specifiche e ai protocolli MIPI CSI

martedì 13 ottobre 2026
FIRST COMPONENTS ACADEMY  /  SISTEMI EMBEDDED

Introduzione alle specifiche e ai protocolli MIPI CSI

Una panoramica dell'interfaccia camera MIPI CSI-2: dall'architettura di sistema e dalla trasmissione a livello fisico ai formati immagine, alla stima della larghezza di banda, all'integrazione Linux e alla risoluzione dei problemi.

Introduzione

Questo articolo offre una panoramica dell'interfaccia camera MIPI CSI-2, analizzando l'architettura di sistema, la trasmissione D-PHY, i meccanismi dei pacchetti, i formati immagine e la stima della larghezza di banda, oltre all'integrazione e alla risoluzione dei problemi nell'ambito del framework Linux media-controller. I contenuti sono rivolti all'integrazione hardware e software di SoC basati su ARM, sensori d'immagine, ISP e pipeline video V4L2.

01 / ARCHITETTURA DI SISTEMA

Architettura del sistema MIPI CSI

MIPI CSI-2 (Camera Serial Interface 2) è un protocollo seriale ad alta velocità utilizzato per trasferire dati immagine da un sensore a un SoC, un ISP o un FPGA. CSI-2 definisce i formati dei pacchetti, i Data Type, i Virtual Channel e i meccanismi di protezione dagli errori, mentre D-PHY o C-PHY gestiscono la trasmissione fisica del segnale.

LivelloResponsabilità principaleImplementazione tipica Linux / SoC
Piano di controllo Controllo di modalità, esposizione, guadagno e streaming Driver del sensore e I²C/I³C
Livello protocollo CSI-2 Pacchettizzazione, VC, DT, ECC e CRC Controller CSI-2 TX/RX
Livello PHY Stati LP/HS, clock e segnalazione differenziale D-PHY/C-PHY e driver PHY
Pipeline immagine Decodifica, elaborazione, DMA e acquisizione ISP, DMA e nodo V4L2
02 / LIVELLO FISICO

Trasmissione e temporizzazione D-PHY

Quando è inattiva, una Data Lane D-PHY rimane nello stato LP Stop e passa attraverso la sequenza di stati LP per entrare in modalità HS prima di trasmettere i pacchetti CSI-2. L'accesso ai registri del sensore e il controllo dello streaming sono generalmente gestiti tramite un bus I²C/I³C separato, distinto dagli stati LP della Data Lane D-PHY.

Stato / faseFunzioneConsiderazioni per l'integrazione
Stato LP-11 Stop Stato inattivo e riferimento per il funzionamento LP Verificare lo stato della lane e il supporto TX/RX del PHY
LP-01, LP-00 Parte della sequenza di ingresso/uscita HS Non interpretare questi stati come dati di controllo I²C
HS-Prepare, HS-Zero Preparazione e stabilizzazione prima della trasmissione ad alta velocità Influiscono sul rilevamento RX e sulla regolazione di HS-Settle
SoT Segna l'inizio della trasmissione dei pacchetti ad alta velocità Gli errori SoT possono indicare problemi di temporizzazione, lane o configurazione
Trasmissione dati HS Trasferisce il flusso di byte dei pacchetti CSI-2 Verificare frequenza di link, numero di lane e integrità del segnale
  • In modalità clocked, la Clock Lane supporta il campionamento del ricevitore durante la trasmissione HS. Il funzionamento con clock continuo o non continuo deve essere verificato in base al sensore d'immagine, al PHY del SoC e alla configurazione del driver.
  • HS-Settle deve essere regolato in base alla frequenza di link effettiva, alla documentazione del ricevitore SoC e ai contatori di errore; un valore più alto non è necessariamente migliore.
03 / PACCHETTI E SINCRONIZZAZIONE

Pacchetti CSI-2 e sincronizzazione

CSI-2 utilizza Short Packet per trasportare eventi di protocollo o informazioni di sincronizzazione, mentre i Long Packet trasportano dati RAW, YUV, RGB o dati embedded. Un Long Packet è composto da un header di 4 byte, un payload e un footer CRC di 2 byte.

CampoFunzioneElementi da verificare
Virtual Channel (VC) Distingue i flussi logici di dati Il sensore e il Virtual Channel RX devono essere compatibili
Data Type (DT) Identifica il formato pixel o il tipo di pacchetto Deve corrispondere alla modalità di uscita del sensore e alle capacità RX
Word Count (WC) Specifica la lunghezza del payload del Long Packet in byte Deve essere coerente con la larghezza della linea e il packing dei pixel
ECC Protegge l'header del pacchetto Verificare sincronizzazione, lane, configurazione e decodifica RX
CRC Protegge il payload del Long Packet Verificare PHY, data rate, mappatura delle lane e implementazione TX/RX

Frame Start (FS) e Frame End (FE) forniscono la sincronizzazione a livello di frame. Line Start (LS) e Line End (LE) forniscono una sincronizzazione opzionale a livello di linea. L'effettiva trasmissione di LS e LE deve essere verificata nella documentazione del sensore d'immagine, nelle tracce del ricevitore CSI o nei contatori del driver.

04 / FORMATI IMMAGINE E LARGHEZZA DI BANDA

Formati immagine e larghezza di banda

I Data Type CSI-2, i codici media-bus V4L2, i formati di memoria di acquisizione V4L2 e la negoziazione dei formati ISP devono rappresentare dati immagine compatibili, pur appartenendo a livelli di astrazione differenti. I nomi e le posizioni delle configurazioni non devono necessariamente corrispondere uno a uno. Per i dati RAW, verificare sia la profondità in bit sia l'ordine Bayer; per i dati YUV, verificare l'ordine dei byte.

PAYLOAD DEI PIXEL ATTIVI

Payload pixel attivi = Larghezza × Altezza × FPS × Bit per pixel

Questo calcolo rappresenta soltanto il payload minimo richiesto dai dati dei pixel attivi. Il throughput CSI-2 effettivo e il data rate delle lane D-PHY devono considerare anche header dei pacchetti, CRC, pacchetti di sincronizzazione, strategia di trasmissione del blanking, numero di Data Lane, modalità di clock, frequenze di link disponibili per il sensore e limiti del ricevitore CSI del SoC.

DATA RATE STIMATO PER LANE

Data rate per lane ≳ Throughput CSI-2 totale / Numero di Data Lane

05 / INTEGRAZIONE LINUX

Integrazione e avvio su Linux

Il Device Tree descrive generalmente i graph endpoint, le data-lanes, le clock-lanes e le connessioni remote-endpoint. Nella maggior parte delle architetture media-controller, i formati immagine vengono negoziati a runtime tramite i formati dei pad dei sub-device, i media link e la negoziazione del routing. I binding effettivi e i formati supportati dipendono dal driver kernel del SoC utilizzato.

# Inspect entities, pads, and links
media-ctl -p -d /dev/media0

# Example: Configure the upstream sensor pad format
media-ctl -d /dev/media0 --set-v4l2 '"sensor 1-001a":0 [fmt:SRGGB10_1X10/1920x1080]'

# Example: Enable the link
media-ctl -d /dev/media0 --links '"sensor 1-001a":0 -> "csi2rx":0 [1]'

# Configure the capture node memory format and start streaming
v4l2-ctl -d /dev/videoX \
  --set-fmt-video=width=1920,height=1080,pixelformat=RG10 \
  --stream-mmap=4 --stream-count=100

dmesg -w

I nomi delle entità, gli indici dei pad, i codici media-bus, i valori FourCC e i nodi video mostrati nell'esempio devono essere adattati al media graph effettivo e non sono uniformi tra le diverse piattaforme.

06 / RISOLUZIONE DEI PROBLEMI

Compatibilità e analisi degli errori

AreaElementi da verificareSintomi tipici
PHY Numero e mappatura delle lane, frequenza di link, modalità clock e HS-Settle Errori SoT, assenza di dati o perdita intermittente di frame
Protocollo VC, DT, comportamento dei pacchetti ed ECC/CRC Errori di header, errori CRC o problemi di sincronizzazione dei frame
Formato Profondità in bit, ordine Bayer, ordine YUV e packing Colori errati, frame verdi o immagini corrotte
Pipeline Graph DT, media link, formati dei pad, ISP e DMA Errore STREAMON o timeout del buffer
  • Se la comunicazione I²C funziona ma non viene ricevuta alcuna immagine, verificare alimentazione/reset/MCLK, stato stream-on del sensore, data-lanes, mappatura delle lane, frequenza di link, media graph e stato del CSI RX.
  • Se viene rilevata attività sui frame ma si verificano errori ECC/CRC, controllare i contatori di errore RX, la mappatura delle lane, il link rate, HS-Settle, l'integrità del segnale a livello di scheda e la configurazione TX/RX.
  • Se i frame vengono acquisiti ma i colori sono errati, verificare profondità RAW, ordine Bayer, codice media-bus, FourCC della memoria e pipeline ISP.
FAQ

Domande frequenti

1. CSI-2 e D-PHY sono la stessa cosa?

No. CSI-2 è un protocollo per i pacchetti immagine, mentre D-PHY è un'interfaccia di trasmissione a livello fisico comunemente utilizzata.

2. Perché non viene visualizzata alcuna immagine anche se la comunicazione I²C funziona?

Una comunicazione I²C riuscita conferma soltanto il canale di controllo. Il percorso dei dati immagine può essere ancora interessato da problemi di MCLK, lane, temporizzazione PHY, protocollo, media graph, ISP o DMA.

3. Qual è la differenza tra ECC e CRC?

L'ECC protegge principalmente l'header del pacchetto e può correggere errori a singolo bit e rilevare errori a due bit. Il CRC verifica l'integrità del payload del Long Packet. Errori persistenti richiedono generalmente controlli sia sulla configurazione del protocollo sia sull'integrità del segnale a livello fisico.

4. Perché lo stesso sensore d'immagine può comportarsi diversamente su schede differenti?

L'impedenza del PCB, la lunghezza delle tracce, l'FPC, i percorsi di ritorno della massa e le condizioni EMI possono influire sull'integrità del segnale D-PHY e sul margine di temporizzazione.

DAL COMPONENTE ALLA SOLUZIONE

Hai bisogno di supporto per il tuo progetto di visione embedded?

FIRST Components supporta OEM e system integrator nella valutazione di piattaforme embedded e tecnologie display, contribuendo a soddisfare i requisiti di interfaccia, integrazione e applicazione.

Contatta il nostro team tecnico