LINUX.ORG.RU

С какой стороны подступиться к MIPI CSI?

 , ,


0

2

Интересует разработка драйверов для MIPI CSI. Гуглил материалы, смотрел тексты других драйверов, искал с чего начать, чтобы хотя бы понять, что камера более-менее правдоподобно что-то шлёт, но, как-то разнообразия не очень. Наткнулся здесь на ЛОР-е на совет, что начать стоит с часов CSI-ных, но даже не представляю как это должно выглядеть. Вот, например, ситуация с COM-портом: для начала надо бы запустить терминал для COM-порта, подключиться, отправить некую команду, получить ответ. Хотя бы видно, что устройство тебе отвечает. А как быть с часами CSI? Как убедиться, что они вообще работают? Как это дело делается?


Интересует разработка драйверов для MIPI CSI. Гуглил материалы, смотрел тексты других драйверов, искал с чего начать

MIPI spec -> kernel spec -> board spec -> camera spec

А как быть с часами CSI?

«clock» - это не всегда часы, как ни странно ))

kindof
()

И ещё вопрос: вот эти линии CSI приходят на определённые ножки процессора. А вот как можно программно посмотреть что за данные туда приходят? Как получить доступ к этой ножке?

czan
() автор топика
Ответ на: комментарий от czan

И ещё вопрос: вот эти линии CSI приходят на определённые ножки процессора. А вот как можно программно посмотреть что за данные туда приходят? Как получить доступ к этой ножке?

приходят не на ножки процессора, а на ножки I/O контроллера MIPI на SoС

и если мы про онтопик, то

https://www.kernel.org/doc/html/v5.10/driver-api/media/csi2.html

например

kindof
()

А что же это обозначает в данном контексте?

ох, шит!

Вы точно уверены, что вам это надо?

Это очень быстрая цифровая шина. Напрямую с ней не работают. Только через специальный IP-блок (как тут выше сказали). А вот у этого блока сотни регистров, чтобы задавать режимы работы и передачи данных. А дальше там передача в память и т.д.

Я как-то портировал один такой драйвер с TX1 на TX2. Пришлось немного хлебнуть дерьма.

yax123 ★★★★★
()
Ответ на: комментарий от max_lapshin

MIPI - это альянс которые все это придумывает. CSI это конкретная релизация для подключения камер. CSI-1 сам ни разу не видел. Сразу погружался в CSI-2. В чем там разница не в курсе.

yax123 ★★★★★
()
Ответ на: комментарий от max_lapshin

MIPI это организация которая придумала соответствующие интерфейсы, ну и обозначение этой группы интерфейсов. Ну как молекс, например. CSI - это для камер DSI- это для дисплеев. Предлагаю использоваться название CSI или MIPI CSI. Если просто MIPI, то не понятно, что конкретно имеется ввиду.

Драйвер портировал самодельный (мой предшественник писал). Железяка - IMX264 + преобразователь интерфейса на CPLD Lattice (у них есть апноут для таких сенсоров на подключение к CSI-2).

Драйвер в целом крайне простой. Все самое сложное угадать с клоками и тиками. Ну и учесть, что если в TX1 интерфейс был очень толерантен к неточностям реализации, то в TX2 он уже просто посылает нахер в особо грубой форме.

yax123 ★★★★★
()
Ответ на: комментарий от yax123

офигенная тема, я аж взволновался!

Скажи, а вам пришлось подбирать какие-то калибровочные параметры для того, чтобы цвет был реалистичным или не требовалось?

Ну и как вы все эти клоки и тики подбирали, если не секрет? Подглядывали в другую работающую реализацию?

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

подбирать какие-то калибровочные параметры для того, чтобы цвет был реалистичным или не требовалось?

У нас машинное зрение, номера распознаем. Там достаточно ЧБ. А цветная камера ночью почти бесполезна. У цветных ИК-фильтр стоит и ночная ИК-подсветка не пролазит. Хотя всякие арабы очень любят всякое многопиксельное и цветное (знал бы ты какое извращение пришлось сделать для этого, но это NDA).

Ну и как вы все эти клоки и тики подбирали, если не секрет?

Да как как, читаешь даташит и пытаешься понять, что это значит. Потом смотришь на ошибки в логах, сравниваешь с тем, что пишешь и пытаешься это все вместе осмыслить. Нюансов много, и понять какой главный, а какой второстепенный или они все важные непонятно. Последний раз, проблема была в том, чтобы правильно подобрать ширину строки, чтобы она была кратна всем ограничениям конвеера в джетсоне. Там где-то кратность 4, где-то 8, а где-то двум (это примерно). Когда угадал и все получилось, становится сразу понятно, что было написано в доке, и что за ошибка в логах. Но пока не угадешь, хрен поймешь.

Только не надо думать, что я этим непрерывно занимаюсь. За последние 3 года я этим сумарно месяц занимался. От самодельных камер ве перетекают в готовые (IP/eth/usb3). С другой стороны сони и джипиксели начали делать сенсоры сразу с интерфейсом CSI-2 и возможно будет ренесанс самоделок. Это дешевле и все вычислители обычно имеют много CSI входов - грех не использовать.

yax123 ★★★★★
()