dips11 0 November 26 Posted November 26 · Report post Может кто-нибудь подсказать, есть ли у камер типа OV5462 или OV7670 связь между FPS и частотой XCLK, которая подается на камеру с внешнего резонатора? То есть я имею ввиду, могу ли я получить FPS, ниже чем максимальный для указанного разрешение, понижая входной XCLK? Например для 720p вместо 30 FPS получить 25? Или это возможно сделать другим способом? Если говорить о OV7670, то для него входная частота XCLK лежит а пределах 10-48 MHz, но тайминги, как картинке, приведены в единицах tp. Как я понял tp это период пиксельной частоты на выходе камеры - PCLK, но каким образом считается этот период, если предположить что PCLK не фиксированная - я не пойму. В регистрах есть упоминания делителей для PCLK, и можно предположить, что они и задают PCLK и как следствие FPS, деля входную XCLK, но я решил все таки попытаться уточнить у знающих людей. Мне очень непонятна документация Omnivision. Спасибо. Quote Share this post Link to post Share on other sites More sharing options...
gerber 8 November 26 Posted November 26 · Report post Всё зависит от того, куда дальше идёт ваш цифровой видеопоток. Frame Timing сенсора привязан к определённому формату, в данном случае, VGA 640x480. Это означает, что сигналы VSYNC/HSYNC + D[7:0] можно напрямую подать на микросхему video DAC или HDMI и вывести изображение на монитор. В этом случае, если вы поменяете тайминги, изменив входную частоту XCLK, монитор просто откажется выводить видеосигнал, или будет моргать и глючить. Если же вы забираете поток, скажем, в FPGA, то можно "поиграться" частотой, но даже в этом случае до определённого предела, указанного в документации, так как на XCLK ещё могут быть завязаны всякие аналоговые вещи типа времени экспозиции и т. п. Поэтому снижать FPS лучше не понижая XCLK, а пропуская "лишние" кадры, если приём идёт в FPGA и, к примеру, не успевает ложиться в память на полном FPS. Quote Share this post Link to post Share on other sites More sharing options...
dinam 1 November 27 Posted November 27 · Report post Не применял матрицы Omnivision, но использовал с десяток других разных производителей. Скорее всего связь между "FPS и частотой XCLK" прямая. Понижая частоту XCLK в два раза вы в два раза снижаете FPS при прочих равных настройках. Вопрос в другом - что вы конкретно хотите на выходе получить как пользователь видеокамеры? Почему у вас возник вопрос про изменение FPS? У нас обычно это синхронизация кадра(кадров) с другими камерами и(или) внешними событиями. Quote Share this post Link to post Share on other sites More sharing options...
dips11 0 November 27 Posted November 27 · Report post 3 часа назад, dinam сказал: Вопрос в другом - что вы конкретно хотите на выходе получить как пользователь видеокамеры? Почему у вас возник вопрос про изменение FPS? Хочу обрабатывать видеопоток в ПЛИС перед выводом его на монитор, и для обработки одного кадра возможно потребуется времени около 40 ms при частоте 100 MHz. Поэтому это вряд ли будет работать на 30 fps при этой частоте, так как 30*40 ms=1,2 s. Вот я и прикидывал можно ли заставить камеру работать на 25 fps, чтобы в 1 секунду уместилось все. Не спрашивайте почему именно 100 MHz 🙂 Quote Share this post Link to post Share on other sites More sharing options...
dinam 1 November 27 Posted November 27 · Report post На вскидку вижу несколько вариантов, это если вам не надо получать данные с матрицы с максимальным темпом: 1. Варьировать тактовую частоту сенсора. 2. Обрабатывать, например, каждый второй кадр. 3. Использовать ROI, тогда количество кадров возрастает, но поток данных уменьшается. У меня был случай, когда сенсор IMX287LLR-C работал на максимальной скорости, но не полным разрешением, а с малым количеством строчек. И надо было это всё на ходу обрабатывать. Потом требования возросли и количество строчек в кадре увеличилось больше, чем в два раза. И сенсор должен был работать с максимальной частотой, на которой он мог. И я просто стал обрабатывать в два потока, благо ресурсов FPGA хватало. Это я к тому, что если вам важно быстродействие, то можно одним потоком обрабатывать нечетные кадры, а вторым чётные кадры. Quote Share this post Link to post Share on other sites More sharing options...