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

Інтеграція власної камери

Використовуйте цю сторінку, коли вашої камери немає в розділі Підтримувані камери MIPI. Вона показує, що має виконуватися, перш ніж камера зможе видавати кадри на платі Modalix, що вам потрібно написати і як перевірити кожен крок. Камера, якої немає в тому переліку, не підтримується. Очікуйте роботи з драйвером і деревом пристроїв та окремої роботи над якістю зображення.

Ще не перевірено на обладнанні

Цю сторінку написано на основі вихідного коду ядра для випуску платформи 2.1.3. Ніхто ще не інтегрував нову камеру, дотримуючись її.

Спершу перевірте сумісність​

ПитанняЩо надає платформа
Лінії MIPI CSI-2Кожен інтерфейс CSI модуля Modalix SoM має дві лінії даних. Камера, якій потрібні чотири лінії на одному інтерфейсі, не працює.
ІнтерфейсиSoM має чотири інтерфейси CSI, від CSI0 до CSI3. Плата-носій під’єднує деякі з них. Modalix DevKit під’єднує CSI1 і CSI2.
Роз’єм і кабельРоз’єм на камері має під’єднуватися до роз’єму на платі-носії. Може знадобитися перехідник.
Шина керування, тактовий сигнал, живлення та скиданняСенсору потрібні шина I2C, опорний тактовий сигнал, живлення і зазвичай контакт скидання або вимкнення живлення. Які контакти їх надають, визначає плата-носій.

Про роз’єми камер і сигнали плати-носія див. розділ Запуск плати-носія.

Перевірте драйвер​

Ядро повинно мати драйвер для сенсора. Випуск платформи 2.1.3 вмикає драйвери для таких сенсорів камер: Sony IMX219, IMX415, IMX477, IMX568 і IMX678, onsemi AR0234 та OmniVision OG05C10. Він також вмикає драйвери серіалізаторів і десеріалізаторів GMSL: MAX96714, MAX96717, MAX96724 і MAX9296A. Перелік наведено у файлі simaai_modalix_defconfig.

Для іншого сенсора додайте його драйвер до ядра. Див. розділ Збирання BSP з вихідного коду.

Наявність драйвера в ядрі не робить камеру підтримуваною. Камери, які мають оверлей, наведено в розділі Підтримувані камери MIPI.

Напишіть оверлей​

Почніть з оверлея підтримуваної камери для вашої плати-носія та порту і змініть його для свого сенсора. Наприклад, див. modalix-som-waveshare-ARDU-IMX477-1CAM.dtso. Оверлей має робити таке:

  1. Надавати опорний тактовий сигнал сенсора.
  2. Вмикати шину I2C, на якій розміщено сенсор.
  3. Задавати контакт вимкнення живлення або скидання камери.
  4. Вмикати інтерфейс CSI порту разом із його D-PHY та відеовузлами. Для порту 1 це csi1, mipi_dphy_rx1, axi_vdma1, v4l2video1 і v4l2vdma1.
  5. Описувати сенсор: його рядок compatible, адресу I2C і тактовий сигнал.
  6. Під’єднувати сенсор до інтерфейсу CSI з data-lanes = <1 2> і частотою лінії режиму сенсора.

Як зібрати, встановити та перевірити оверлей, див. у розділі Дерева пристроїв та оверлеї.

Перевірка захоплення​

  1. Перегляньте перелік камер. Ваша камера має бути в ньому:

    sima@modalix:~$ cam -l
  2. Перегляньте формати та розміри, які пропонує камера:

    sima@modalix:~$ cam -c 1 -I
  3. Захопіть кадр:

    sima@modalix:~$ cam -c 1 --capture=1 -F -s pixelformat=NV12

Якщо камери немає в переліку, див. розділ Якщо не працює.

Якість зображення — окремий крок​

Камера, яка захоплює кадри, ще не дає якісних зображень. ISP потребує даних налаштування для кожного сенсора та об’єктива. У випуску платформи 2.1.3 драйвер ISP у ядрі має записи сенсорів лише для IMX477, IMX568, IMX678 та OG05C10. Для іншого сенсора заплануйте налаштування ISP. Його описано в «Modalix Посібник з налаштування камери та ISP» у розділі Довідкові документи; посібник можна отримати в представника SiMa.ai.

Що охоплює налаштування і як отримати посібник, див. у розділі Налаштування ISP.

Отримання допомоги​

Щоб звернутися до SiMa.ai щодо інтеграції камери, зв’яжіться з представником SiMa.ai або скористайтеся сторінкою контактів SiMa.ai. Вкажіть сенсор і номер за каталогом модуля камери, плату-носій і порт, випуск платформи та результат кожного кроку перевірки.

Наступні кроки​