我們重視您的隱私
通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。
本文介紹 MIPI CSI-2 相機介面的系統分層、D-PHY 傳輸、封包機制、影像格式與頻寬估算,以及 Linux media-controller 架構下的整合與除錯流程。內容適用於 ARM SoC、Image Sensor、ISP 與 V4L2 影像管線的軟硬體整合。

MIPI CSI-2(Camera Serial Interface 2)是 Image Sensor 至 SoC、ISP 或 FPGA 的高速影像串列協定。CSI-2 定義封包格式、Data Type、Virtual Channel 與錯誤保護;D-PHY 或 C-PHY 則提供實體訊號傳輸。

| 層級 | 主要責任 | 典型Linux / SoC對應 |
|---|---|---|
| 控制面 | 模式、曝光、增益、stream control | Sensor driver 與 I²C/I³C |
| CSI-2 協定層 | 封包化、VC、DT、ECC、CRC | CSI-2 TX/RX controller |
| PHY 層 | LP/HS 狀態、時鐘、差動訊號 | D-PHY/C-PHY、PHY driver |
| 影像管線 | 解碼、處理、DMA 與擷取 | ISP、DMA、V4L2 node |
D-PHY Data Lane 在閒置時位於 LP Stop State,並藉由 LP 狀態序列切換至 HS 模式以傳送 CSI-2 封包。Sensor 的寄存器與串流控制通常由獨立 I²C/I³C 匯流排進行,與 Data Lane 的 LP 狀態不同。

| 狀態/區段 | 作用 | 整合重點 |
|---|---|---|
| LP-11 Stop State | 閒置與 LP 狀態基礎 | 確認 lane 狀態與 TX/RX PHY 支援 |
| LP-01、LP-00 | HS 進入/離開序列的一部分 | 不得以 I²C 控制資料解讀 |
| HS-Prepare、HS-Zero | 高速傳輸前的準備與穩定區段 | 影響 RX 偵測與 HS-Settle 調校 |
| SoT | 高速封包開始標記 | SoT error 可指向 timing、lane 或設定問題 |
| HS data transmission | 傳送 CSI-2 packet byte stream | 確認 link frequency、lane 數與訊號完整性 |
CSI-2 以 Short Packet 傳遞協定事件或同步資訊,以 Long Packet 傳遞 RAW、YUV、RGB 或 embedded data。Long Packet 由 4-byte header、payload 與 2-byte CRC footer 組成。

| 欄位 | 功能 | 檢查重點 |
|---|---|---|
| Virtual Channel (VC) | 區分邏輯資料串流 | Sensor 與 RX virtual channel 必須相容 |
| Data Type (DT) | 表示像素格式或封包類型 | 須符合 Sensor output mode 與 RX 支援能力 |
| Word Count (WC) | Long Packet payload 的 byte 數 | 應符合 line width 與 pixel packing |
| ECC | 保護 packet header | 檢查同步、lane、設定與 RX 解碼 |
| CRC | 保護 Long Packet payload | 檢查 PHY、rate、lane mapping、TX/RX 實作 |
Frame Start(FS)與 Frame End(FE)提供 frame-level synchronization。Line Start(LS)與 Line End(LE)為可選 line-level synchronization;實際是否輸出應以 Sensor 文件、CSI receiver trace 或 driver 計數器為準。
CSI-2 Data Type、V4L2 media-bus code、V4L2 capture memory format 與 ISP format negotiation 必須在資料意義上相容,但它們屬不同抽象層,設定名稱與位置不必一對一相同。RAW 另須確認 bit depth 和 Bayer order;YUV 須確認 byte order。
Active-pixel payload 的下限可估算為:
上式僅為有效像素資料下限。實際 CSI-2 throughput 與 D-PHY lane rate 還需包含 packet header、CRC、同步封包、blanking 傳輸策略、Data Lane 數、clock mode、Sensor link-frequency 檔位以及 SoC CSI receiver 的限制。
Device Tree 通常描述 graph endpoint、data-lanes、clock-lanes 與 remote-endpoint。影像 format 在多數 media-controller 架構中,由 runtime 的 sub-device pad format、media link 與 routing negotiation 決定;實際 binding 與格式能力必須以目標 SoC kernel driver 為準。
# 檢視 entity、pad 與 link
media-ctl -p -d /dev/media0
# 範例:設定上游 sensor pad 格式
media-ctl -d /dev/media0 --set-v4l2 '"sensor 1-001a":0 [fmt:SRGGB10_1X10/1920x1080]'
# 範例:啟用 link
media-ctl -d /dev/media0 --links '"sensor 1-001a":0 -> "csi2rx":0 [1]'
# 設定 capture node 記憶體格式並啟動串流
v4l2-ctl -d /dev/videoX \
--set-fmt-video=width=1920,height=1080,pixelformat=RG10 \
--stream-mmap=4 --stream-count=100
dmesg -w
範例中的 entity 名稱、pad index、mbus code、FourCC 與 video node 皆必須依實際 media graph 調整,並非跨平台固定值。

| 面向 | 檢查項目 | 典型徵狀 |
|---|---|---|
| PHY | lane 數、mapping、link frequency、clock mode、HS-Settle | SoT error、無資料、間歇掉幀 |
| 協定 | VC、DT、packet 行為、ECC/CRC | Header error、CRC error、frame sync 異常 |
| 格式 | bit depth、Bayer、YUV order、packing | 顏色異常、綠畫面、畫面破碎 |
| 管線 | DT graph、media link、pad format、ISP、DMA | STREAMON 失敗、buffer timeout |
不同。CSI-2 是影像封包協定;D-PHY 是常用實體層傳輸介面。
I²C 僅驗證控制通道,影像資料面仍可能受 MCLK、lane、PHY timing、協定、media graph、ISP 或 DMA 問題影響。
ECC 主要保護 Packet Header,可修正 1-bit 錯誤並偵測 2-bit 錯誤;CRC 用於 Long Packet payload 完整性檢查。持續錯誤通常需同時檢查協定配置與實體訊號品質。
PCB 阻抗、線長、FPC、接地回流與 EMI 條件都可能會改變 D-PHY 訊號完整性及時序裕量。
通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。