Как вывести камеру на монитор

Как подключить камеру видеонаблюдения напрямую к монитору?

Камеры видеонаблюдения на сегодня самый эффективный способ обезопасить свое жилье или место работы от несанкционированного проникновения. Благодаря снижению цен на аналоговые устройства, позволить себе установку камер может практически любой житель России.

Самым простым вариантом является подключение камеры видеонаблюдения к монитору. Что несложно осуществить самостоятельно, при этом позволит обеспечит постоянный надзор за домом, квартирой или офисом. На мониторе будут отображены изображения со всех камер.

Чтобы система видеонаблюдения функционировала правильно и не вышла из строя в первый месяц работы, нужно убедиться, что все компоненты подобраны и подключены правильно.

Монитор для камеры видеонаблюдения

Как вывести камеру на мониторДля монтировки охранным систем используют 2 основных типа мониторов:

Выбор монитора осуществляется после покупки всех остальных устройств. Несмотря на то, что многие считают ЭЛТ-мониторы морально устаревшими, их также можно эффективно использовать в тандеме с камерами. Они имеют свои преимущества:

Поклонники ЖК-мониторов также руководствуются объективными причинами:

Экраны на лучевой трубке обычно обладают более высоким разрешением (порядка 1200х1600 пикселей), тогда как бюджетные модели ЖК имеют фиксированные более низкие показатели, «съедающие» детали.

В то же время ЖК-мониторы обладают постоянной частотой, на них отсутствует мерцание, что делает их более комфортными для зрения. Также они не вырабатывают вредного для человеческого организма излучения. Такой же уровень достигается только в новых более дорогих моделях ЭЛТ-экранов.

Как выбрать монитор?

Чтобы правильно подобрать монитор для камеры видеонаблюдения, подходящий системе и вашим потребностям, необходимо принимать во внимание следующие факторы:

Важная особенность используемого монитора – он должен иметь вход для композитного сигнала. Без этого подключение невозможно.

Как вывести камеру на мониторСамыми важными из этих показателей являются разрешение и диагональ. Первый определяет, насколько четким будет изображение, второй влияет на величину получаемой картинки. Оптимальным сочетанием является HD разрешение (1200х1600 пикселей) и диагональ от 18 до 22 дюймов.

На выбор диагонали также влияет количество устройств видеонаблюдения. Ведь если камер много, а экран маленький, это попросту не позволит понимать, что происходит. Согласно существующим рекомендациям диагональ находится в следующей зависимости от количества видеокамер:

Четкость и качество изображения зависят от шага точки – минимального расстояния в миллиметрах между пикселями одного цвета. Чем меньше данный показатель, тем более четкой будет полученная картинка. Эксперты настоятельно не советуют покупать для организации наблюдения мониторы с шагом менее 0,26 мм.

От частоты обновления зависит мерцание экрана, и, соответственно, насколько будут уставать глаза от просмотра картинки. Следует покупать монитор с частотой мерцания 85-100 Гц. При этом чем больше число, тем ниже утомляемость.

Обратить внимание нужно и на способ подключения. Рекомендуется выбирать экраны с максимальным количеством способов подключения (HDMI, VGA, DVI).

Если перед экраном постоянно будет находиться человек, наблюдающий за происходящим, следует выбирать мониторы с меньшим излучением. А из соображений экономии логично покупать экран с наименьшим энергопотреблением.

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

На заметку! Можно использовать для видеонаблюдения и экран обыкновенного домашнего телевизора. Главное, чтобы он был оснащен разъемом композитного подключения через RCA-кабель.

Подключение аналоговой камеры к монитору

Чтобы правильно и эффективно присоединить монитор к видеокамере необходимы:

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

Существует 3 способа соединить монитор и видеокамеры:

Первый способ оправдан при организации наблюдения, в котором задействовано большое количество видеокамер. Для систем, состоящих из 1 или пары камер он не оправдан из-за высокой стоимости видеорегистратора.

