Текстовый VGA-модуль на VHDL
Во-первых, модуль адаптера написан на языке Verilog, с которым я практически не знаком. Таким образом, при необходимости внесения каких-либо правок в модуль и подстройке его под особенности моего проекта мне бы пришлось обращаться за помощью к знающим людям. А это и трата времени, и причинение определённых неудобств тем самым "знающим людям". Во-вторых, академический интерес – знание принципов работы аналогового видеоинтерфейса (пускай и на самом начальном уровне) не будет лишним в копилке знаний будущего инженера. В-третьих, известное правило "10 тысяч часов" – чтобы добиться успеха в какой-либо области, нужно потратить очень, очень много времени на практику.
Итак, вернёмся к видеоадаптеру. VGA – это стандартный интерфейс для управления аналоговыми мониторами. Источник сигнала – в нашем случае это будет ПЛИС платы Марсоход2 – снабжает монитор сигналами цветовых величин красного, зелёного и синего компонента, а также сигналами горизонтальной (строчной) и вертикальной (кадровой) синхронизации. Последние два являются цифровыми, в то время как данные о цвете предварительно превращаются в уровень напряжения в цифро-аналоговом преобразователе. Модуль требует входного сигнала тактовой частоты (pixel clock).

Стандартная вилка VGA-разъёма
Также в интерфейсе есть четыре вывода, которые используются для загрузки расширенных данных идентификации дисплея из ПЗУ монитора. В простейшем случае их можно не подключать. Кроме того, некоторые из мониторов поддерживают синхронизацию по зелёному – в этом случае сигналы вертикальной и горизонтальной синхронизации передаются по каналу зелёного цветового компонента, а необходимость в отдельных синхронизирующих линиях, соответственно, исчезает. Заострять внимание на этом сейчас тоже нет смысла, но....






Подробнее...