Коллеги,
экспериментирую сейчас с ПЛИС, вывожу на VGA картинки.
Ориентируюсь на справочные данные вроде таких:
http://martin.hinner.info/vga/timing.html
Возникает вопрос: а откуда вообще берутся эти данные?
По какому принципу для заданных разрешения и частоты обновления выбираются длины Front/Back Porch, Sync и полярность сигнала синхронизации?
Как мне вывести эти параметры для нестандартного режима?
Здравствуйте, 0x7be, Вы писали:
А Вы случаем не с
марсходом играетесь
Здравствуйте, Sharov, Вы писали:
S>А Вы случаем не с марсходом играетесь
Нет, прикупил себе Terasic DE0 (чип Altera Cyclone III).
Марсоход рассматривал, но для меня немного слишком брутален, т.к. там готовых периферийных портов и ввода-вывода маловато.
Марсоход3 рассматриваю как вариант на будущее, когда освоюсь получше.
Здравствуйте, 0x7be, Вы писали:
0>Ориентируюсь на справочные данные вроде таких: http://martin.hinner.info/vga/timing.html
0>Возникает вопрос: а откуда вообще берутся эти данные?
Почитайте про конфигурирование X сервера, особенно вычисление цифр для modeline,
Например, здесь
http://rus-linux.net/book1.php?name=book1/gl-07/gl_07_03.html
Дело не в линуксе, которого у вас может и не быть, а в данном случае в принципах расчета режимов работы vga (отдельно замечу, что в современных линуксах давно никто не считает эти параметры).
Следующее число (оно может быть дробным) задает тактовую частоту развертки (частоту вывода точек на экран) в мегагерцах.
Далее следуют четыре целых числа (группа Htimings), определяющих параметры строки, а, значит, разрешение по горизонтали. Первое из этих чисел задает число видимых точек в строке. Чтобы пояснить значение следующих трех чисел, надо иметь в виду, что началом строки на экране считается не самая левая точка в строке (она попадает в невидимую, затемненную область экрана), а левая граница видимого изображения. Поэтому первое число в этой группе определяет число точек от начала до конца видимой части строки. Второе число — число точек от начала строки до начала импульса горизонтальной синхронизации (в этот момент начинается перемещение электронного луча с правой границы экрана на левую).
Третье число — число тактов развертки от начала изображения до того момента, когда электронный луч будет готов к выводу следующей строки изображения. То есть разность третьего и второго чисел задает длительность интервала, отводимого на перевод электронного луча от правой (с точки зрения пользователя) границы экрана к левой границе. И, наконец, четвертое число — общее число тактов, затрачиваемых на формирование одной строки изображения (с учетом невидимой части и времени, необходимого для перевода луча на новую строку).
Аналогично формируются следующие 4 числа (VTimings) в описании формата, только в данном случае речь будет идти о числе строк на экране (видимых и невидимых) и импульсе вертикальной синхронизации (началом экрана считаем верхнюю границу видимой части изображения).
О последней группе параметров в описании видеорежима (группа Flags) мы поговорим позже, когда рассмотрим вопрос о том, как правильно сформировать значения числовых параметров.
Ну и вообще про расчет modeline — это и есть задание всех этих параметров.
Здравствуйте, 0x7be, Вы писали:
0>Коллеги,
0>Ориентируюсь на справочные данные вроде таких: http://martin.hinner.info/vga/timing.html
0>Возникает вопрос: а откуда вообще берутся эти данные?
0>По какому принципу для заданных разрешения и частоты обновления выбираются длины Front/Back Porch, Sync и полярность сигнала синхронизации?
0>Как мне вывести эти параметры для нестандартного режима?
Насколько я понимаю, есть таблица стандартизированных таймингов от VESA "dmt timing standard" (
Например, здесь).
Стандартные тайминги почти всегда поддерживаются дисплеями (для того и стандартизированы).
Кроме того, каждый производитель волен использовать ещё какие-то тайминги, это указывается в документации на конкретное устройство.
На сайте VESA
FAQ есть ответ на вопрос, похожий на Ваш:
Q: When I looked at the DMT Standard, the resolution list was incomplete. There is no reference to 720p and others, as well as no reference to what a resolution is called; for example — VGA= 640×480, SXGA=1280×1024, etc. Where can I find this information?
A: Although VGA, SXGA and other terms have been commonly used to refer to particular display formats, in reality they refer to particular graphics adapters that may support multiple formats. Because of this, VESA does not use these terms when referring to particular display formats.