Стандарт VGA для графического контроллера - PullRequest
1 голос
/ 12 февраля 2009

Я пытаюсь создать универсальный графический контроллер для VGA-мониторов с ПЛИС Altera через разъем VGA, но я не могу найти хороших онлайн ресурсов, объясняющих стандартную спецификацию, которая мониторы используют. Я нашел все описания выводов и некоторые ресурсы, которые описывают, как создать конкретный графический контроллер, например, этот 8 цветной 480x640 контроллер , но я не нашел ресурсов, описывающих фактический ожидаемый «протокол», который контролирует.

Например, нигде я не нашел, какие точные временные интервалы должны быть между различными частями сигнала - в выше указаны конкретные временные значения в мкс, но не почему. Все ли разделы должны быть в этих заданных пропорциях или есть какой-то произвол в отношении паузы между строками и т. Д. Как бы выглядел псевдокод, если вы думаете о реализации его в коде (и сможете изменить разрешение / глубину цвета)?

Опять же, я ищу ожидаемый «протокол» для универсального контроллера - аналогично тому, что ОС будет использовать, когда не указан тип монитора. Указатели в правильном направлении будут оценены.

Ответы [ 2 ]

3 голосов
/ 12 февраля 2009

В течение многих лет я не занимался более низкими уровнями VGA, но я использовал книгу, которая может быть чем-то полезна: Руководство программиста по картам EGA, VGA и Super VGA

Оглавление книги следующим образом:

  1. Введение в руководство программиста
  2. Функции EGA, VGA и Super VGA
  3. Графическое оборудование и программное обеспечение
  4. Типы графических систем
  5. Принципы компьютерной графики
  6. Буквенно-цифровая обработка
  7. Обработка графики
  8. Цветовая палитра и регистры цвета
  9. Чтение состояния EGA и VGA
  10. Регистры EGA / VGA
  11. EGA / VGA BIOS
  12. Примеры программирования
  13. Super VGA
  14. Графические сопроцессоры
  15. Основы кода Super VGA
  16. Интерфейс адаптера
  17. 8514 / A
  18. XGA
  19. ATI Technologies
  20. Микросхемы и технологии
  21. Cirrus Logic
  22. Набор микросхем Video7 Super VGA
  23. ИИТ
  24. NCR
  25. Дуб
  26. S3 Incorporated
  27. Наборы микросхем Trident Super VGA
  28. Супер-VGA чипы Tseng Labs
  29. Чипы Paradise Super VGA
  30. Weitek
1 голос
/ 30 июля 2009

Этот сайт: http://server.oersted.dtu.dk/www/sn/31002/?Materials/vga/main.html

Довольно неплохо обсуждает VGA.

Ключ к тому, что вы спрашиваете, получен с помощью этого клипа с сайта: http://web.mit.edu/6.111/www/s2004/NEWKIT/vga.shtml

"Как и в RS-232, стандартом для видео VGA является то, что существует множество стандартов. Кажется, что каждый производитель перечисляет различные временные характеристики в руководствах для своих мониторов. Значения, приведенные в таблице выше, не особенно критичны. ЭЛТ-монитор, длина переднего и заднего крыльев контролирует положение изображения на дисплее.Если изображение отображается со смещением вправо или влево или вверх или вниз, попробуйте отрегулировать значения переднего и заднего крыльца для соответствующего направления (или используйте настройки положения изображения на мониторе, которые выполняют то же самое). "

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

Ваше разрешение ограничено скоростью, с которой электроника может включать и выключать электронный луч, но горизонтальное размещение ограничено только вашими часами и возможными настройками фазы на вашей ПЛИС.

Например, вы можете настроить синхронизацию 640x480 для ваших синхроимпульсов и вместо тактирования данных на 25 МГц вы можете использовать 100 или 200 МГц и просто требовать минимального времени для каждого пикселя. Эффективно позволяя сгладить прокрутку на 1/8 ширины пикселя. Возможно, вам удастся выполнить тонкую настройку расстояния между линиями сканирования, хотя я никогда не пробовал.

...