richstog 0 Thursday at 07:52 AM Posted Thursday at 07:52 AM · Report post Здравствуйте, я хочу получать данные с матрицы на плис, которую достал из старой мыльницы Canon PowerShot A3000 IS, есть ли такая возможность. Так же имеется много старых смартфонов, из которых тоже можно вытащить матрицу камеры. Как ловить их пакеты и понять по какому протоколу они общаются? Quote Share this post Link to post Share on other sites More sharing options...
_pv 113 Thursday at 09:23 AM Posted Thursday at 09:23 AM · Report post Это вероятнее всего артефакт древней высокоразвитой цивилизации под названием ПЗС, и картинку он выдаёт "пакетом" аналогового напряжения около полувольта на определённой ножке (возможно нескольких, например, 2х или 4х по углам для "распараллеливания" считывания), а для "перебора" пикселей надо подёргать определённым образом ещё почти десятком других ножек в определённой последовательности и с довольно "дурацкими" уровнями напряжения, типа +2/-9В, +5/-3В. Так что для подключения непосредственно к плис напрямую малопригоден. Производитель сенсора sharp, даташита в свободном доступе не существует (как и на большинсво других сенсоров выдранных из камер/телефонов) Если так хочется для начала возьмите какой-нибудь параллельный говёный омнивижиновский сенсор типа от esp32cam. Ну или последовательный с MIPI-CSI и воткните его в какую-нибудь raspberryPI. Quote Share this post Link to post Share on other sites More sharing options...
r_dot 43 Thursday at 09:52 AM Posted Thursday at 09:52 AM · Report post 1 час назад, richstog сказал: получать данные с матрицы ... из старой мыльницы ... есть ли такая возможность Реально что можно сделать - выдрать матрицу вместе с "мозгами". Эти камеры умеют выводить изображение на внешний разъём. Вот для него вполне реально найти протокол передачи. Остальные способы - проще разработать с нуля матрицу. Quote Share this post Link to post Share on other sites More sharing options...
richstog 0 Thursday at 10:15 AM Posted Thursday at 10:15 AM · Report post 51 минуту назад, _pv сказал: Это вероятнее всего артефакт древней высокоразвитой цивилизации под названием ПЗС, и картинку он выдаёт "пакетом" аналогового напряжения около полувольта на определённой ножке (возможно нескольких, например, 2х или 4х по углам для "распараллеливания" считывания), а для "перебора" пикселей надо подёргать определённым образом ещё почти десятком других ножек в определённой последовательности и с довольно "дурацкими" уровнями напряжения, типа +2/-9В, +5/-3В. Так что для подключения непосредственно к плис напрямую малопригоден. Производитель сенсора sharp, даташита в свободном доступе не существует (как и на большинсво других сенсоров выдранных из камер/телефонов) Если так хочется для начала возьмите какой-нибудь параллельный говёный омнивижиновский сенсор типа от esp32cam. Ну или последовательный с MIPI-CSI и воткните его в какую-нибудь raspberryPI. Жалко((( Такие матрицы пропадают( Quote Share this post Link to post Share on other sites More sharing options...
_pv 113 Thursday at 10:21 AM Posted Thursday at 10:21 AM · Report post 1 minute ago, richstog said: Жалко((( Такие матрицы пропадают( Да, от старых айфонов начиная с аж каких-нибудь 4-5 их поди до сих пор найти можно как запчасти по 5 копеек за ведро. Quote Share this post Link to post Share on other sites More sharing options...
mantech 154 Thursday at 02:02 PM Posted Thursday at 02:02 PM (edited) · Report post 4 часа назад, _pv сказал: Это вероятнее всего артефакт древней высокоразвитой цивилизации под названием ПЗС, Не вероятно, а именно так и есть "1/2,3″ (5,9×4,4 мм) CCD-сенсор, 10 Мп;" Про подключение его вы уже написали, это нужен 3х канальный АЦП и синхросигналы считывания строк и столбцов. Да ПЗС матрицы пошустрее в плане видео и не размываются при движении, но работать с ними гемор еще тот... 3 часа назад, _pv сказал: Да, от старых айфонов начиная с аж каких-нибудь 4-5 Они скорее всего DSIшные с диффпарами, а значит к ПЛИСине их без конвертера не подключить.. 6 часов назад, richstog сказал: по какому протоколу они общаются? Смартфоннопланшетные матрицы общаются только по 2м разновидностям MIPI - параллельный, если найдете инфу инита матрицы то самый простой по подключению и CSI диффпарный, нужен конвертер в параллельный, ну или мегаркрутой программист ПЛИС, который реализует его используя диффприемники... Edited Thursday at 02:08 PM by mantech Quote Share this post Link to post Share on other sites More sharing options...
_pv 113 Thursday at 02:52 PM Posted Thursday at 02:52 PM · Report post 35 minutes ago, mantech said: Не вероятно, а именно так и есть "1/2,3″ (5,9×4,4 мм) CCD-сенсор, 10 Мп;" я имел ввиду что именно честный ПЗС с аналоговым выходом, а то нынче вроде научились, не смотря на разницу в тех процессах, каких-то гибридов с ПЗС сенсором, но "КМОП" АЦП внутри делать. Без даташита 100% утверждать нельзя. 35 minutes ago, mantech said: Они скорее всего DSIшные с диффпарами, а значит к ПЛИСине их без конвертера не подключить.. CSI, "D" это в обратную сторону для дисплеев. у каких-то старых как раз то ли 4 то ли 5 айфонов сенсор вроде был с энкодером jpega на борту, а не в процессоре, соответственно теоретически наверное можно было и парой резисторов обойтись для MIPI-CSI -> LVDS и их неспешными несколькими сотнями МБит/с чтобы пожатую картинку забрать в плис и без конвертеров. Quote Share this post Link to post Share on other sites More sharing options...
mantech 154 Thursday at 04:49 PM Posted Thursday at 04:49 PM · Report post 1 час назад, _pv сказал: я имел ввиду что именно честный ПЗС с аналоговым выходом, Япошки вроде честные делали, сколь мне попадалось.. 1 час назад, _pv сказал: для MIPI-CSI -> LVDS Если с камеры диффпары идут, то просто в lvds их не конвертануть, все равно придется ядро MIPI в плисине городить. Quote Share this post Link to post Share on other sites More sharing options...
Alex11 14 Friday at 11:24 AM Posted Friday at 11:24 AM · Report post И, кроме всего, там еще везде управление по I2C. Пока туда не запихнешь несколько килобайт данных, матрица вообще ничего не отдаст. Без DS дознаться что пихать невозможно. Quote Share this post Link to post Share on other sites More sharing options...
mantech 154 Friday at 12:02 PM Posted Friday at 12:02 PM · Report post 37 минут назад, Alex11 сказал: Без DS дознаться что пихать невозможно. Ну для любителей и страждующих есть линуксовые исходники, можно оттуда))) Quote Share this post Link to post Share on other sites More sharing options...
_pv 113 Friday at 12:23 PM Posted Friday at 12:23 PM · Report post 53 minutes ago, Alex11 said: И, кроме всего, там еще везде управление по I2C. Пока туда не запихнешь несколько килобайт данных, матрица вообще ничего не отдаст. Без DS дознаться что пихать невозможно. ПЗС в этом смысле управляется куда проще, сколько раз "сдвигвый регистр" дёрнул ровно на столько пиксели по строкам/столбцам в сторону выхода и сместились, никакого i2c. а даже при наличии даташита в официальной документации часто встречается вот такое, ну крастота ведь, и даже с комментариями. Spoiler // Lens correction for ? write_i2c(0x5800, 0x23); write_i2c(0x5801, 0x14); write_i2c(0x5802, 0x0f); write_i2c(0x5803, 0x0f); write_i2c(0x5804, 0x12); write_i2c(0x5805, 0x26); write_i2c(0x5806, 0x0c); write_i2c(0x5807, 0x08); write_i2c(0x5808, 0x05); write_i2c(0x5809, 0x05); write_i2c(0x580a, 0x08); write_i2c(0x580b, 0x0d); write_i2c(0x580c, 0x08); write_i2c(0x580d, 0x03); write_i2c(0x580e, 0x00); write_i2c(0x580f, 0x00); write_i2c(0x5810, 0x03); write_i2c(0x5811, 0x09); write_i2c(0x5812, 0x07); write_i2c(0x5813, 0x03); write_i2c(0x5814, 0x00); write_i2c(0x5815, 0x01); write_i2c(0x5816, 0x03); write_i2c(0x5817, 0x08); write_i2c(0x5818, 0x0d); write_i2c(0x5819, 0x08); write_i2c(0x581a, 0x05); write_i2c(0x581b, 0x06); write_i2c(0x581c, 0x08); write_i2c(0x581d, 0x0e); write_i2c(0x581e, 0x29); write_i2c(0x581f, 0x17); write_i2c(0x5820, 0x11); write_i2c(0x5821, 0x11); write_i2c(0x5822, 0x15); write_i2c(0x5823, 0x28); write_i2c(0x5824, 0x46); write_i2c(0x5825, 0x26); write_i2c(0x5826, 0x08); write_i2c(0x5827, 0x26); write_i2c(0x5828, 0x64); write_i2c(0x5829, 0x26); write_i2c(0x582a, 0x24); write_i2c(0x582b, 0x22); write_i2c(0x582c, 0x24); write_i2c(0x582d, 0x24); write_i2c(0x582e, 0x06); write_i2c(0x582f, 0x22); write_i2c(0x5830, 0x40); write_i2c(0x5831, 0x42); write_i2c(0x5832, 0x24); write_i2c(0x5833, 0x26); write_i2c(0x5834, 0x24); write_i2c(0x5835, 0x22); write_i2c(0x5836, 0x22); write_i2c(0x5837, 0x26); write_i2c(0x5838, 0x44); write_i2c(0x5839, 0x24); write_i2c(0x583a, 0x26); write_i2c(0x583b, 0x28); write_i2c(0x583c, 0x42); write_i2c(0x583d, 0xce); // lenc BR offset Quote Share this post Link to post Share on other sites More sharing options...
Alex11 14 Friday at 01:17 PM Posted Friday at 01:17 PM · Report post Quote ну крастота ведь Да, плавали, знаем. Quote Share this post Link to post Share on other sites More sharing options...