Как вывести камеру на монитор Схема подключения монитора к регистратору

Чтобы подключить камеры с помощью персонального компьютера, понадобится специальная карта видеозахвата либо USB-преобразователь, что также предполагает дополнительные траты.

Как вывести камеру на монитор Плата видеозахвата

Оптимальным вариантом для наблюдения за домом или квартирой будет прямое подключение камеры к монитору. Такой способ позволит наблюдать на мониторе происходящее в зоне наблюдения камеры в настоящий момент. Просмотр изображения в режиме онлайн в интернете будет недоступен.

Использовать можно экран обычного персонального компьютера, то есть камеру можно будет подключить к обычному компьютерному монитору напрямую. Дополнительно понадобится приобрести только преобразователь BNC-VGA. Он преобразует аналоговый сигнал камеры в цифровой, что позволяет получать картинку на экране в режиме реального времени. При его покупке важно обращать внимание на разрешение, которое редко составляет более 740х567 пикселей. Это значит, что вне зависимости от разрешения экрана, часть качества будет «съедена» устройством. Более качественные преобразователи обойдутся дороже.

Как вывести камеру на монитор BNC-VGA Преобразователь сигнала

Для подключения к экрану, он должен иметь разъем для подключения композитного сигнала. В нём центральный контакт подает непосредственно видеосигнал, а внешний – экран.

Подключая аналоговые камеры видеонаблюдения, стоит помнить, что обычно они обладают проволочными выводами или BNC-коннектором. Это значит, что для подключения понадобится сделать подходящий переходник. Затем с одной стороны соединительного кабеля устанавливается BNC, с другой – тюльпан (RCA) и производится их соединение. Уровень напряжения – 75 Ом.

Смотрим видео как подключить видеокамеру к монитору.

Для просмотра изображения необходимо:

Если вы подключаете ip-камеру к монитору, достаточно лишь персонального компьютера, от ip-камеры идет кабель (витая пара) в сетевую карту компьютера (rj45). Устанавливаете софт от ip-камеры производителя – вот и все. Не надо дополнительно подключать монитор, так как он уже подключен к ПК.

Источник

Как подключить аналоговую камеру к монитору

Статистика незаконных проникновений злоумышленниками на частную территорию оставляет желать лучшего. Ситуация с правонарушениями заметно улучшается в приватных секторах, где установлены системы видеоконтроля. Владельцы таких систем получили не только возможность повысить уровень безопасности охраняемого объекта, но и шанс закупить оборудование по демократичным ценам. Аналоговые устройства стали доступнее.

Для небольших локаций порой достаточно одной аналоговой видеокамеры с сопутствующим оборудованием. Подобная покупка окажется по карману любому среднестатистическому жителю страны.

Существует несколько способов организации системы видеонаблюдения:

Сам процесс прямого подключения аналоговой камеры к монитору имеет определенные тонкости, без соблюдения которых система безопасности не прослужит и месяца. Пользователь должен убедиться в правильном подключении всех составляющих системы видеоконтроля. О том, как это сделать, и пойдет речь в данном материале.

Прямое подключение

Чтобы подключить устройство к монитору и обеспечить нормальное функционирование оборудования, понадобится специальный BNC-VGA преобразователь. При выборе оборудования важно учитывать разрешение преобразователя. Дело в том, что именно этот параметр служит порогом.

Как вывести камеру на монитор

Примечание: при прямом подключении аналоговой камеры к монитору компьютера пользователь получает возможность лишь наблюдать за происходящим на охраняемом объекте в режиме реального времени. То есть, вести запись данных не получится. Также у пользователя не будет возможности вести слежку за локацией удаленно (через Интернет).

Как вывести камеру на мониторЧерез тюльпан RCA

Если аналоговая камера имеет более высокое разрешение, то это теряет всякий смысл. Её функционал будет ограничен, а значит, пользователю не нужно приобретать подобное устройство – достаточно выбрать камеру попроще, параметры которой схожи с параметрами преобразователя.

