メインコンテンツまでスキップ

MIPI カメラインターフェース

注記

続行する前に、sima-cli をインストールまたはアップグレードしてください。このガイドは、最新の sima-cli バージョンで使用することを目的としています。

注記

この手順では、最新のsima-cliバージョンがインストールされたホストが必要です。また、MIPIのサポートに必要な.dtboファイルを含む、Modalix DevKitのファームウェアバージョンも必要です。

Modalix DevKit には、カメラ入力用の2つの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変数を、適切なデバイスツリーブロブオーバーレイ(.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, 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 のカメラ用オーバーレイを以下に示します。ほかのリリースでは、一部のオーバーレイの名前が異なります。お使いのボードにあるオーバーレイを一覧表示するには、Linux から次のコマンドを実行します。

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

各オーバーレイに対応する注文すべきカメラ、各キャリアボードのポート、センサーモードについては、対応 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 を使用してカメラの接続を確認します。

  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 にカメラごとのオーバーレイを 1 つずつ、スペースで区切って設定します。U-Boot はリスト内のすべてのオーバーレイを適用します。この方法は、プラットフォームリリース 2.1.0 以降で使用できます。

カメラのモデルは異なっていてもかまいません。各カメラのモデルとポートに対応するオーバーレイを使用してください。たとえば、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
  • 1 つのポートに指定できるオーバーレイは 1 つだけです。
  • オーバーレイの順序は問いません。
  • DUAL オーバーレイは、Waveshare キャリアボードの両方のポートを同じカメラモデルで設定します。DUAL オーバーレイか、ポートごとのオーバーレイ 2 つのどちらかを使用し、両方を同時に指定しないでください。
  • どのキャリアボードのどのポートにオーバーレイがあるかは、対応 MIPI カメラを参照してください。
  • すべての組み合わせがテストされているわけではありません。cam -l と各カメラからのキャプチャで、お使いの組み合わせを確認してください。

ボードが起動したら、cam -l を実行します。カメラごとに 1 つのエントリが表示されます。

この変数は、シリアルコンソールを使わずに 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