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, 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. Наприклад, для камери 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, щоб перевірити підключення камери.
-
Список доступних камер:
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 по одному оверлею для кожної камери, розділивши їх пробілами. 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