Для подключения камеры к монитору также потребуется переходник. С одной стороны кабеля необходимо установить BNC, а с другой – тюльпан (RCA).

По завершению процесса подключения необходимо проверить работу оборудования.

Важно! Прямое подключение аналоговой видеокамеры к монитору компьютера невозможно при отсутствии входа для композитного сигнала. Пользователю понадобится другой монитор.

При покупке нового монитора стоит рассматривать модели с максимальным количеством способов подключения (например: VGA, HDMI, DVI).

Чтобы увеличить срок службы монитора, предпочтительнее выбирать экран с внешним блоком питания. Это защитит оборудование от перегрева.

Подключение через видеорегистратор

Рассмотрим схему подключения через регистратор 3 способами:

Такой способ организации системы видеоконтроля актуален в том случае, если пользователь планирует установку множественных камер на объекте. Следовательно, этот вариант не является рациональным при использовании одной или нескольких камер. Это обуславливается высокой стоимостью видеорегистратора.

Стоит отметить, что пользователи не всегда отдают предпочтение аналоговым видеокамерам, склоняясь к выбору цифрового устройства (IP-камера). В этом случае также доступно прямое подключение к монитору компьютера, которое легко осуществить самостоятельно. Проведем небольшое сравнение.

Что необходимо для подключения:

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

В целом, выбор оборудования – вопрос индивидуальный. Установка того или иного типа системы безопасности не представляет особых сложностей для новичка. В крайнем случае, всегда можно обратиться за помощью к опытным специалистам.

Источник

Как вывести изображение с камеры на монитор?

Выводим изображение с камеры на монитор/телевизор

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

Вот 4 решения для рассмотрения:

Эти решения подробно объясняются ниже.

Камера слежения с монитором

Это, безусловно, самое простое решение, поскольку оно использует наименьшее количество деталей. Это камера и монитор, которые изначально совместимы с разъемом коаксиального кабеля BNC / видеоформатом камеры.

Вот как это работает:

Это полностью автоматическая система без специальных инструментов.

Конвертер BNC в HDMI

Если вы хотите использовать стандартный телевизор высокой четкости с входом HDMI для отображения в реальном времени вашей камеры, преобразователь BNC в HDMI HDCV-3-T может быть лучшим выбором для Вас. Одним из преимуществ этого решения является то, что вы можете использовать любой телевизор или монитор с входом HDMI.

Как вывести камеру на монитор

HDCV-3-T можно использовать для подключения практически любой камеры безопасности HD BNC к любому монитору HDMI TV.

Вот как это работает:

Видеомультиплексор

Если вы хотите смотреть видео в реальном времени с более чем одной камеры на одном телевизоре/мониторе, эти мультиплексоры видеонаблюдения являются лучшим решением. Они доступны в 4, 9 и 16 канальных моделях.

Как вывести камеру на монитор

Вот как это работает:

Система безопасности DVR с выходом для монитора

Если вы хотите записать видеоматериалы на видеорегистратор, а также нуждаетесь в наблюдении через монитора в реальном времени, вам следует проверить функцию этого цифрового оборудования.

Видеорегистраторы имеют выходы под монитор HDMI и VGA, которые можно настраивать независимо. Это позволяет настраивать изображение с камеры на одном мониторе и просматривать элементы на другом.

Эти видеорегистраторы выпускаются в 4-канальных, 8-канальных и 16-канальных моделях. Выходной сигнал может быть сконфигурирован для отображения одной камеры или любой комбинации нескольких камер. Представление может даже быть настроено для поворота на разные виды.

В дополнение к функции подключения монитора, видеорегистраторы также имеют отличные настольные и мобильные приложения для удаленного просмотра.

Есть вопросы? Нужно индивидуальное решение?

