Перейти до основного вмісту

MIPI Інтерфейси для підключення камер

примітка

Будь ласка, встановіть або оновіть sima-cli, перш ніж продовжувати. Ця інструкція призначена для використання з останньою версією sima-cli.

примітка

Для виконання цієї процедури потрібен хост із встановленою останньою версією sima-cli. Також потрібна версія прошивки Modalix DevKit, яка містить файли .dtbo для підтримки MIPI.

Modalix DevKit містить два інтерфейси MIPI для підключення камери. Порти MIPI розташовані на платі-носії.

Перш ніж почати, вимкніть Modalix DevKit і під’єднайте камеру MIPI до одного з портів MIPI.

Увімкніть DevKit і увійдіть у Linux на ньому через SSH або послідовну консоль.

У 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. Наприклад, для камери Arducam IMX477, підключеної до порту 1 Modalix DevKit:

Середовище 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. Щоб переглянути оверлеї на вашій платі, виконайте цю команду:

sima@modalix:~$ ls /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-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 по одному оверлею для кожної камери, розділивши їх пробілами. U-Boot застосовує кожен оверлей зі списку.

Камери можуть бути різних моделей. Використовуйте оверлей, що відповідає моделі та порту кожної камери. Наприклад, для Modalix DevKit із камерою e-con Systems IMX678 на порту 1 і камерою Leopard Imaging OG05C10 на порту 2:

Середовище 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
  • Для одного порту можна вказати лише один оверлей.
  • Порядок оверлеїв не має значення.
  • Оверлей DUAL налаштовує обидва порти плати-носія Waveshare з однаковою моделлю камери. Використовуйте або оверлей DUAL, або два оверлеї для окремих портів, але не разом.
  • Для яких портів кожної плати-носія є оверлеї, див. у розділі Підтримувані камери MIPI.
  • Не всі комбінації протестовано. Перевірте свою за допомогою cam -l і захоплення кадру з кожної камери.

Після завантаження плати виконайте cam -l. Для кожної камери буде показано один запис.