МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus II для платы Марсоход

Хексовый видеоадаптер

VGA на ПЛИСе

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

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

Как видно из картинки , видеорежим имеет 64 (8*8) знакоместа. Символы 4х-битные, образы символов ( цифры от "0" до "F" ) зашиты в UFM. Таким образом на экране можно отобразить 64 4х-битных шестнадцатиричных числа ( ну или, например, 8 32х-битных ).

Файл 

содержит два проекта: vga100 - для видеомонитора и tv100 - для телевизора.

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

  1. Разные выходные пины. Для vga используется три пина (F0, F1, F2), а для tv два (DP, DN)
  2. Разная тактовая частота. Для vga - 10мгц (делим входные 100мгц на 10 четырехбитным счетчиком). Для tv - 5мгц (те-же самые 100мгц делим на 20 пятибитным счетчиком) .
  3. Разные синхрогенераторы. В vgasync_gen, в tv - tv_sync.

Для подключения платки к видеомонитору нужно сделать проводочек:

VGA разъем к плате Марсоход

На VGA разъеме:

  • 1,2,3 - соединены вместе и подключены к F0 - это видео (ч/б)
  • 6,7,8 - соединены вместе и подключены к GND - это земля
  • 13 - горизонтальная синхронизация (HSYNC) - F1
  • 14 - вертикальная синхронизация (VSYNC)    - F2

Для подключения платки к телевизору нужно сделать другой проводочек:

TV к плате Марсоход

Для получения телевизионного сигнала синхроимпульсы и видео нужно "смешивать" с помощью "весовых" резиков. Для этой цели мы использовали пины  DP и DN, на которых резисторы уже есть, и соединили их вместе в самом проводочке.
Изображение на телевизоре такое-же как и на мониторе, только немного отличается в размерах.

tv_out

При питании платки от относительно большого напряжения (3.5-4В) амплитуда видеосигнала может оказаться довольно большой и, соответственно, яркость изображения избыточной. В этом случае, для уменьшения яркости на сигнал "видео" в vga или на весь сигнал в tv можно поставить последовательно резистор 100-200 ом.

 

Комментарии  

+2 #2 ВитГо 10.09.2012 13:24
видеосигнал формируется вручную..

в принципе на avr я делал 28 строк по 44 символа.
http://vg.ucoz.ru/forum/9-18-1
там же есть ссылки на статьи и справочную информацию по видеосигналу
0 #1 Максим 06.06.2012 06:08
Не могли бы вы поделиться информацией, как именно идет передача данных через "тюльпан" на телевизор? Я с плис не работаю, поэтому разобраться по вашим исходникам не могу, к сожалению.

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


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Проекты Проект Марсоход Хексовый видеоадаптер