Многие клиенты, с которыми мы работаем, предпочитают работать один на один по телефону или по электронной почте с профессиональным разработчиком систем видеонаблюдения. У нас есть целая команда в Территории Безопасности, которая предоставляет бесплатные консультационные услуги. Мы проектируем системы видеонаблюдения для бизнеса, правительства и дома уже более 10 лет. Свяжитесь с нами! И Мы поможем реализовать проект по монтажу системы видеонаблюдения любой сложности.

Источник

Как вывести изображение с камеры на монитор

Выводим изображение с камеры на монитор/телевизор

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

Вот 4 решения для рассмотрения:

Эти решения подробно объясняются ниже.

Камера слежения с монитором

Это, безусловно, самое простое решение, поскольку оно использует наименьшее количество деталей. Это камера и монитор, которые изначально совместимы с разъемом коаксиального кабеля BNC / видеоформатом камеры.

Вот как это работает:

Это полностью автоматическая система без специальных инструментов.

Конвертер BNC в HDMI

Если вы хотите использовать стандартный телевизор высокой четкости с входом HDMI для отображения в реальном времени вашей камеры, преобразователь BNC в HDMI HDCV-3-T может быть лучшим выбором для Вас. Одним из преимуществ этого решения является то, что вы можете использовать любой телевизор или монитор с входом HDMI.

Как вывести камеру на монитор

HDCV-3-T можно использовать для подключения практически любой камеры безопасности HD BNC к любому монитору HDMI TV.

Вот как это работает:

Видеомультиплексор

Если вы хотите смотреть видео в реальном времени с более чем одной камеры на одном телевизоре/мониторе, эти мультиплексоры видеонаблюдения являются лучшим решением. Они доступны в 4, 9 и 16 канальных моделях.

Как вывести камеру на монитор

Вот как это работает:

Система безопасности DVR с выходом для монитора

Если вы хотите записать видеоматериалы на видеорегистратор, а также нуждаетесь в наблюдении через монитора в реальном времени, вам следует проверить функцию этого цифрового оборудования.

Видеорегистраторы имеют выходы под монитор HDMI и VGA, которые можно настраивать независимо. Это позволяет настраивать изображение с камеры на одном мониторе и просматривать элементы на другом.

Эти видеорегистраторы выпускаются в 4-канальных, 8-канальных и 16-канальных моделях. Выходной сигнал может быть сконфигурирован для отображения одной камеры или любой комбинации нескольких камер. Представление может даже быть настроено для поворота на разные виды.

В дополнение к функции подключения монитора, видеорегистраторы также имеют отличные настольные и мобильные приложения для удаленного просмотра.

Есть вопросы? Нужно индивидуальное решение?

Многие клиенты, с которыми мы работаем, предпочитают работать один на один по телефону или по электронной почте с профессиональным разработчиком систем видеонаблюдения. У нас есть целая команда в Территории Безопасности, которая предоставляет бесплатные консультационные услуги. Мы проектируем системы видеонаблюдения для бизнеса, правительства и дома уже более 10 лет. Свяжитесь с нами! И Мы поможем реализовать проект по монтажу системы видеонаблюдения любой сложности.

К нам часто обращаются Заказчики с вопросом, как вывести изображение с видеорегистратора на монитор, находящийся на большом расстоянии. Например, необходимо, чтобы видеорегистратор находился в доме, а монитор на пропускном пункте у охраны. Или другой пример, когда изображение нужно выводить с видеорегистратора одновременно в разных помещениях.

Самое простое, что приходит на ум в такой ситуации – это использование удлинителей HDMI по кабелю UTP. Однако, стоимость таких устройств высока, когда речь идет о расстояниях больше 50 м. Также нужно помнить о щепетильном обращении с такими устройствами – в случае неправильной последовательности включения-выключения узлов схемы с использованием HDMI удлинителей, возможен их выход из строя или некорректное отображение на мониторе. К тому же не стоит забывать о необходимости использования качественного кабеля UTP 6 cat. Да и управление камерами также хотелось бы иметь, например, увеличить картинку, а при таком решении у Вас будет только изображение.

