dron-r

Stm32F4 И Аналоговая Камера

16 сообщений в этой теме

dron-r    13

Добрый день.

Хочу научиться подключать аналоговую видеокамеру к STM32F4 (дискавери).

У меня есть такая камера: 690TVL Ultra WDR Pixim SEAWOLF HD CCTV Mini Camera 2.8mm Lens OSD. У нее 3 выхода: +, -, сигнал.

Как можно ее подключить к STM32? В дальнейшем хочу к картинке примешать текстовые данные (OSD).

Кто соединял камеры, подскажите что смотреть/читать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 452

я не соединял, но покуривал вопрос. Камеру с аналоговым выходом будет сложновато подключить. Вообще камеры это не для STM-ок. Нужен как минимум фрэймбуфер, чтобы данные обрабатывать и все это еще и на довольно высоких скоростях. Это уже область применения ПЛИС, а не МК. Для утилитарных задач типа отловить по строкам чтото еще пойдет, а для полноценной покадровой (черезкадровой) обработки видео даже четырехсотки будет маловато. Поэтому забил на камеры

хз, возможно курил не тут траву. Поэтому мое мнение не база

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
andryxa    232

Для наложения текста на видео, камеру к STM подключать не обязательно, достаточно выделить горизонтальные и вертикальные синхроимпульсы из видеосигнала и подать их на микроконтроллер, в котором будет генерироваться текст. Сгенерированный текст подмешивается к сигналу видео и вы получаете видео с текстом или графикой. Для выделения синхроимпульсов можно воспользоваться микросхемой LM1881.

Изменено пользователем andryxa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Геннадий    1 032

хз, возможно курил не тут траву. Поэтому мое мнение не база

Все так, для "оцифровки" видео они слабоваты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 452

такое дело весьма даже красиво выглядит, если речь идет только об OSD без какого либо анализа видеопотока

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 643

Подмешивать в видеосигнал, умели и медленные 8-разрядные ЦПУ, вспомните телевизоры 4-го поколения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 452

ну собсна если речь идет о генерации изображения, то это умели еще спектрумы ) Не совсем правда процессором, но с его участием. Генерация кадра и чтение с камеры это кардинально разные задачи по производительности

Изменено пользователем mail_robot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    1 226

Кто соединял камеры, подскажите что смотреть/читать...

Я делал на основе этого градусник. Это не STM, но для понимания, думаю сойдет. Сразу оговорюсь: если решите повторить, синхроимпульсы выделяйте отдельно (LM1881), в исходном виде схема нестабильна.

Прошу прощения за качество скриншота - делал через TeamViewer.

post-163091-0-34538000-1455292989_thumb.jpg

ПС. Градусник в центре, т.к. раньше был другой регистратор, там в кадре свободно было. Переписывать лень - надо на чердак лезть за МК :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    1 226

Температура от ds18B20 - там по исходнику понятно, куда цеплять и про LM1881 есть коммент. Извиняюсь за кривость кода - дела давние :) Сразу скажу: прерывания приходится отключать, поэтому изо иногда подергивается. Надо было на LM335 делать или подобных - тупо напряжение мерить, да не было тогда... Да и не серьезно все это, так, по-играться :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    291

Понял, спасибо . Попробую расковырять код . А ПИКа хватает для ОСД? Ему не тяжело на 25МГц работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    1 226

По даташиту вроде 20 МГц потолок (не помню), но работает. По хорошему, надо бы еще в два-три раза поднять (на изо хорошо просматривается разрыв между соседними пикселами по горизонтали). Про вертикаль вообще молчу: счет строк ведется подряд после кадр. синхроимпульса, что при чересстрочной развертке (а именно такая используется в ТВ) приводит к прорисовке OSD через строку. Все это хорошо видно на моем скриншоте. Но это задача не для этого мк. Еще раз повторю: это не более чем игрушка.

ПС. Если надумаешь повторить, видеосигнал подавай через резистор несколько десятков Ом. Так, как показано на схеме из ссылки, может не заработать, если Rвнутр. источника видео достаточно мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Стальной
      Всем доброго времени суток.
      Общая задача такова - надо снимать сигнал (осциллограмму) с полосой до 400 кГц и временем записи 5 минут. Результат должен быть куда-то сохранен, чтобы потом была возможность сбросить цифровые данные на комп. 
      Нужен совет по одному (пока) вопросу. Я хочу писать бинарные данные напрямую на SD-карту. Минимальная частота дискретизации 800 кГц. Разрешение АЦП можно взять 8 бит. Как вы думаете, успеет ли флешка скушать данные? 
      Шаблон кода создаю кубом с использованием HAL, тестирую на камне 407VET6. При записи планирую использовать буфер, куда загоняю массив данных, чтобы писать не по одной выборке, а сразу пачкой.
      ЗЫ Есть еще вариант. Использовать в качестве промежуточной памяти вот такое https://static.chipdip.ru/lib/435/DOC001435109.pdf  , сохранить туда, а потом уже на внешнюю карту. По идее, есть возможность соединить по FSMC. Но для меня это крайний вариант, ибо до этого не пробовал такое.
    • Автор: Геннадий К.
      В электронный журнал требуются внештатные авторы статей - опытные разработчики электроники или преподаватели профильных дисциплин ВУЗов.
      Тема - практическое применение электронных компонентов. Выдаем ТЗ на статьи, при необходимости высылаем отладочные платы, по итогам публикации выплачиваем гонорар.
    • Автор: rmatveev
      Всем привет!
      Задумано следующее: на малинку ставится веб-сервер (именно веб, а не HTTP, т.к. подразумевается тонкий клиент, но возможно я с терминами немного путаю), который обеспечивает управление через тонкий клиент по Ethernet, по Modbus RTU поверх RS-485 малинка должна будет управлять объектом.
      Т.е. задача такая: на удаленном рабочем месте визуализация объекта и его управление по Modbus.
      Изначально я хотел под это дело использовать какой-нибудь NUCLEO на процессоре STM32. Но почитал немного о подробностях установки TCP-IP стека и веб-сервера на STM32 и понял, что эту задачу они выполняют, но как-то сложновато. Вроде как Raspberry Pi намного лучше с этим должна справиться. Да и комьюнити намного больше.
      Ваши мнения, господа?
    • Автор: michaelukolov
      Доброго времени суток.
      Сразу скажу: я не прошу писать за меня код, просто натолкните, как правильнее это реализовать.
      Имеется STM32F103C8T6, необходимо на ней построить одноканальный генератор сигнала, желательно разной формы (синус/меандр) с регулировкой частоты и скважности от переменного резистора. Регулировки частоты хватило бы в пределах 1Гц - 20кГц (отсюда еще вопрос, годится ли для этого F103C8T6?). Хотелось бы еще иметь разные уровни (5В/12В), но это и сам сообразить могу.
      Если использовать HAL таймер, то когда он уже будет запущен, можно будет менять частоту/скважность?
      Как реализовать переключение синус/меандр?
    • Автор: artos5
      Всем привет! Столкнулся с проблемой которую не удается решить.
      прописал в файле Drive.h так:
      typedef struct { uint8_t FlgL; uint8_t FlgR; uint16_t Speed; uint16_t PulseL1; uint16_t PulseL2; uint16_t PulseR1; uint16_t PulseR2; } Motor_; typedef struct { uint8_t Status; } Button_; extern struct Motor_ Motor; extern struct Button_ Button; а в с файле:
      #include "Drive.h" Motor.Pulse = 3; // зададим значение переменной в структуре Motor в итоге 2 ошибки редефайн....
       
      как правильно с ними работать? За вчера и за сегодня уже наверное 1000 вариантов попробовал.
  • Сообщения

    • Уважаемый serste! Тон Вашего поста напоминает реакцию человека, которому нечаянно наступили на мозоль. Особенно удивляет Ваше стремление спрогнозировать ответ, который Вы, по всему, ожидаете услышать. Применяя для этого написание текста в верхнем регистре, что не приветствуется Правилами форума. Не очень боясь ошибиться, скажу, что усилитель имелся ввиду ламповый. Правильно спроектированный и настроенный. Места здесь такие. Что касается ресиверов, перечинил не мало и знаю их основную беду - редко в каком есть БП достаточно мощный, чтобы тянуть хотя бы пару каналов на полную заявленную мощность. Не говоря, уже, о 5-ти. И не зря, редко в каком есть усилитель саба. Из тех же причин дохлости БП.  В кино это не самая большая проблема, если учесть, что внимание не концентрируется исключительно на прослушивании саундтрека. Но... у меня, тоже, за плечами жизнь, отсутствие абсолютного слуха и, какой-никакой, личный опыт, включая... много чего. К стати, абсолю́тный слух, всего то, способность определять абсолютную высоту музыкальных звуков. А ля первой октавы, оно и будет ля первой октавы, хоть через радиоточку, хоть через топовый ресивер. Личный опыт мне говорит, что не требуется музыкального образования, чтобы понять и оценить звучание системы. Как не требуется знание хореографии, чтобы заметить из зала разницу в танце двух балерин. Вы просто слушаете музыку. Желательно, разноплановую. Если у вас не возникает при этом дискомфорта, значит система Вас полностью устраивает. В ином случае, через время, Вы неизбежно поймёте, что есть "слабое звено". Это может быть любой компонент системы. Но, определяется он точно. По себе знаю. Меняете. Система делает "шаг вперёд". И Вы, некоторое время, наслаждаетесь "подросшим звуком". Но, растёте и сами. И, вполне можете обнаружить следующее "слабое звено". Последовательность действий описана выше. Процесс итерационный, и заканчивается либо тем, что Вам удаётся создать систему, которая Вас устраивает (это сходимость), либо вложение капитала больше не даёт адекватного прироста в звуке (это асимптота). И Вы понимаете, что хватит. Третьего варианта, в чистом виде, не встречал. Так что, разница в звучании ресивера и лампового усилителя, всё таки существует. Особенно это слышно при прямом сравнении. Неоднократно наблюдал на реакции даже не подготовленной публики. Разводить же демагогию, типа - Производитель, элементная база, цена - ? - считаю бессмысленным. Ибо, адекватно обсуждать звучание можно только с человеком, который сидит, сию секунду, рядом с Вами на диване, и слышит то же, что и Вы. Иначе, это просто бесполезное словоблудие. Часто переходящее на личность. P.S. Говоря - создать систему, которая Вас устраивает - я имею ввиду, то, что написано. С акцентом на "Вас". А не то, что Вы создали самую идеальную систему, которая "кроет" все другие системы в мире, стоимостью до 10000 $.
    • Оно уже управляется по zigbee, на первой фотке плата с антенной. PS. Резисторы померяю.
    • Ну а с чего бы нет?Ведь сопротивление разряда постоянное,напряжение на кондере тоже.
    • Всем доброго времени суток. Общая задача такова - надо снимать сигнал (осциллограмму) с полосой до 400 кГц и временем записи 5 минут. Результат должен быть куда-то сохранен, чтобы потом была возможность сбросить цифровые данные на комп.  Нужен совет по одному (пока) вопросу. Я хочу писать бинарные данные напрямую на SD-карту. Минимальная частота дискретизации 800 кГц. Разрешение АЦП можно взять 8 бит. Как вы думаете, успеет ли флешка скушать данные?  Шаблон кода создаю кубом с использованием HAL, тестирую на камне 407VET6. При записи планирую использовать буфер, куда загоняю массив данных, чтобы писать не по одной выборке, а сразу пачкой. ЗЫ Есть еще вариант. Использовать в качестве промежуточной памяти вот такое https://static.chipdip.ru/lib/435/DOC001435109.pdf  , сохранить туда, а потом уже на внешнюю карту. По идее, есть возможность соединить по FSMC. Но для меня это крайний вариант, ибо до этого не пробовал такое.
    • Ну вот из того что я обнаружил,это то что  тепло на Р1 сильно зависит от напряжения питания,но вот почему это так я не понимаю..Ведь количество зарядок кондера в секунд всегда одинаковое число,оно не меняется,по скольку нагрузка разряда там постоянная,меняется только то время,пока открыт транзистор ,но чем больше напряжение тем меньше времени он открыт,и вроде как получается что при 24 вольтах конденсатор зарядится до тех же вольт в 4 раза быстрее чем при 12,и для резистора Р1 не будет никакой разницы с 12 заряжать конденсатор или с 24..Или тут что то не то......?
    • Конечно, искал. На TDA8362 есть схемы с обвязкой. Но это самый крайний вариант. Уж слишком большой по габаритам получается платка. А вот больше в нете на транскодеры CVBS в RGBS схем на другой элементной базе нет. По поводу LMH1251, так судя по картинкам, она преобразует компонентный видеосигнал в RGB. Хотя могу и ошибаться. Уже завтра на трезвую голову гляну даташит.