Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС
RSS

MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС

Канадский скандаблер на FPGA Cyclone IV

<<Назад  Вперед>> Страницы: 1 2 * 3 4
Печать
 
justontime
Full Member


Откуда: СПб
Всего сообщений: 236
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 сен. 2016
Rio444 написал:
[q]
На самом деле, мы знаем, что пикселей в строке 320, 640 или 720.
[/q]
Я же говорил, что это знание принципиально ситуацию не меняет - частоты не идеальны и плавают по времени, поэтому жестко привязаться к началу строки и отсчитывать пикселы по одному не получится. Вернее, картинка будет даже читабельной, но совершенно неудовлетворительной.

Кроме того, экономия при использовании более медленной памяти получается смешная (на фоне остальной стоимости).

Единственное, что можно сделать - если под рукой есть бесплатная память, то требование быстродействия можно понизить за счет увеличения разрядности. Естественно, плату и код придется переделывать
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
justontime написал:
[q]
Я же говорил, что это знание принципиально ситуацию не меняет - частоты не идеальны и плавают по времени, поэтому жестко привязаться к началу строки и отсчитывать пикселы по одному не получится.
[/q]
Как это возможно? Тогда изображение на экране тоже должно плавать.
И зачем тогда кварцы на видеокартах стоят?
На некоторых по несколько.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
justontime видимо имел ввиду фазовую погрешность, которая
будет накапливаться к концу строки из-за неизбежных различий частот.

Тут надо посчитать, какое допустимое отклонение частот генераторов, чтобы в конце строки мы не "уплыли" Типа как у COM port-ов.

Хотя как по мне, привыкшему все делать на жесткой логике и MCU
(я не работал с ПЛИС) собрать с PLL может быть интереснее было бы.
justontime
Full Member


Откуда: СПб
Всего сообщений: 236
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 сен. 2016
Rio444 написал:
[q]
Как это возможно? Тогда изображение на экране тоже должно плавать.
[/q]
А оно и плавает - совсем немного. Только если постепенное "уплывание" в виде растягивания всей картинки на (условно) треть пиксела человеческому глазу незаметно, то в случае с конвертором это может привести к тому, что целый ряд пикселов будет менять свой цвет. Например, правый (к правому краю накапливается ошибка смещения) вертикальный белый бордюр (линия) Norton'а будет дрожать по ширине плюс-минус пиксел, что на статической картинке будет смотреться кошмарно. Ну и т.п. вещи


Rio444 написал:
[q]
И зачем тогда кварцы на видеокартах стоят?
[/q]
Правильно - для задания частоты. Только эта частота, как и все в вашем мире, несовершенна - и изначально, и по времени (например, изменение температуры). Плюс еще, например, PLL FPGA очень часто не в состоянии сформировать конкретно заданную частоту - та же 14.31818... из 50 МГц не получается (не говоря еще об изначальной погрешности тактового генератора)
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
-MiS- написал:
[q]
74LVC245 покупал в тут
[/q]
Там минимально от 21 штуки со сроком в 12 дней, разве нет? Таких предложений то вагон, но все они означают одно - что нет на складе, за 12 дней постараемся привезти с китая -)))
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
justontime написал:
[q]
Только если постепенное "уплывание" в виде растягивания всей картинки на (условно) треть пиксела
[/q]
Прошу меня простить, видимо я чего-то не понимаю.
Пусть уплывает на треть пикселя.
Сигнал EGA цифровой? Разве не так?
Если мы будем делать выборку строго посередине, то даже, если частота уплывёт на треть длительности одного пикселя, разве это повлияет на результат?


Ещё раз прочитал описание. Постепенно становится понятнее, что хотел автор. Но всё равно не понятно, зачем считывать значения видеосигнала на частоте >100МГц и сохранять их на этой же частоте во фрейм-буфер. Потом читать их и преобразовывать в сигнал VGA с частотой в несколько раз меньше? Почему нельзя сразу преобразовывать считанный сигнал и его уже сохранять во фрейм-буфер? Частота снизится в ~7 раз.
justontime
Full Member


Откуда: СПб
Всего сообщений: 236
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 сен. 2016
Выборка не будет «строго посередине», она будет чуть в стороне от середины из-за разности частот карты и преобразователя. С каждым пикселем в пределах строки эта разность накапливается, и в определенный момент может дойти до границы пикселя.
Это я еще не принимаю во внимание переходные процессы на границах пикселей, которые дополнительно (и значительно) ухудшают ситуацию.
Как уже говорил, даже специализированная микросхема с ФАПЧ в таком режиме работала не идеально (хотя, нужно признать, я не до конца поигрался с настройками, которых там много).
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Немножко поснимал Hercules карточку:




Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Tronix написал:
[q]
[/q]
Значит алгоритм я понял правильно.
Преобразование происходит не попиксельно.
На один пиксель EGA происходит 7-8 выборок, которые сохраняются во фрейм-буфере.
Потом из фрейм-буфера происходит чтение, но уже 6-7 значений на пиксель (для преобразования 640 пикселей в строке в 720), которые усредняются и формируют VGA сигнал.
Но по-прежнему не понятно, почему нельзя сначала преобразовать, потом писать во фрейм-буфер?
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Поснимал немножко CGA карточку. Режим эмуляции "сканлайнов":



Обычный CGA:



Режим эмуляции композитного монитора:

<<Назад  Вперед>> Страницы: 1 2 * 3 4
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS