repstosw 18 12 августа, 2022 Опубликовано 12 августа, 2022 · Жалоба 50 minutes ago, aaarrr said: Так посмотрите, есть ли на MCLK половина питания. Замерил. 2,61V выходит. Питание 3,32 V Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 12 августа, 2022 Опубликовано 12 августа, 2022 · Жалоба Тогда вряд ли там есть тактовый сигнал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 августа, 2022 Опубликовано 12 августа, 2022 (изменено) · Жалоба 1 hour ago, aaarrr said: Тогда вряд ли там есть тактовый сигнал. Спасибо! Чуть позже продолжу копать. P.S. Скорее всего клока нет потому что непроинициализированы регистры CSI: не включен модуль. Хоть и клоки все включены. Изменено 12 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 12 августа, 2022 Опубликовано 12 августа, 2022 · Жалоба 3 часа назад, GenaSPB сказал: Модно на плате попробовать завесить к +питания hold и wp Не пробовал, но с MXIC на тот же объем все работает прекрасно. Скорее всего версия проги старая, надо будет как-то с новой проверить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба 10 hours ago, repstosw said: Спасибо! Чуть позже продолжу копать. Причина была в том, что файл настройки пинов (GPIO) я забыл включить в пере-компиляцию. В итоге, никакого CSI там не было, были старые настройки - для работы с LCD по RGB. Теперь напряжение на выводе MCLK 1,66 В и частотомер показывает правильно частоту. Пробую теперь читать регистры камеры - вначале ногодрыгом, потом штатным SCCB. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 13 августа, 2022 Опубликовано 13 августа, 2022 (изменено) · Жалоба Удалось считать регистры камеры через CCI (ногодрыг не заработал, да и он уже не нужен). Действительно, если запретить MCLK (15-й бит регистра CSI1_CLK_REG ), то чтение регистров завершается ошибкой. Значит, регистры камеры синхронные. А бывают и асинхронные, не требующие тактирования/ Только код вендора немного отличается - в даташите регистры 0xA и 0xB должны быть 0x26, 0x41, в моём случае 0x26, 0x42. И некоторые регистры немного отличаются. Но большинство совпадают. Quote OV2640 registers(DSP): [0x0] = 0x0 [0x1] = 0x0 [0x2] = 0x0 [0x3] = 0x0 [0x4] = 0x0 [0x5] = 0x1 [0x6] = 0x0 [0x7] = 0x0 [0x8] = 0x0 [0x9] = 0x0 [0xA] = 0x0 [0xB] = 0x0 [0xC] = 0x0 [0xD] = 0x0 [0xE] = 0x0 [0xF] = 0x0 [0x10] = 0x0 [0x11] = 0x0 [0x12] = 0x0 [0x13] = 0x0 [0x14] = 0x0 [0x15] = 0x0 [0x16] = 0x0 [0x17] = 0x0 [0x18] = 0x0 [0x19] = 0x0 [0x1A] = 0x0 [0x1B] = 0x0 [0x1C] = 0x0 [0x1D] = 0x0 [0x1E] = 0x0 [0x1F] = 0x0 [0x20] = 0x0 [0x21] = 0x0 [0x22] = 0x0 [0x23] = 0x0 [0x24] = 0x0 [0x25] = 0x0 [0x26] = 0x0 [0x27] = 0x0 [0x28] = 0xFF [0x29] = 0xFF [0x2A] = 0x0 [0x2B] = 0x92 [0x2C] = 0x0 [0x2D] = 0x0 [0x2E] = 0x0 [0x2F] = 0x0 [0x30] = 0x0 [0x31] = 0x0 [0x32] = 0x0 [0x33] = 0xF8 [0x34] = 0x0 [0x35] = 0x0 [0x36] = 0x0 [0x37] = 0x0 [0x38] = 0x0 [0x39] = 0x0 [0x3A] = 0x0 [0x3B] = 0x0 [0x3C] = 0x0 [0x3D] = 0x0 [0x3E] = 0x0 [0x3F] = 0x0 [0x40] = 0x33 [0x41] = 0x24 [0x42] = 0x40 [0x43] = 0x40 [0x44] = 0xC [0x45] = 0xFF [0x46] = 0x0 [0x47] = 0x80 [0x48] = 0x2 [0x49] = 0xE0 [0x4A] = 0x1 [0x4B] = 0x0 [0x4C] = 0x0 [0x4D] = 0x0 [0x4E] = 0x0 [0x4F] = 0x0 [0x50] = 0x0 [0x51] = 0x40 [0x52] = 0xF0 [0x53] = 0x0 [0x54] = 0x0 [0x55] = 0x8 [0x56] = 0x0 [0x57] = 0x0 [0x58] = 0x0 [0x59] = 0x0 [0x5A] = 0x58 [0x5B] = 0x48 [0x5C] = 0x0 [0x5D] = 0x0 [0x5E] = 0x0 [0x5F] = 0x0 [0x60] = 0xF [0x61] = 0x0 [0x62] = 0x0 [0x63] = 0x0 [0x64] = 0x0 [0x65] = 0x0 [0x66] = 0x0 [0x67] = 0x0 [0x68] = 0x0 [0x69] = 0x0 [0x6A] = 0x0 [0x6B] = 0x0 [0x6C] = 0x0 [0x6D] = 0x0 [0x6E] = 0x0 [0x6F] = 0x0 [0x70] = 0x0 [0x71] = 0x0 [0x72] = 0x0 [0x73] = 0x0 [0x74] = 0x0 [0x75] = 0x0 [0x76] = 0xD [0x77] = 0x0 [0x78] = 0x80 [0x79] = 0x2 [0x7A] = 0x0 [0x7B] = 0x0 [0x7C] = 0x0 [0x7D] = 0x0 [0x7E] = 0x0 [0x7F] = 0x0 [0x80] = 0x0 [0x81] = 0x0 [0x82] = 0x0 [0x83] = 0x0 [0x84] = 0x0 [0x85] = 0x0 [0x86] = 0xD [0x87] = 0x50 [0x88] = 0xB [0x89] = 0xFF [0x8A] = 0x0 [0x8B] = 0x34 [0x8C] = 0x0 [0x8D] = 0x0 [0x8E] = 0x0 [0x8F] = 0x0 [0x90] = 0x0 [0x91] = 0x2 [0x92] = 0x0 [0x93] = 0x1B [0x94] = 0x0 [0x95] = 0x0 [0x96] = 0x0 [0x97] = 0x9 [0x98] = 0x0 [0x99] = 0x0 [0x9A] = 0x0 [0x9B] = 0x0 [0x9C] = 0x0 [0x9D] = 0x0 [0x9E] = 0x0 [0x9F] = 0x0 [0xA0] = 0x0 [0xA1] = 0x0 [0xA2] = 0x0 [0xA3] = 0x0 [0xA4] = 0x0 [0xA5] = 0x0 [0xA6] = 0x0 [0xA7] = 0x20 [0xA8] = 0x0 [0xA9] = 0x0 [0xAA] = 0x0 [0xAB] = 0x0 [0xAC] = 0x0 [0xAD] = 0x0 [0xAE] = 0x0 [0xAF] = 0x0 [0xB0] = 0x80 [0xB1] = 0x80 [0xB2] = 0x3F [0xB3] = 0x0 [0xB4] = 0x0 [0xB5] = 0xFF [0xB6] = 0x0 [0xB7] = 0x0 [0xB8] = 0x40 [0xB9] = 0x40 [0xBA] = 0xFF [0xBB] = 0x0 [0xBC] = 0xF0 [0xBD] = 0xF0 [0xBE] = 0xF0 [0xBF] = 0x80 [0xC0] = 0xC8 [0xC1] = 0x96 [0xC2] = 0xC [0xC3] = 0xFF [0xC4] = 0x5C [0xC5] = 0x11 [0xC6] = 0x55 [0xC7] = 0x10 [0xC8] = 0x0 [0xC9] = 0xC [0xCA] = 0x0 [0xCB] = 0x10 [0xCC] = 0x80 [0xCD] = 0x80 [0xCE] = 0x80 [0xCF] = 0x8 [0xD0] = 0x82 [0xD1] = 0x0 [0xD2] = 0xA0 [0xD3] = 0x82 [0xD4] = 0x0 [0xD5] = 0x2 [0xD6] = 0x0 [0xD7] = 0x0 [0xD8] = 0x1 [0xD9] = 0x20 [0xDA] = 0x0 [0xDB] = 0x0 [0xDC] = 0x0 [0xDD] = 0xFF [0xDE] = 0x0 [0xDF] = 0x2 [0xE0] = 0x4 [0xE1] = 0xE7 [0xE2] = 0x32 [0xE3] = 0x2 [0xE4] = 0x0 [0xE5] = 0x3F [0xE6] = 0x0 [0xE7] = 0x0 [0xE8] = 0x0 [0xE9] = 0x45 [0xEA] = 0x10 [0xEB] = 0x10 [0xEC] = 0x82 [0xED] = 0x1F [0xEE] = 0x0 [0xEF] = 0x0 [0xF0] = 0x4 [0xF1] = 0x60 [0xF2] = 0x5A [0xF3] = 0xF1 [0xF4] = 0x0 [0xF5] = 0x0 [0xF6] = 0x0 [0xF7] = 0x60 [0xF8] = 0x0 [0xF9] = 0x40 [0xFA] = 0x0 [0xFB] = 0x0 [0xFC] = 0x0 [0xFD] = 0x0 [0xFE] = 0x7B [0xFF] = 0x0 OV2640 registers(Sensor): [0x0] = 0x3D [0x1] = 0x0 [0x2] = 0x0 [0x3] = 0xF [0x4] = 0x23 [0x5] = 0x0 [0x6] = 0x0 [0x7] = 0x0 [0x8] = 0x40 [0x9] = 0x0 [0xA] = 0x26 [0xB] = 0x42 [0xC] = 0x38 [0xD] = 0x7 [0xE] = 0x11 [0xF] = 0x43 [0x10] = 0x37 [0x11] = 0x0 [0x12] = 0x0 [0x13] = 0xC7 [0x14] = 0x50 [0x15] = 0x0 [0x16] = 0x0 [0x17] = 0x11 [0x18] = 0x75 [0x19] = 0x1 [0x1A] = 0x97 [0x1B] = 0x0 [0x1C] = 0x7F [0x1D] = 0xA2 [0x1E] = 0x8 [0x1F] = 0x0 [0x20] = 0x0 [0x21] = 0x0 [0x22] = 0x0 [0x23] = 0x0 [0x24] = 0x78 [0x25] = 0x68 [0x26] = 0xD4 [0x27] = 0x4 [0x28] = 0x10 [0x29] = 0x0 [0x2A] = 0x0 [0x2B] = 0x0 [0x2C] = 0x0 [0x2D] = 0x0 [0x2E] = 0x0 [0x2F] = 0x1B [0x30] = 0x8 [0x31] = 0x30 [0x32] = 0x36 [0x33] = 0x8 [0x34] = 0x20 [0x35] = 0xC8 [0x36] = 0x0 [0x37] = 0x41 [0x38] = 0xA4 [0x39] = 0x2 [0x3A] = 0x39 [0x3B] = 0xF9 [0x3C] = 0x37 [0x3D] = 0x34 [0x3E] = 0x80 [0x3F] = 0x1 [0x40] = 0x0 [0x41] = 0x0 [0x42] = 0x83 [0x43] = 0x0 [0x44] = 0x0 [0x45] = 0x1 [0x46] = 0x0 [0x47] = 0x0 [0x48] = 0x0 [0x49] = 0x0 [0x4A] = 0x1 [0x4B] = 0x20 [0x4C] = 0x9 [0x4D] = 0x11 [0x4E] = 0x0 [0x4F] = 0xCA [0x50] = 0xA8 [0x51] = 0x1 [0x52] = 0x1 [0x53] = 0x10 [0x54] = 0x40 [0x55] = 0x40 [0x56] = 0x20 [0x57] = 0x0 [0x58] = 0x0 [0x59] = 0x0 [0x5A] = 0x0 [0x5B] = 0x0 [0x5C] = 0x0 [0x5D] = 0x55 [0x5E] = 0x55 [0x5F] = 0x55 [0x60] = 0x55 [0x61] = 0x80 [0x62] = 0x90 [0x63] = 0x0 [0x64] = 0x7F [0x65] = 0x7F [0x66] = 0x7F [0x67] = 0x7F [0x68] = 0x7F [0x69] = 0x7F [0x6A] = 0x44 [0x6B] = 0x5E [0x6C] = 0x80 [0x6D] = 0x0 [0x6E] = 0x0 [0x6F] = 0xC0 [0x70] = 0x2 [0x71] = 0x94 [0x72] = 0x4 [0x73] = 0x81 [0x74] = 0x20 [0x75] = 0xD0 [0x76] = 0xD0 [0x77] = 0xF0 [0x78] = 0x90 [0x79] = 0xE5 [0x7A] = 0xE3 [0x7B] = 0x4 [0x7C] = 0x85 [0x7D] = 0x1F [0x7E] = 0x0 Изменено 13 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба Запустил CSI и камеру OV2640. Пока в QCIF режиме 176x144 и RGB565. Делал серию кадров, периодически появляются горизонтальные полосы по экрану. Скорее всего из-за грязного питания на аналоговой части (разделения питания на Lichee Zero нет от слова "совсем"). Освещение в комнате очень тусклое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
embig 0 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба А не поднимал ли кто Audio Codec в T113? Данные в FIFO поступают, из FIFO исчезают, далее должны попадать в DAP, а затем в DAC и затем на HPOUT. После инициализации слышен слабый щёлк и всё. DAP вроде bypass, платка Mango Dual. В отличии от D1, у T113 линейного выхода нет, а на HP замутили какую-то систему детекции подключения, с которой я пока не разобрался. Может кто-то понял, как это работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 13 августа, 2022 Опубликовано 13 августа, 2022 · Жалоба 19 minutes ago, embig said: А не поднимал ли кто Audio Codec в T113? Данные в FIFO поступают, из FIFO исчезают, далее должны попадать в DAP, а затем в DAC и затем на HPOUT. После инициализации слышен слабый щёлк и всё. DAP вроде bypass, платка Mango Dual. В отличии от D1, у T113 линейного выхода нет, а на HP замутили какую-то систему детекции подключения, с которой я пока не разобрался. Может кто-то понял, как это работает? Я уже давно его поднял (и на чтение и на запись) на прошлых страницах форума. И на T113-s3 и на V3s. Связка: DMA + FIFO + прерывания. Процессор отдыхает. ------- Чёто я не понял. Эта камера OV2640 может больше чем на 15 FPS давать кадр? Тактирую её MCLK=24 МГц, входное окно в исходнике Линукса ставится 1600x1200, выходное у меня 176x144. И всё-равно 15 FPS? Как сделать хотя бы 30 FPS ? Входной размер попробовал уменьшить камере - не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 августа, 2022 Опубликовано 14 августа, 2022 · Жалоба 15 hours ago, repstosw said: Делал серию кадров, периодически появляются горизонтальные полосы по экрану. Скорее всего из-за грязного питания на аналоговой части (разделения питания на Lichee Zero нет от слова "совсем"). Предположение подтвердилось. На плате Lichee Zero зачем-то запитали аналоговым питанием цифровую часть камеры, отвечающую за порты ввода-вывода. По-хорошему, туда нужно 3,3V. А вот на плате WaveShare правильно сделано: на цифровую часть 3,3V, на аналоговую 2,8V, на ядро 1,2V. Для сравнения. Плата Lichee Zero: Плата WaveShare: Получились вот такие макароны: Картинка (без полос): 12 hours ago, repstosw said: Как сделать хотя бы 30 FPS ? Вопрос в силе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 14 августа, 2022 Опубликовано 14 августа, 2022 (изменено) · Жалоба 5 часов назад, repstosw сказал: Вопрос в силе. Так я понял, что и разрешение в данный момент явно не то, что нужно))) Хотя, как по мне, так я этими камерами б не занимался вообще, лучше сразу бы USB-AVC начал курить, ибо более применябельно это, ИМХО))) Изменено 14 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 августа, 2022 Опубликовано 14 августа, 2022 (изменено) · Жалоба 33 minutes ago, mantech said: Так я понял, что и разрешение в данный момент явно не то, что нужно))) На выходе разрешение может быть любое, но если входное разрешение не менять, то все выходные будут с 15 FPS. Дело в том, что эта камера позволяет выбрать одно из трёх возможных входных разрешений видео-сенсора со своим FPS: 1600x1200 15 FPS => UXGA 800x600 30 FPS => SVGA 352x288 60 FPS => CIF Выходное разрешение выдаваемой картинки на шину CSI может быть любым (вплоть до 40x30). И всё бы ничего, НО: по умолчанию задан входной формат сенсора 1600x1200 15 FPS. И я пробовал его изменить на 800x600 чтобы получить 30FPS. В итоге, на выходе камеры изображения нет, захвата нет. Захват идёт только, если входной размер уставновлен 1600x1200. В интернете ищутся примеры именно для входного разрешения 1600x1200. А нужно хотя бы 30 FPS. Изменено 14 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 августа, 2022 Опубликовано 14 августа, 2022 (изменено) · Жалоба 1 hour ago, mantech said: Хотя, как по мне, так я этими камерами б не занимался вообще, лучше сразу бы USB-AVC начал курить, ибо более применябельно это, ИМХО))) Мне это не интересно ))) И USB в режиме хоста мне тоже неинтересен ))) 6 hours ago, repstosw said: На плате Lichee Zero зачем-то запитали аналоговым питанием цифровую часть камеры, отвечающую за порты ввода-вывода. По-хорошему, туда нужно 3,3V. И я знаю зачем они так сделали. Далеко не каждая камера может питать свои порты напряжением 3,3V. Часто ограничивают до 3 V. Но камера OV2640 может! Китайцы просто решили сэкономить на одном LDO - завели на питание портов питание для аналоговой части. Прямо жалко 3 детали было поставить: LDO + 2 конденсатора Изменено 14 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 августа, 2022 Опубликовано 14 августа, 2022 · Жалоба 2 hours ago, repstosw said: И всё бы ничего, НО: по умолчанию задан входной формат сенсора 1600x1200 15 FPS. И я пробовал его изменить на 800x600 чтобы получить 30FPS. В итоге, на выходе камеры изображения нет, захвата нет. Захват идёт только, если входной размер уставновлен 1600x1200. В интернете ищутся примеры именно для входного разрешения 1600x1200. А нужно хотя бы 30 FPS. Вопрос решён. QCIF 176x144 захватывается с 70 FPS при MCLK=24 МГц. Помогло вот это: https://github.com/espressif/esp32-camera/blob/master/sensors/ov2640.c До этого попадались урезаные версии библиотек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 15 августа, 2022 Опубликовано 15 августа, 2022 (изменено) · Жалоба Перевёл камеру в режим YUV422, а CSI может захватывать и конвертировать это в формат YUV420SP(NV12), который нужен для кодера H264. Подружил захват камеры с H264-кодером Cedrus. Впечатления хорошие! На выходе - файл h264. Новая проблема: не могу заставить происходить прерывание от CSI - оно не работает. Все смежные вектора перебрал - жизни нет. Прерывания от других источников работают. Что-то опять китайцы намудрили Пока делаю программный опрос регистра статуса и очищаю его. Изменено 15 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться