跳至主要内容

MIPI 相機介面

備註

請在繼續操作之前安裝或升級 sima-cli。本指南適用於最新版本的 sima-cli。

備註

此程序需要安裝最新版本的 sima-cli 的主機。它還需要一個包含用於支援 MIPI 的 .dtbo 檔案的 Modalix DevKit 韌體版本。

Modalix DevKit 包含兩個用於相機輸入的 MIPI 介面。 MIPI 連接埠位於載板上。

在開始之前,請關閉 Modalix DevKit 的電源,並將一個 MIPI 相機連接到其中一個 MIPI 連接埠。

開啟 DevKit 的電源,並透過 SSH 或序列主控台登入 DevKit 上的 Linux。

在 Linux 中,將 U-Boot 的 dtbos 變數設定為適當的「Device Tree Blob Overlay」(.dtbo) 檔案,然後重新開機。正確的檔案取決於「載板」、「相機製造商」、「感測器類型」和「相機連接埠」。

檔案名稱遵循以下模式:

modalix-som-<carrier_board>-<camera_manufacturer>-<sensor_type>-<port>.dtbo

根據您的硬體規格,選擇每個元件:

元件值說明
載板connectech, seeedstudio, waveshare載板型號
相機製造商ARDU, ECON, LIArducam、e-con Systems 或 Leopard Imaging
感測器類型IMX477, IMX568, FPGA-IMX568, KOBE1-IMX568, IMX678, IMX415, AR0234, AR0822, OG05C10相機感測器型號
連接埠0CAM, 1CAM, 2CAM, 3CAM, DUAL與相機連接的 MIPI 埠號。

Modalix DevKit 預設搭載 Waveshare 載板。舉例來說,Modalix DevKit 的 1 號埠連接 Arducam IMX477 相機時:

U-Boot 環境位於唯讀掛載點 /var/uboot。請先將其改為可寫入,使用 sudo 設定變數,然後再改回唯讀:

sima@modalix:~$ sudo mount -o remount,rw /var/uboot
sima@modalix:~$ sudo fw_setenv dtbos modalix-som-waveshare-ARDU-IMX477-1CAM.dtbo
sima@modalix:~$ sudo mount -o remount,ro /var/uboot
sima@modalix:~$ fw_printenv dtbos
sima@modalix:~$ sudo reboot

以下列出平台版本 3.0.0 的相機 overlay。若要列出您電路板上的 overlay,請執行以下指令:

sima@modalix:~$ ls /boot/modalix-som-*.dtbo

關於各 overlay 對應的訂購相機、各載板的連接埠與感測器模式,請參閱支援的 MIPI 相機。

modalix-som-connectech-ARDU-IMX477-0CAM.dtbo
modalix-som-connectech-ARDU-IMX477-1CAM.dtbo
modalix-som-connectech-ARDU-IMX477-2CAM.dtbo
modalix-som-connectech-ARDU-IMX477-3CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-0CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-1CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-2CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-3CAM.dtbo
modalix-som-connectech-ECON-IMX678-0CAM.dtbo
modalix-som-connectech-ECON-IMX678-1CAM.dtbo
modalix-som-connectech-ECON-IMX678-2CAM.dtbo
modalix-som-connectech-ECON-IMX678-3CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-0CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-1CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-2CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-3CAM.dtbo
modalix-som-connectech-LI-AR0234-0CAM.dtbo
modalix-som-connectech-LI-AR0234-1CAM.dtbo
modalix-som-connectech-LI-AR0234-2CAM.dtbo
modalix-som-connectech-LI-AR0234-3CAM.dtbo
modalix-som-connectech-LI-IMX568-0CAM.dtbo
modalix-som-connectech-LI-IMX568-1CAM.dtbo
modalix-som-connectech-LI-IMX568-2CAM.dtbo
modalix-som-connectech-LI-IMX568-3CAM.dtbo
modalix-som-connectech-LI-OG05C10-0CAM.dtbo
modalix-som-connectech-LI-OG05C10-1CAM.dtbo
modalix-som-connectech-LI-OG05C10-2CAM.dtbo
modalix-som-connectech-LI-OG05C10-3CAM.dtbo
modalix-som-connectech-METOAK-DUAL.dtbo
modalix-som-seeedstudio-ARDU-IMX477-0CAM.dtbo
modalix-som-seeedstudio-ARDU-IMX477-2CAM.dtbo
modalix-som-seeedstudio-ECON-FPGA-IMX568-0CAM.dtbo
modalix-som-seeedstudio-ECON-FPGA-IMX568-2CAM.dtbo
modalix-som-seeedstudio-ECON-IMX568-0CAM.dtbo
modalix-som-seeedstudio-ECON-IMX568-2CAM.dtbo
modalix-som-seeedstudio-ECON-IMX678-0CAM.dtbo
modalix-som-seeedstudio-ECON-IMX678-2CAM.dtbo
modalix-som-seeedstudio-ECON-KOBE1-IMX568-0CAM.dtbo
modalix-som-seeedstudio-ECON-KOBE1-IMX568-2CAM.dtbo
modalix-som-seeedstudio-LI-AR0234-0CAM.dtbo
modalix-som-seeedstudio-LI-AR0234-2CAM.dtbo
modalix-som-seeedstudio-LI-IMX415-0CAM.dtbo
modalix-som-seeedstudio-LI-IMX415-2CAM.dtbo
modalix-som-seeedstudio-LI-IMX568-0CAM.dtbo
modalix-som-seeedstudio-LI-IMX568-2CAM.dtbo
modalix-som-seeedstudio-LI-OG05C10-0CAM.dtbo
modalix-som-seeedstudio-LI-OG05C10-2CAM.dtbo
modalix-som-waveshare-ARDU-IMX477-1CAM.dtbo
modalix-som-waveshare-ARDU-IMX477-2CAM.dtbo
modalix-som-waveshare-ARDU-IMX477-DUAL.dtbo
modalix-som-waveshare-ECON-FPGA-IMX568-1CAM.dtbo
modalix-som-waveshare-ECON-FPGA-IMX568-2CAM.dtbo
modalix-som-waveshare-ECON-IMX568-1CAM.dtbo
modalix-som-waveshare-ECON-IMX568-2CAM.dtbo
modalix-som-waveshare-ECON-IMX678-1CAM.dtbo
modalix-som-waveshare-ECON-IMX678-2CAM.dtbo
modalix-som-waveshare-ECON-IMX678-DUAL.dtbo
modalix-som-waveshare-ECON-KOBE1-IMX568-1CAM.dtbo
modalix-som-waveshare-ECON-KOBE1-IMX568-2CAM.dtbo
modalix-som-waveshare-ECON-MIPI-GEN-1CAM.dtbo
modalix-som-waveshare-INTROSPECT-MIPI-GEN-2CAM-VC1.dtbo
modalix-som-waveshare-INTROSPECT-MIPI-GEN-2CAM-VC2.dtbo
modalix-som-waveshare-INTROSPECT-MIPI-GEN-2CAM.dtbo
modalix-som-waveshare-LI-AR0234-1CAM.dtbo
modalix-som-waveshare-LI-AR0234-2CAM.dtbo
modalix-som-waveshare-LI-AR0234-DUAL.dtbo
modalix-som-waveshare-LI-AR0822-1CAM.dtbo
modalix-som-waveshare-LI-AR0822-2CAM.dtbo
modalix-som-waveshare-LI-ECON-IMX568-DUAL.dtbo
modalix-som-waveshare-LI-IMX415-1CAM.dtbo
modalix-som-waveshare-LI-IMX415-2CAM.dtbo
modalix-som-waveshare-LI-IMX568-1CAM-594MBPS.dtbo
modalix-som-waveshare-LI-IMX568-1CAM.dtbo
modalix-som-waveshare-LI-IMX568-2CAM.dtbo
modalix-som-waveshare-LI-IMX568-DUAL.dtbo
modalix-som-waveshare-LI-OG05C10-1CAM.dtbo
modalix-som-waveshare-LI-OG05C10-2CAM.dtbo
modalix-som-waveshare-LI-OG05C10-DUAL.dtbo
modalix-som-waveshare-METOAK-DUAL.dtbo
modalix-som-waveshare4CSI-ARDU-IMX477-QUAD.dtbo

為了驗證介面,請將 Modalix DevKit 連接到顯示器,然後登入。接著,使用 libcamera 來驗證相機的連線。

  1. 列出可用的相機:

    sima@modalix:~$ cam -l
  2. 顯示相機 1 的不同相機格式:

    sima@modalix:~$ cam -c 1 -I
  3. 從相機 1 擷取一張影像:

    sima@modalix:~$ rm -rf frame* && cam -c 1 --capture=1 -F -s pixelformat=NV12

使用多台相機​

若要使用一台以上的相機,請將 dtbos 設定為每台相機各一個 overlay,並以空格分隔。U-Boot 會套用清單中的每個 overlay。

相機可以是不同的型號。請使用與每台相機的型號及連接埠相符的 overlay。舉例來說,Modalix DevKit 的 1 號埠連接 e-con Systems IMX678 相機、2 號埠連接 Leopard Imaging OG05C10 相機時:

U-Boot 環境位於唯讀掛載點 /var/uboot。請先將其改為可寫入,使用 sudo 設定變數,然後再改回唯讀:

sima@modalix:~$ sudo mount -o remount,rw /var/uboot
sima@modalix:~$ sudo fw_setenv dtbos "modalix-som-waveshare-ECON-IMX678-1CAM.dtbo modalix-som-waveshare-LI-OG05C10-2CAM.dtbo"
sima@modalix:~$ sudo mount -o remount,ro /var/uboot
sima@modalix:~$ fw_printenv dtbos
sima@modalix:~$ sudo reboot
  • 每個連接埠只能指定一個 overlay。
  • overlay 的順序不影響結果。
  • DUAL overlay 會將 Waveshare 載板的兩個連接埠設定為相同的相機型號。請擇一使用 DUAL overlay 或兩個連接埠各自的 overlay,不要同時指定。
  • 各載板有哪些連接埠提供 overlay,請參閱支援的 MIPI 相機。
  • 並非所有組合都經過測試。請使用 cam -l 並從每台相機擷取影像,以驗證您的組合。

電路板開機後,請執行 cam -l。每台相機會列出一個項目。