Home Soluzioni Introduzione alle specifiche e ai protocolli MIPI CSI

Introduzione alle specifiche e ai protocolli MIPI CSI

September 24,2026

Introduzione

Questo articolo presenta l'interfaccia per fotocamere MIPI CSI-2, illustrandone l'architettura di sistema, la trasmissione D-PHY, i meccanismi dei pacchetti, i formati immagine e il calcolo della larghezza di banda, oltre all'integrazione e alla diagnostica nell'ambiente Linux media-controller. I contenuti sono rivolti all'integrazione hardware e software di sistemi basati su SoC ARM, sensori di immagine, ISP e pipeline video V4L2.

Interfaccia camera MIPI CSI-2 tra sensore di immagine e processore

Architettura del sistema MIPI CSI

MIPI CSI-2 (Camera Serial Interface 2) è un protocollo seriale ad alta velocità utilizzato per trasferire i dati di immagine da un sensore a un SoC, ISP o 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 dei segnali.

Architettura del sistema MIPI CSI-2 con percorsi di controllo e dei dati immagine

Livello Funzione principale Implementazione tipica Linux / SoC
Piano di controllo Modalità, esposizione, guadagno e controllo dello 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 di elaborazione delle immagini Decodifica, elaborazione, DMA e acquisizione ISP, DMA e nodo V4L2
 

Trasmissione e timing D-PHY

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

Transizione della Data Lane D-PHY da LP Stop State alla trasmissione HS

Stato / Fase Funzione Aspetti da verificare durante l'integrazione
LP-11 Stop State Stato di inattività e condizione di base per il funzionamento LP Verificare lo stato della lane e il supporto del PHY TX/RX
LP-01, LP-00 Parte della sequenza di ingresso/uscita dalla modalità HS Non interpretare questi stati come dati di controllo I²C
HS-Prepare, HS-Zero Preparazione e stabilizzazione prima della trasmissione ad alta velocità Influisce sul rilevamento RX e sulla regolazione di HS-Settle
SoT Indica l'inizio della trasmissione dei pacchetti ad alta velocità Gli errori SoT possono indicare problemi di timing, lane o configurazione
HS data transmission Trasferisce il flusso di byte dei pacchetti CSI-2 Verificare link frequency, numero di lane e integrità del segnale
 
  • In clocked mode, la Clock Lane supporta il campionamento sul lato ricevitore durante la trasmissione HS. Il funzionamento continuous clock o non-continuous clock deve essere verificato in base al sensore di immagine, al PHY del SoC e alla configurazione del driver.
  • HS-Settle deve essere regolato in base alla link frequency effettiva, alla documentazione del ricevitore SoC e ai contatori degli errori; un valore più elevato non è necessariamente migliore.
 

Pacchetti CSI-2 e sincronizzazione

CSI-2 utilizza gli Short Packet per trasmettere 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 CRC footer di 2 byte.

Sequenza del frame CSI-2 e dei Long Packet contenenti i dati immagine

Campo Funzione Elementi da verificare
Virtual Channel (VC) Distingue i flussi di dati logici Il Virtual Channel del sensore e quello RX devono essere compatibili
Data Type (DT) Identifica il formato dei pixel o il tipo di pacchetto Deve corrispondere alla modalità di uscita del sensore e alle capacità RX
Word Count (WC) Specifica in byte la lunghezza del payload del Long Packet Dovrebbe essere coerente con la larghezza della linea e il pixel packing
ECC Protegge l'header del pacchetto Verificare sincronizzazione, lane, configurazione e decodifica RX
CRC Protegge il payload del Long Packet Verificare PHY, data rate, lane mapping 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 invece la sincronizzazione opzionale a livello di linea. L'effettiva trasmissione di LS e LE deve essere verificata nella documentazione del sensore di immagine, nelle tracce del ricevitore CSI o nei contatori del driver.

Formati immagine e larghezza di banda

I Data Type CSI-2, i media-bus code V4L2, i formati di memoria per l'acquisizione V4L2 e la negoziazione del formato ISP devono rappresentare dati immagine compatibili. Appartengono tuttavia a livelli di astrazione diversi, quindi i nomi e le posizioni delle relative configurazioni non devono necessariamente corrispondere uno a uno. Per i dati RAW è necessario verificare sia la bit depth sia il Bayer order; per i dati YUV, invece, va verificato il byte order.

Il payload minimo dei pixel attivi può essere stimato come segue:

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

Questo calcolo rappresenta soltanto il payload minimo richiesto per i dati dei pixel attivi. Per determinare il throughput CSI-2 e il lane rate D-PHY effettivi, è necessario considerare anche i packet header, il CRC, i pacchetti di sincronizzazione, la modalità di trasmissione durante il blanking, il numero di Data Lanes, il clock mode, le impostazioni link-frequency disponibili per il sensore e i limiti del ricevitore CSI del SoC.

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

Integrazione Linux e Bring-up

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 routing negotiation. I binding effettivi e i formati supportati dipendono dal driver del kernel per il SoC utilizzato.

# Verificare entity, pad e link
media-ctl -p -d /dev/media0

# Esempio: configurare il pad format del sensore a monte
media-ctl -d /dev/media0 --set-v4l2 '"sensor 1-001a":0 [fmt:SRGGB10_1X10/1920x1080]'

# Esempio: abilitare il link
media-ctl -d /dev/media0 --links '"sensor 1-001a":0 -> "csi2rx":0 [1]'

# Configurare il memory format del capture node e avviare lo 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 entity, gli indici dei pad, i media-bus code, i valori FourCC e i video node riportati nell'esempio devono essere adattati al media graph effettivo e non sono definiti in modo univoco per tutte le piattaforme.

Flusso di Bring-up e diagnostica CSI-2 nell'architettura Linux media-controller

Compatibilità e analisi degli errori

Area Elementi da verificare Sintomi tipici
PHY Numero di lane, mapping, link frequency, clock mode e HS-Settle Errori SoT, assenza di dati o perdita intermittente di frame
Protocollo VC, DT, comportamento dei pacchetti ed ECC/CRC Errori nell'header, errori CRC o problemi di sincronizzazione dei frame
Formato Bit depth, Bayer order, YUV order e packing Colori errati, frame verdi o immagini corrotte
Pipeline DT graph, media link, pad format, ISP e DMA Errore STREAMON o timeout del buffer
 
  • Se la comunicazione I²C funziona ma non viene ricevuta alcuna immagine, verificare power/reset/MCLK, lo stato stream-on del sensore, data-lanes, lane mapping, link frequency, media graph e lo stato CSI RX.
  • Se viene rilevata attività dei frame ma si verificano errori ECC/CRC, controllare i contatori degli errori RX, lane mapping, link rate, HS-Settle, l'integrità del segnale a livello di scheda e la configurazione TX/RX.
  • Se è possibile acquisire i frame ma i colori non sono corretti, verificare RAW bit depth, Bayer order, media-bus code, memory FourCC e ISP pipeline.
 

Domande frequenti

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

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

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

Il corretto funzionamento della comunicazione I²C conferma soltanto il funzionamento del canale di controllo. Il percorso dei dati immagine può comunque essere interessato da problemi relativi a MCLK, lane, timing PHY, protocollo, media graph, ISP o DMA.

3. Qual è la differenza tra ECC e CRC?

ECC protegge principalmente il Packet Header ed è in grado di correggere errori di un singolo bit e rilevare errori di due bit. CRC verifica l'integrità del payload del Long Packet. Se gli errori persistono, è generalmente necessario verificare sia la configurazione del protocollo sia l'integrità del segnale a livello fisico.

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

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

Riferimenti

  • MIPI Alliance, "Camera Serial Interface 2 (MIPI CSI-2)", mipi.org/specifications/csi-2
  • MIPI Alliance, "MIPI D-PHY", mipi.org/specifications/d-phy
Qualche domanda sulle soluzioni di visualizzazione per la propria azienda? Contatti!

Iscrizione

Ricevere e-mail sugli aggiornamenti delle notizie da Winstar

Contatti

Prezzo/Scheda tecnica/Richiesta generale

Supporto tecnico

Si prega di contattarci per qualsiasi informazione tecnica

go top
Contatti
close

Valorizziamo la tua privacy

Facendo clic su "Consenti tutti i cookie", accetti la memorizzazione dei cookie sul tuo dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere nei nostri sforzi di marketing e prestazioni. Puoi trovare ulteriori informazioni su questo argomento nella nostra politica. Informativa sulla privacy

Valorizziamo la tua privacy

Winstar e alcune terze parti utilizzano i cookie su www.winstar.com.tw. I dettagli relativi ai tipi di cookie, al loro scopo e alle terze parti coinvolte sono descritti di seguito e nella nostra Informativa sui cookie. Fare clic su "Consenti tutti" per acconsentire all'uso dei cookie e ottenere la migliore esperienza possibile sui nostri siti web. Puoi anche impostare le tue preferenze o rifiutare i cookie (ad eccezione dei cookie strettamente necessari).

Gestisci le preferenze di consenso

Sempre attivo
Cookie essenziali

Questi cookie sono essenziali per permetterti di navigare nel sito web e utilizzare le sue funzionalità, come impostare le tue preferenze sulla privacy, effettuare il login o compilare moduli.

Cookie di analisi

Questi sono noti anche come "cookie statistici"; raccolgono informazioni su come utilizzi un sito web, come quali pagine hai visitato e quali link hai cliccato. Vedi dettagli.