Home Soluções Introdução às especificações e aos protocolos MIPI CSI

Introdução às especificações e aos protocolos MIPI CSI

Sep 24, 2026

Introdução

Este artigo apresenta uma visão geral da interface de câmera MIPI CSI-2, abordando a arquitetura do sistema, a transmissão D-PHY, os mecanismos de pacotes, os formatos de imagem e a estimativa de largura de banda, além da integração e solução de problemas no framework Linux media-controller. O conteúdo é voltado à integração de hardware e software envolvendo SoCs baseados em ARM, sensores de imagem, ISPs e pipelines de vídeo V4L2.

Interface de câmera MIPI CSI-2 entre o sensor de imagem e o processador

Arquitetura do sistema MIPI CSI

MIPI CSI-2 (Camera Serial Interface 2) é um protocolo serial de alta velocidade utilizado para transferir dados de imagem de um sensor para um SoC, ISP ou FPGA. O CSI-2 define formatos de pacotes, Data Types, Virtual Channels e mecanismos de proteção contra erros, enquanto D-PHY ou C-PHY realizam a transmissão física dos sinais.

Arquitetura do sistema MIPI CSI-2 com caminhos de controle e de dados de imagem

Camada Responsabilidade principal Implementação típica em Linux / SoC
Plano de controle Controle de modo, exposição, ganho e streaming Driver do sensor e I²C/I³C
Camada de protocolo CSI-2 Empacotamento, VC, DT, ECC e CRC Controlador CSI-2 TX/RX
Camada PHY Estados LP/HS, clock e sinalização diferencial D-PHY/C-PHY e driver PHY
Pipeline de imagem Decodificação, processamento, DMA e captura ISP, DMA e nó V4L2
 

Transmissão e timing D-PHY

Quando está inativa, uma Data Lane D-PHY permanece no LP Stop State e passa pela sequência de estados LP até entrar no modo HS antes da transmissão dos pacotes CSI-2. O acesso aos registradores do sensor e o controle de streaming são normalmente realizados por um barramento I²C/I³C separado, distinto dos estados LP da Data Lane D-PHY.

Transição da Data Lane D-PHY do LP Stop State para a transmissão HS

Estado / Fase Função Considerações de integração
LP-11 Stop State Estado inativo e base para a operação LP Verificar o estado da lane e o suporte do PHY TX/RX
LP-01, LP-00 Parte da sequência de entrada/saída do modo HS Não interpretar esses estados como dados de controle I²C
HS-Prepare, HS-Zero Preparação e estabilização antes da transmissão em alta velocidade Afeta a detecção RX e o ajuste de HS-Settle
SoT Indica o início da transmissão de pacotes em alta velocidade Erros de SoT podem indicar problemas de timing, lane ou configuração
HS data transmission Transfere o fluxo de bytes dos pacotes CSI-2 Verificar a link frequency, o número de lanes e a integridade do sinal
 
  • No clocked mode, a Clock Lane permite a amostragem no receptor durante a transmissão HS. A operação com continuous ou non-continuous clock deve ser verificada de acordo com o sensor de imagem, o PHY do SoC e a configuração do driver.
  • HS-Settle deve ser ajustado com base na link frequency real, na documentação do receptor do SoC e nos contadores de erros; um valor mais alto não é necessariamente melhor.
 

Pacotes CSI-2 e sincronização

O CSI-2 utiliza Short Packets para transportar eventos do protocolo ou informações de sincronização, enquanto os Long Packets transportam dados RAW, YUV, RGB ou dados embedded. Um Long Packet é composto por um header de 4 bytes, um payload e um CRC footer de 2 bytes.

Sequência de frame CSI-2 e Long Packets com dados de imagem

Campo Função Itens a verificar
Virtual Channel (VC) Distingue fluxos de dados lógicos O Virtual Channel do sensor e o do RX devem ser compatíveis
Data Type (DT) Identifica o formato de pixel ou o tipo de pacote Deve corresponder ao modo de saída do sensor e às capacidades do RX
Word Count (WC) Especifica, em bytes, o comprimento do payload do Long Packet Deveria corresponder à largura da linha e ao pixel packing
ECC Protege o header do pacote Verificar a sincronização, a lane, a configuração e a decodificação RX
CRC Protege o payload do Long Packet Verificar o PHY, o data rate, o lane mapping e a implementação TX/RX
 

Frame Start (FS) e Frame End (FE) fornecem sincronização no nível de frame. Line Start (LS) e Line End (LE) fornecem sincronização opcional no nível de linha. A transmissão efetiva de LS e LE deve ser verificada na documentação do sensor de imagem, nos traces do receptor CSI ou nos contadores do driver.

Formatos de imagem e largura de banda

Os Data Types do CSI-2, os media-bus codes do V4L2, os formatos de memória de captura do V4L2 e a negociação de formatos do ISP devem representar dados de imagem compatíveis, embora pertençam a diferentes camadas de abstração e seus nomes e locais de configuração não precisem corresponder de forma individual. Para dados RAW, verifique tanto a profundidade de bits quanto a ordem Bayer; para dados YUV, verifique a ordem dos bytes.

O payload mínimo correspondente aos pixels ativos pode ser estimado da seguinte forma:

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

Esse cálculo representa apenas o payload mínimo necessário para os dados dos pixels ativos. O throughput CSI-2 e o lane rate D-PHY reais também devem considerar os headers dos pacotes, CRC, pacotes de sincronização, a estratégia de transmissão durante o blanking, o número de Data Lanes, o clock mode, as configurações de link-frequency disponíveis no sensor e as limitações do receptor CSI do SoC.

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