Рассмотрим случай, когда используются IP камеры и сетевой видеорегистратор (NVR). Решения в такой ситуации просты, что обусловлено IP технологиями – подключите в сеть компьютер с клиентской программой (например, iVMS-4500 для устройств Hikvision) или используйте для вывода изображения веб браузер. Если не хотите использовать компьютер, то можно установить дополнительный видеорегистратор, в который также нужно добавить существующие IP камеры. Получается схема, когда оба регистратора работают одновременно с одними и теми же IP камерами, как показано на рисунке:

Как вывести камеру на монитор

Ну а если используются HD-TVI или аналоговые камеры и видеорегистратор (DVR) Hikvision или HiWatch, тогда что? — спросите Вы. Использовать дополнительный регистратор и к нему также подводить коаксиальный кабель от каждой видеокамеры? Совсем нет. Для вывода изображения на большом расстоянии на дополнительном регистраторе мы можем использовать цифровые видеоканалы с первого регистратора.

Как вывести камеру на монитор

Далее подробно опишем, как это сделать. В качестве примера первого регистратора используется HiWatch DS-H104G, к которому подключены три HD-TVI камеры. Дополнительным регистратором будет HiWatch DS-H108G. Оба регистратора подключены в одну IP сеть. Регистратор HiWatch DS-H104G имеет ip адрес 192.168.1.33.

1. Заходим в настройки дополнительного регистратора HiWatch DS-H108G через веб браузер Internet Explorer и переходим в раздел Система->Управление камерами. Переключаем три канала в режим IP (снимаем галочки) и сохраняем:

Как вывести камеру на монитор

Далее, регистратор перегрузится;

2. Переходим в раздел Система->Управление камерами и выбираем вкладку «IP камера» и нажимаем на кнопку «Добавить».

Как вывести камеру на монитор

3. В появившемся окне указываем данные основного регистратор HiWatch DS-H104G – ip адрес 192.168.1.33, пароль и нажимаем на кнопку OK:

Как вывести камеру на монитор

4. В следующем окне устанавливаем галочки на цифровых каналах, которые должны быть добавлены в дополнительный регистратор. В нашем случае используются три HD-TVI камеры, которые подключены к 1-3 каналам на основном регистраторе HiWatch DS-H104G:

Как вывести камеру на монитор

5. Камеры добавлены в дополнительный регистратор:

Как вывести камеру на монитор

Как вывести камеру на монитор

В чем преимущества использования дополнительного видеорегистратора для решения описанной задачи?

Предисловие

Введение

Данная статья не является исследованием, это, скорее, отчет о проделанной работе, в котором я постарался показать основную идею и наиболее интересные и сложные на мой взгляд места. По сложности этот проект следует за «поморгать светодиодом», но имеет огромный потенциал к расширению. В проекте намеренно не используются готовые IP-ядра и стандартные интерфейсы, так как проект изначально планировался как рукописный. Также это поможет немного выиграть по ресурсам и быстродействию. Надеюсь, эта статья будет интересна читателям, а желание увидеть себя на экране через «самодельную камеру» сподвигнет к изучению FPGA.

Проблемы и способы их решения

Для того чтобы понимать, что нас ждет, взглянем на железо и оценим, с какими проблемами нам предстоит столкнуться. Камера OV7670. Камера способна выдавать изображение разрешением 640х480 точек с частотой 30 кадров в секунду в формате RGB565. Для работы камеры необходимо подавать на нее клок частотой 24 МГц. Камера передает пользователю данные по 8 битной шине, а также стробы синхронизации VSYNC и HSYNC. Временные диаграммы работы камеры представлены на рисунке 1.

Как вывести камеру на монитор
Рис.1

Информация о цвете передается за 2 такта побайтно. Упаковка данных в байты представлена на рисунке 2.

Как вывести камеру на монитор
Рис.2

