Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Ибрагимов Максим Рафикович. Простой VGA/Видео адаптер.


(проект по формированию VGA сигнала при помощи 8-ми битных MCU фирмы AVR)

Предыстория проекта.
Несколько месяцев назад, задавшись целью подключить VGA-монитор для вывода текстовых данных с микроконтроллерной системы сбора информации - я с удивлением обнаружил, что ничего сколько-нибудь "внятного" и доступного для повторения " на коленке " по этой теме в Интернете отсутствует. Конечно, существуют промышленные платы стандарта PC-104, можно кое-что "нарыть" и на www.opencores.org для реализации на FPGA, есть графические контроллеры Fujitsu, кто-то здесь недавно на местной конференции предлагал за 5000$ проект на ACEX'е :, но надо признать - все это страшно далеко от народа. Хотелось что-то гораздо более "дешевое и сердитое".
Предварительные прикидки показывали, что из наиболее распространенных и достаточно быстродействующих микроконтроллеров подходит продукция фирмы ATMEL. 8-ми битное RISC ядро AVR обеспечивает пиковую производительность порядка 16 MIPS на тактовой частоте 16MHz. Плюс на подходе более скоростные семейства Mega48,88,168 поддерживающие официальную тактовую частоту 20MHz.При этом скорость вывода данных через стандартный порт ввода-вывода при FOSC = 16MHz командами вывода в порт (out portx..) 8 MIPS. К тому же я уже имел достаточный опыт разработки устройств на микроконтроллерах AVR. И я засучил рукава.. Результат своей работы я представляю на ВАШ суд.

Поставленная техническая задача:

Цель которую я поставил для себя, достаточно проста на первый взгляд: Ограничившись одним корпусом распространенного MCU типа Mega8,16,8535 и т.д., и минимумом внешних элементов сконструировать символьный дисплей-адаптер с разрешением > 15x15 символов, который бы выводил информацию на VGA монитор при стандартных частотах VGA сигнала. Информацию символьный адаптер должен получать через стандартный USART порт микроконтроллера. Частота используемого микроконтроллера стандартная -16MHz.
Данная задача на данный момент успешно решена. Более того - проект несколько расширен и дополнен введением формирования обычного видео ч.б. (PAL/SECAM) сигнала. Т.е. в зависимости от положения джампера тип формируемого видео сигнала VGA либо Composite Video.

Фотографии и схемы проекта:
Скачать принципиальную схему простого VGA/Video адаптера.

Так все это выглядит в железе, собранном на "коленке" за один час:


А вот что мы получаем на экране монитора и телевизора:
 

Технические характеристики проекта:

Технические характеристики VGA-адаптера:
Количество символов: 20 строк по 20 символов
Разрешение матрицы знакогенератора: 8x12 точек
Кодовая таблица знакогенератора: WIN 1251
Формируемый сигнал: VGA
Разрешение: 640x480
Частота кадровой синхронизации: 60Hz
Скорость обмена UART 19200 bps

Технические характеристики Video-адаптера:
Количество символов: 20 строк по 38 символов
Разрешение матрицы знакогенератора: 8x12 точек
Кодовая таблица знакогенератора: WIN 1251
Формируемый сигнал: Composite Video(PAL/SECAM)
Разрешение: 625 строк (чересстрочная)
Частота кадровой синхронизации: 50Hz
Скорость обмена UART 19200 bps

Тип используемого микроконтроллера: Mega8, Mega16, , Mega32, Mega8535 и т.д.
Тактовая частота микроконтроллера стандартная - 16Mhz

Примечание:
  1. Для того чтобы избежать искажения изображения при приеме данных через UART, для VGA рекомендуется производить обмен данными с адаптером в течении приблизительно 300-600 мкс после сигнала вертикальной синхронизации VSYNC (во время обратного хода луча по кадру).
  2. Объема RAM памяти Mega8535 (512 байт) не достаточно для формирования Видео сигнала с разрешением 38x20 символов.
Алгоритм работы программы:


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



Заключение:

Поскольку данный проект написан на С (WinAVR GCC), он легко масштабируем для увеличения разрешения и частот регенерации дисплея. Так, на микроконтроллерах Mega48,88,168 поддерживающих официальную тактовую частоту 20MHz возможно получение разрешения 20 строк по 25-30 символов при абсолютно той же схемотехнике (возможности оверклокинга автор намеренно не рассматривает). Применения проекта не ограничиваются одним лишь терминальным вариантом (смотрите примеры в папке examples) - не смотря на серьезную загруженность процессора регенерацией дисплея оставшейся мощности вполне достаточно для организации обработки например нескольких цифровых и аналоговых сигналов и реакции на них, а также выдаче результатов их измерений на дисплей в real-time (охранные системы, АСУТП, КИПиА и т.д.). Автор располагает улучшенными вариантами подобных систем с разрешением символьного дисплея 40x24 символов в режиме VGA, работающими в коммерческих изделиях.

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

Полезные ссылки:
Теория Видео сигнала
Cornell University Electrical Engineering 476- Генерация видеосигнала на AVR
Теория VGA сигнала
Генерация VGA сигнала на PIC

За дальнейшим развитием проекта следите за: http://www.vga-avr.narod.ru/

Автор проекта: Инженер Ибрагимов Максим Рафикович г. Тольятти 20.10.2005 г.
Связаться с автором можно по электронному адресу: simple-vga@rambler.ru,

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100