Integração Linux e Bring-up

O Device Tree normalmente descreve graph endpoints, data-lanes, clock-lanes e conexões remote-endpoint. Na maioria das arquiteturas media-controller, os formatos de imagem são negociados em tempo de execução por meio de formatos de pad dos sub-devices, media links e routing negotiation. Os bindings e formatos efetivamente suportados dependem do driver do kernel para o SoC utilizado.

# Verificar entities, pads e links
media-ctl -p -d /dev/media0

# Exemplo: configurar o formato do pad do sensor upstream
media-ctl -d /dev/media0 --set-v4l2 '"sensor 1-001a":0 [fmt:SRGGB10_1X10/1920x1080]'

# Exemplo: habilitar o link
media-ctl -d /dev/media0 --links '"sensor 1-001a":0 -> "csi2rx":0 [1]'

# Configurar o formato de memória do capture node e iniciar o streaming
v4l2-ctl -d /dev/videoX \
  --set-fmt-video=width=1920,height=1080,pixelformat=RG10 \
  --stream-mmap=4 --stream-count=100

dmesg -w
 

Os nomes das entities, os índices de pad, os media-bus codes, os valores FourCC e os video nodes mostrados neste exemplo devem ser ajustados de acordo com o media graph real e não são fixos entre diferentes plataformas.

Fluxo de Bring-up e depuração CSI-2 na arquitetura Linux media-controller

Compatibilidade e análise de erros

Área Itens a verificar Sintomas típicos
PHY Número de lanes, mapping, link frequency, clock mode e HS-Settle Erros de SoT, ausência de dados ou perda intermitente de frames
Protocolo VC, DT, comportamento dos pacotes e ECC/CRC Erros de header, erros de CRC ou problemas de sincronização de frames
Formato Profundidade de bits, ordem Bayer, ordem YUV e packing Cores incorretas, frames verdes ou imagens corrompidas
Pipeline DT graph, media links, formatos de pad, ISP e DMA Falha de STREAMON ou timeout de buffer
 
  • Se a comunicação I²C estiver funcionando, mas nenhuma imagem for recebida, verifique power/reset/MCLK, o estado stream-on do sensor, as data-lanes, o lane mapping, a link frequency, o media graph e o estado do CSI RX.
  • Se houver atividade de frames, mas ocorrerem erros de ECC/CRC, verifique os contadores de erros do RX, o lane mapping, o link rate, HS-Settle, a integridade do sinal no nível da placa e a configuração TX/RX.
  • Se os frames puderem ser capturados, mas as cores estiverem incorretas, verifique a profundidade de bits RAW, a ordem Bayer, o media-bus code, o memory FourCC e o pipeline do ISP.
 

Perguntas frequentes

1. CSI-2 e D-PHY são a mesma coisa?

Não. CSI-2 é um protocolo de pacotes para dados de imagem, enquanto D-PHY é uma interface de transmissão de camada física amplamente utilizada.

2. Por que nenhuma imagem é recebida mesmo quando a comunicação I²C está funcionando?

Uma comunicação I²C bem-sucedida confirma apenas o canal de controle. O caminho dos dados de imagem ainda pode ser afetado por problemas relacionados a MCLK, lanes, timing PHY, protocolo, media graph, ISP ou DMA.

3. Qual é a diferença entre ECC e CRC?

O ECC protege principalmente o Packet Header e pode corrigir erros de um bit e detectar erros de dois bits. O CRC verifica a integridade do payload do Long Packet. Se os erros persistirem, normalmente é necessário verificar tanto a configuração do protocolo quanto a integridade do sinal na camada física.

4. Por que o mesmo sensor de imagem pode apresentar comportamentos diferentes em placas diferentes?

A impedância da PCB, o comprimento das trilhas, o FPC, os caminhos de retorno de terra e as condições de EMI podem afetar a integridade do sinal D-PHY e a margem de timing.

Referências

  • MIPI Alliance, "Camera Serial Interface 2 (MIPI CSI-2)", mipi.org/specifications/csi-2
  • MIPI Alliance, "MIPI D-PHY", mipi.org/specifications/d-phy
Tem perguntas sobre as soluções de displays para a sua empresa? Entre em contato conosco!

Assinar

Receba e-mails sobre novas atualizações da Winstar

Entre em contato conosco

Preço/Ficha de dados/Consulta geral

Suporte técnico

Entre em contato conosco para qualquer informação técnica

go top
Contato
close

Valorizamos sua privacidade

Ao clicar em "Permitir todos os cookies", você concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar o uso do site e auxiliar nossos esforços de marketing e desempenho. Você pode encontrar mais informações sobre esse assunto em nossa política. Política de privacidade

Valorizamos sua privacidade

A Winstar e certos terceiros utilizam cookies no site www.winstar.com.tw. Os detalhes sobre os tipos de cookies, sua finalidade e as partes terceiras envolvidas estão descritos abaixo e em nossa Política de Cookies. Clique em “Permitir todos” para consentir o uso de cookies e obter a melhor experiência possível em nossos sites. Você também pode definir suas preferências ou rejeitar cookies (exceto os estritamente necessários).

Gerenciar preferências de consentimento

Sempre ativo
Cookies essenciais

Esses cookies são essenciais para permitir que você navegue pelo site e utilize seus recursos, como definir suas preferências de privacidade, fazer login ou preencher formulários.

Cookies de análise

Também conhecidos como "cookies estatísticos", esses cookies coletam informações sobre como você utiliza um site, como quais páginas você visitou e em quais links você clicou. Veja os detalhes.