VGA монитор. VGA это аналоговый сигнал, поэтому подавать цифровые данные на его вход не получится. Но на борту DE-1 имеются 4-х разрядные ЦАП, их мы и задействуем для преобразования цифрового сигнала в аналоговый. VGA с разрешением 640х480 имеет частоту обновления 60 кадров в секунду. Необходимо выставлять данные на ЦАП с частотой 25.175 МГц, а также формировать стробы синхронизации VSYNC и HSYNC. Тайминги для VGA можно посмотреть здесь.

Становится ясно, что частота поступления данных с камеры и частота вывода данных на монитор отличаются, что исключает возможность прямого подключения. Выход из этой ситуации — использование кадрового буфера. Выделим в памяти две равные области: в одну будет записываться текущий кадр с камеры, а из второй извлекаться предыдущий, после окончания записываемого кадра буферы меняются местами. Для хранения одного кадра требуется 640*480*16 = 4.915*10^6 бит, что гораздо больше имеющейся на борту Cyclone II памяти on-chip. Поэтому будем использовать для хранения кадров память SDRAM, расположенную отдельным чипом на плате DE-1. Это позволит нам организовать фрейм буфер для решения технической задачи и даст возможность потренироваться в написании контроллера SDRAM.

Следующая проблема вытекает из решения предыдущей. При использовании памяти SDRAM в нашем проекте необходимо учитывать два важных момента: во-первых, работает память на высокой для нашего дизайна частоте 120 МГц и перед нами появляется новая проблема — передача данных из клокового домена камеры в клоковый домен SDRAM; во-вторых, для достижения максимального быстродействия писать в SDRAM следует целыми транзакциями, которые называются burst. Для решения этих проблем наилучшим способом подходит FIFO, организованное в on-chip памяти FPGA. Основная идея такова: камера на низкой частоте заполняет FIFO, после чего контроллер SDRAM считывает данные на высокой частоте и сразу одной транзакцией записывает их в память.

Вывод данных на монитор организован то такому же принципу. Данные из SDRAM записываются в FIFO, а затем извлекаются на частоте 25 МГц для подачи на ЦАП. После опустошения FIFO операция повторяется.

Самой мелкой проблемой является то, что настройки камеры «из коробки» нас не устраивают, и необходимо их изменить. Самый важный момент, камера выдает данные в формате YUV422, и необходимо поменять его на RGB444. Для обращения к внутренним регистрам OV7670 необходимо будет описать модуль передатчика I2C.

Теперь можно сказать, какие модули нам придётся реализовать, и какие задачи они будут решать.

На рисунке 3 приведена функциональная схема дизайна.

Как вывести камеру на монитор
Рис.3

Рассмотрим подробнее каждый из модулей.

Модуль cam_wrp

Один из самых простых модулей. Его задача в момент действия строба hsync камеры принимать последовательно по два байта, формировать из них одно двухбайтовое слово и записывать его в FIFO. По сигналу от SDRAM контроллера передать ему все содержимое FIFO.

Для «упаковки» 2-х последовательных байт в одно слово используем сигнал wr_fifo, который инвертируем по клоку (делим частоту на 2). Когда этот сигнал в логической 1, записываем данные в младший байт, когда в логическом 0 — в старший. Также используем wr_fifo, как сигнал записи в FIFO. Кроме шины данных из FIFO выведена шина, на которую выставляется число записанных в него данных. Эта шина подключена к автомату управления. На рисунке 4 представлена временная диаграмма «упаковки» байт в двухбайтовые слова.

Как вывести камеру на монитор
Рис.4

Модуль FSM_global

Модуль имеет весьма пафосное название, на деле это несложный автомат всего на 4 состояния, но выполняет он очень важную функцию. Отслеживая сигнал готовности sd_ready SDRAM контроллера, наполненность входного и выходного FIFO, автомат выдает в команды SDRAM контроллеру забрать данные из входного или записать в выходное FIFO. Чтение и запись происходят несколько раньше, чем FIFO полностью заполнится или опустошится. Необходима правильно выбрать уровень заполненности FIFO, чтобы операции с FIFO на высокой частоте не закончились раньше, чем на низкой, — это гарантированно приведет к ошибкам. В части, посвященной SDRAM контроллеру, я приведу рисунок, иллюстрирующий эту особенность.

