Найти тему
Владимир Радченко

DWIN DGUS. FSK камера - подключение и работа с дисплеем.

Оглавление

Компания DWIN постоянно совершенствует и дополняет свои продукты, так недавно были выпущены камеры основанные на подключении камеры OV2640 к контроллеру T5L0 и имеющими на выходе FSK интерфейс. Камеры выполнены в двух исполнениях, с обычной матрицей (FDV200-1) и инфракрасной (FDV200-2). Также для подключения камер была выпущена широкая линейка наименований дисплеев с диагоналями от 4.3 до 21.5 дюймов.

Прошлые статьи:

DWIN. Подготовка дисплея к работе и загрузка демо-проекта
DWIN. Знакомство с программным обеспечением DWIN Graphic Utilized Software. Hello World
DWIN. Связываем STM32 Nucleo и дисплей.
DWIN. Элемент Real-Time Curves, чертим графики.
DWIN DGUS. Элемент Artistic Variables. Отображаем цифры иконками.
DWIN DGUS. Страница защищённая паролем. Пакетное считывание и запись. Интерфейс RS485

Дисплей

Для реализации проекта будет использован дисплей DMG10600T070_26WTC. Рассмотрим характеристики дисплея:

Диапазон рабочих напряжений: 6В - 36В.
Потребляемый ток:
110-260мА.
Разрешение:
1024х600.
Тип матрицы:
IPS 16.7M цветов.
Тип сенсорной панели:
Емкостная.
Яркость подсветки:
250нит.
Flash память:
16 Мб.
Встроенный
RTC.
Ресурс подсветки -
30000 часов.
Интерфейсы: UART2 ,UART4

DMG10600T070_26WTC DMG10600T070_26WTC
DMG10600T070_26WTC DMG10600T070_26WTC
DMG10600T070_26WTC
DMG10600T070_26WTC

К дисплею будет подключена камера FDV200-1.

FDV200-1
FDV200-1

Проект

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

-4

Создаём проект, выбираем разрешение 1024х600, далее размещаем окно которое будет отображать изображение с камеры. Для этого выбираем вкладу "ICON Display" и добавляем элемент "Icon Overlay". Выбираем разрешение 640х480.
Заводское разрешение по умолчанию — 640×480 (настройка разрешения камеры: горизонтальное разрешение и вертикальное разрешение камеры должны быть кратны 4).

Далее необходимо выбрать адрес VP, выставляем адрес 0x4000. Данный адрес будет означать адрес первого пикселя. Вычислим занимаемую память:
640 * 480 / 8192 = 37.5 KB, округлим до 40 KB.
Далее необходимо рассчитать с какого адреса можно использовать адреса для остальных элементов которые могут быть использованы в проекте:
40 * 1024 / 2 = 20480, в шестнадцатеричной форме число 20480 равно 0x5000. Это означает, что с адреса 0x9000 (0x4000 + 0x5000) можно использовать память для остальных элементов.

Чтобы запустить камеру необходимо подать две команды.

Первая команда необходима для настройки шины. Для этого необходимо записать настройки в память 0x0100.

-5

Например настроить можно с помощью команды 5A A5 07 82 01 00 A5 04 50 00.

-6

Вторая командой для запуска камеры станет настройка по адресу 0x0120.

5A A5 0D 82 01 20 80 20 00

80 : Устройство № 0 включено (.7 = 1 устройство включено, .7 = 0 устройство выключено; .6-.5 зарезервировано, устанавливается в 0; .4 -.0 Backup ID, в диапазоне 0x00-0x1E )

20 00: адрес первой ячейки памяти для отображения изображения с камеры разделенный на 2. Адрес 0x4000/2=0x4000.
Для изменения параметров отображения можно использовать расширенную команду:
5A A5 0D 82 01 20 80 20 00 02 51 80 02 80 01 E0

Значение: 01 20: Переменный адрес интерфейса, определенный DGUS.

80 : Устройство № 0 включено (.7 = 1 устройство включено, .7 = 0 устройство выключено; .6-.5 зарезервировано, устанавливается в 0; .4 -.0 Backup ID, в диапазоне 0x00-0x1E )

20 00: Адрес двойного слова для хранения данных (Примечание: 0x2000 — это адрес слова, соответствующий адресу двойного слова 0x4000. Вычисляется: 0x4000 / 2 = 0x2000).
02 : Передача только 2 двойных слов
5F: команда настройки камеры
80 : Зеркальное отображение слева и справа
02 80 : Горизонтальное разрешение камеры 0x0280 = 640
01 E0 : Вертикальное разрешение камеры 0x01E0 = 480

Используем два варианта включения камеры. Первый это команды через асинхронный порт. Второй с помощью элемента Synchrodata Return.

-7

Адреса с 0x1000 по 0x3FFF свободны, запишем команды по адресам 0x2000 и 0x2010. При нажатии на кнопку с адреса 0x2000 будет записано 4 байта в память по адресу 0x0100, при отпускании произведется запись с адреса 0x2010 по адресу 0x0120, тем самым будет отправлено две команды на запуск камеры.
Сгенерируем проект и изменим файл 22.bin, добавим команды по адресам 0x2000 и 0x2010. Так как память 16 бит, а редактор отображает адреса по 8 бит, то адрес в редакторе будет в два раза больше, т.е. 0x4000 и 0x4020 соответственно. запишем
A5 04 50 00 и 80 20 00 соответственно.

-8

Далее загружаем файлы проекта на дисплей и проверяем работу.

На следующем изображении видно камеру и изображение которое она должна транслировать на дисплей.

-9

Для отображения видео нажимаем на камеру в правом верхнем углу дисплея, команды записываются и изображение появляется.

-10

Отправить команды с асинхронного порта можно с помощью новой функции DGUS - DEBUG. Для этого выберем необходимую вкладку и нажимаем на иноку DEBUG.

-11

В открывшемся окне выбираем вкладку Custom, добавляем необходимые команды описанные ранее, подключаем Serial Port и отправляем команды в дисплей. Результат будет идентичный, поток видео с камеры будет запущен.

-12

Видео демонстрация проделанной работы:

Заключение

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


Ссылка на GitHub:
https://github.com/VB-Radchenko/Lesson-11-FSK-Camera

Компания DWIN предоставляет бесплатные образцы для юридических лиц. Для получения образцов, оптовых закупок, персональных скидок, технической поддержки и общим вопросам обращайтесь:
Email: Info_dwin@mail.ru
VK:
https://vk.com/radchenko_vb
Telegram:
https://t.me/Radchenko_VB
Сообщество VK
https://vk.com/public208909284
Скидочный купон на 5$ для официального магазина
AliExpress - DWVLPRO