MIPI 相機介面
請在繼續操作之前安裝或升級 sima-cli。本指南適用於最新版本的 sima-cli。
此程序需要安裝最新版本的 sima-cli 的主機。它還需要一個包含用於支援 MIPI 的 .dtbo 檔案的 Modalix DevKit 韌體版本。
Modalix DevKit 包含兩個用於相機輸入的 MIPI 介面。 MIPI 連接埠位於載板上。
在開始之前,請關閉 Modalix DevKit 的電源,並將一個 MIPI 相機連接到其中一個 MIPI 連接埠。
將一條序列線連接到主機和 Modalix DevKit,然後開啟 DevKit 的電源。
使用 sima-cli 開啟一個序列終端,然後在 3 秒倒數期間按下任意按鍵,以進入 U-Boot。
sima-cli serial -b 115200
...
Hit any key to stop autoboot: 0
sima$
在 U-Boot 中,將 dtbos 變數設定為適當的「Device Tree Blob Overlay」(.dtbo) 檔案。正確的檔案取決於「載板」、「相機製造商」、「感測器類型」和「相機連接埠」。然後儲存環境並啟動至作業系統。
檔案名稱遵循以下模式:
modalix-som-<carrier_board>-<camera_manufacturer>-<sensor_type>-<port>.dtbo
根據您的硬體規格,選擇每個元件:
| 元件 | 值 | 說明 |
|---|---|---|
| 載板 | connectech, seeedstudio, waveshare | 載板型號 |
| 相機製造商 | ARDU, ECON, LI | Arducam、e-con Systems 或 Leopard Imaging |
| 感測器類型 | IMX477, IMX568, FPGA-IMX568, KOBE1-IMX568, IMX678, AR0234, OG05C10 | 相機感測器型號 |
| 連接埠 | 0CAM, 1CAM, 2CAM, 3CAM, DUAL | 與相機連接的 MIPI 埠號。 |
Modalix DevKit 預設搭載 Waveshare 載板。舉例來說,Modalix DevKit 的 1 號埠連接 Arducam IMX477 相機時:
sima$ setenv dtbos modalix-som-waveshare-ARDU-IMX477-1CAM.dtbo ; saveenv ; boot
以下列出平台版本 2.1.3 的相機 overlay。其他版本中,部分 overlay 的名稱不同。若要列出您電路板上的 overlay,請在 Linux 中執行以下指令:
sima@modalix:~$ ls /boot/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-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-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-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-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-LI-AR0234-1CAM.dtbo
modalix-som-waveshare-LI-AR0234-2CAM.dtbo
modalix-som-waveshare-LI-AR0234-DUAL.dtbo
modalix-som-waveshare-LI-OG05C10-1CAM.dtbo
modalix-som-waveshare-LI-OG05C10-2CAM.dtbo
modalix-som-waveshare-LI-OG05C10-DUAL.dtbo
為了驗證介面,請將 Modalix DevKit 連接到顯示器,然後登入。接著,使用 libcamera 來驗證相機的連線。
-
列出可用的相機:
sima@modalix:~$ cam -l -
顯示相機 1 的不同相機格式:
sima@modalix:~$ cam -c 1 -I -
從相機 1 擷取一張影像:
sima@modalix:~$ rm -rf frame* && cam -c 1 --capture=1 -F -s pixelformat=NV12
使用多台相機
若要使用一台以上的相機,請將 dtbos 設定為每台相機各一個 overlay,並以空格分隔。U-Boot 會套用清單中的每個 overlay。此做法自平台版本 2.1.0 起適用。
相機可以是不同的型號。請使用與每台相機的型號及連接埠相符的 overlay。舉例來說,Modalix DevKit 的 1 號埠連接 e-con Systems IMX678 相機、2 號埠連接 Leopard Imaging OG05C10 相機時:
sima$ setenv dtbos modalix-som-waveshare-ECON-IMX678-1CAM.dtbo modalix-som-waveshare-LI-OG05C10-2CAM.dtbo
sima$ printenv dtbos
sima$ saveenv ; boot
- 每個連接埠只能指定一個 overlay。
- overlay 的順序不影響結果。
DUALoverlay 會將 Waveshare 載板的兩個連接埠設定為相同的相機型號。請擇一使用DUALoverlay 或兩個連接埠各自的 overlay,不要同時指定。- 各載板有哪些連接埠提供 overlay,請參閱支援的 MIPI 相機。
- 並非所有組合都經過測試。請使用
cam -l並從每台相機擷取影像,以驗證您的組合。
電路板開機後,請執行 cam -l。每台相機會列出一個項目。
您也可以在 Linux 中設定此變數,而不需要序列主控台。
sima@modalix:~$ fw_setenv dtbos "modalix-som-waveshare-ECON-IMX678-1CAM.dtbo modalix-som-waveshare-LI-OG05C10-2CAM.dtbo"
sima@modalix:~$ fw_printenv dtbos
sima@modalix:~$ sudo reboot