Модуль SDRAM_contr

Контроллеров SDRAM написано уже много, изобретать велосипед в очередной раз не хотелось, поэтому я решил изобрести велосипед на гусеничном ходу. А именно, SDRAM контроллер, заточенный под этот конкретный проект. Это упростит управление и чуть-чуть ускорит работу. Граф переходов автомата для полноценного SDRAM контроллера представлен на рисунке 5.

Как вывести камеру на монитор
Рис.5

Подумаем, что мы сможем из него исключить.

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

Во-вторых, так как мы всегда будем записывать и считывать данные вектором длиной 640, можно отказаться от возможности работы с отдельными числами, будем писать только burst.

В-третьих, не надо думать над адресом, мы просто будем инкрементировать его после каждого burst и обнулять в конце каждого кадра. Получившийся граф переходов представлен на рисунке 6.

Как вывести камеру на монитор
Рис.6

Стартует контроллер в состоянии idle. Перед началом нормальной работы необходимо провести инициализацию микросхемы памяти (состояние автомата s0_MRS), после чего выставляется флаг mode_flag, контроллер переходит в состояние ожидания, и мы можем записывать и считывать данные. Для этого из модуля fsm_global поступает команда начала чтения или записи, открываем необходимый столбец в выбранном банке (состояние s0_ACT), и далее должно происходить чтение или запись (состояния s0_WRIT, s0_READ). К сожалению, обойтись одним burst не выйдет, глубина столбца в нашем чипе памяти всего 256 16-ти битных слов, а нам необходимо записывать вектор длиной 640. Придется писать за 3 burst, два по 256 и одни на 128. Видно, что половина третьей строки остается пустой, то есть мы нерационально используем ресурсы, но так как недостатка в них у нас нет, я решил не усложнять автомат и смириться с этим.

Что касается адресов, для них выделены разные регистры для чтения и записи, которые инкрементируются перед каждым bust. Таким образом, для записи вектора длиной 640 мы проходим 640*4=1440 адресов. Стробом вертикальной синхронизации камеры или VGA адреса обнуляются для записи и чтения соответственно.

Мы используем двойную буферизацию: в один буфер пишем из другого читаем. Для упрощения один буфер я разместил в банке 0, а второй в банке 1 чипа SDRAM. Банки для чтения и записи меняются местами после окончания приема кадра с камеры. На рисунке 7 представлены временные диаграммы записи одного вектора. Видно, что запись разбита на 3 части: после каждой адрес инкрементируется, вся передача происходит под стробом cur_wr. Для чтения диаграмма аналогична.

Как вывести камеру на монитор
Рис.7

На рисунке 8 показано, как происходит запись в SDRAM данных с камеры в сравнении со временем заполнения FIFO. Обратите внимание, что мы начинаем писать в SDRAM, не дожидаясь окончательного заполнения FIFO.

Как вывести камеру на монитор
Рис.8

Модуль hvsync

Это один из двух модулей в этом проекте, написанных не мной. Однажды я уже реализовывал похожий модуль, повторяться мне было неинтересно, поэтому я использовал отличный модуль, написанный авторами сайта marsohod.org. В этом модуле нет ничего лишнего, он параметризован и легко может быть настроен для любого разрешения экрана. Я практически не изменял его, добавил только FIFO, подключенное к SDRAM контроллеру, и сигналы обвязки для него. С FIFO выведена шина, на которую выставляется количество записанных в него данных, эта шина подключена к автомату управления по аналогии с входным FIFO. Выход FIFO подключен к wire, которые идут на ЦАП.

Модуль camera_configure

