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

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

примітка

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

примітка

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

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, LIArducam, e-con Systems або Leopard Imaging.
Тип сенсораIMX477, IMX568, FPGA-IMX568, KOBE1-IMX568, IMX678, AR0234, OG05C10Модель сенсора камери.
Порт0CAM, 1CAM, 2CAM, 3CAM, DUALНомер порту MIPI, до якого підключено камеру.

За замовчуванням Modalix DevKit має плату-носій Waveshare. Наприклад, для камери Arducam IMX477, підключеної до порту 1 Modalix DevKit:

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 по одному оверлею для кожної камери, розділивши їх пробілами. U-Boot застосовує кожен оверлей зі списку. Це працює починаючи з випуску платформи 2.1.0.

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

sima$ setenv dtbos modalix-som-waveshare-ECON-IMX678-1CAM.dtbo modalix-som-waveshare-LI-OG05C10-2CAM.dtbo
sima$ printenv dtbos
sima$ saveenv ; boot
  • Для одного порту можна вказати лише один оверлей.
  • Порядок оверлеїв не має значення.
  • Оверлей DUAL налаштовує обидва порти плати-носія Waveshare з однаковою моделлю камери. Використовуйте або оверлей DUAL, або два оверлеї для окремих портів, але не разом.
  • Для яких портів кожної плати-носія є оверлеї, див. у розділі Підтримувані камери 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