Изначально позволив себе вольность домашнего проекта и невнимательно прочитав документацию, я хотел запустить камеру с настройками «по умолчанию», но оказалось, что без настройки OV7670 передает информацию в формате не RGB565, а в YUV422. Переписывать ничего не хотелось, и я решил, что надо делать все по уму и нормально проинициализировать камеру. Так как камера управляется по I2C, в голову пришла идея использовать NIOS. NIOS с коркой I2C с opencore завести с полпинка не удалось, но я случайно наткнулся на Verilogовский модуль инициализации именно для OV7670. Он так легко встроился в код, что не пришлось практически ничего менять, изменил только одну строку: вместо RGB565 активировал режим RGB444, так-как на плате стоят именно 4 разрядные ЦАП. На рисунке 9 представлена временная диаграмма программного сброса камеры записью числа 0х80 по адресу 0х12.

Как вывести камеру на монитор
Рис.9

Демонстрация результата

После того, как все модули написаны, соединяем их вместе в топ-модуле, собираем в Quartus, и можно тестировать. Видео демонстрирует полученный результат.

Мной было выбрано не очень удачное время для съемки — закат и очень яркое солнце, — камера неадекватно реагирует на слишком яркие солнечные блики. Видно, что движущиеся объекты отображаются корректно, дерганий и шлейфов нет. Именно этого я и добивался, используя FPGA, которая позволяет обрабатывать все 30 (а возможности камеры больше) fps малой кровью. Если говорить о четкости изображения, то могу сказать, что текст с листа А4 читается без сложностей, к сожалению, фото с монитора получаются хуже, чем в реальности. На рисунке 10 показан фрагмент листа А4 с документацией на камеру.

Как вывести камеру на монитор«

На представленных видео и фото видны некоторые недостатки: первый с резкостью и второй с цветом.
Проблему с резкостью на видео я связываю с неидеально выставленным фокусом. Фокус настраивается на камере механически, вкручиванием или выкручиванием находящейся на резьбе линзы. Резьба пластиковая и имеет довольно большой люфт, даже от небольшой тряски резкость может ухудшаться.

Проблема с чрезмерной зеленожелтостью белого листа, мне кажется, связана с проблемой с балансом белого: съемка производилась в помещении с освещением, далеким от естественного. Также на ситуацию с цветностью могут влиять настройки камеры. Я практически не экспериментировал сними, использовал как magic number.

Заключение

Поставленная задача — вывод изображения с камеры OV7670 на VGA монитор в реальном времени, — решена. Если сравнить результат, полученный в данном проекте с результатом, полученным другими разработчиками, использующими микроконтроллеры или Arduino, видно, что они уступают в скорости отображения движущихся объектов. По трудоёмкости данный проект не превосходит аналогичные, выполненные с использованием микроконтроллера. Человек, обладающий начальными знаниями в разработке дизайна FPGA, может реализовать его за несколько дней. Проект имеет большой потенциал к расширению, возможна фильтрация полученного изображения, распознавание предметов и прочее. Дизайн на чипе Cyclone II занимает следующие ресурсы: LE – 745(4%), memory bits – 32768 (14%), PLL – 1 (25%), Embedded Multiplier — 0(0%), — таким образом, разработчикам остается еще достаточно ресурсов для реализации своих идей.

Послесловие

Что дальше? В дальнейшем я планирую расширять проект, добавив обработку изображения в реальном времени с использованием матричных фильтров.

Выражаю благодарность ishevchuk за советы по содержанию и оформлению статьи и моей девушке за проверку орфографии.

При первом включении на экране монитора появились загадочные узоры. Долго думал, что это может быть такое. В итоге оказалось, что в камере не был выставлен фокус. После того, как я покрутил линзу на объективе, все встало на свои места.

Как вывести камеру на монитор» alt=«image»/>

При втором включении камера была неправильно проинициализированна, что привело к неожиданному селфи.

Как вывести камеру на монитор«

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *