Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Open-source и open-hardware проект видео-конвертера. https://sites.google.com/site/...ega-to-vga Отличается от всяких китай-поделий типа GBS-8200 несколькими вещами:
Ну вот, не прошло и пары-тройки месяцев, как все-таки я его собрал. Не могу нарадоваться, поэтому решил даже отдельную тему создать. Проверял на всех имеющихся у меня видео-картах, а есть у меня они такие: MDA/Hercules карта на чипе Winbond W86855AF CGA карта на чипе Udl EGA карточки на чипе Gemini VC-001. Точнее даже SuperEGA, так как имеют на борту 256Kb памяти и могут режимы с высоким разрешением Знаменитая ATI EGA Wonder 800. Также несет на борту 256Kb памяти. Помимо EGA высоких разрешений, может еще и VGA 640x480x16 цветов. И пока не рабочая EGA на чипе Citygate D10. Пока нет кварца и генератора. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Если Вы его собрали, может и расскажете, как это работает? А где детали брали, и во сколько примерно обошлось? |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Rio444 написал: Работает просто - с одной стороны втыкается в CGA/EGA/MDA/HERCULES видео-карту, с другой стороны вставляется шнур от VGA монитора. А, ну и питание 5в от адаптера. И это вообщем-то все. Если Вы его собрали, может и расскажете, как это работает? Есть автоматическое распознавание CGA/EGA сигнала. Для MDA необходимо включить первый переключатель. Для Hercules еще и второй. В режиме CGA есть эффект "сканлайн" - типа как на старых ЭЛТ мониторах. Можно включить эмуляцию монохромного кинескопа. И самое главное - есть поддержка композитного CGA. Короче все, что есть у CGA эта штука умеет. В режиме EGA - ну просто EGA, режимы с высоким разрешением. Можно включить эмуляцию монохромного кинескопа. В режиме MDA/Hercules - можно задать тип кинескопа - зеленый, янтарный или белый. Есть регулировка по вертикали и горизонтали. Можно менять фазу сигнала, подстраиваясь под конкретную видео-карту. Rio444 написал: Обошлось дорого. Основная отладочная плата с ПЛИС покупается на алиэкспрессе, гуглится по названию CoreEP4CE6. К ней же там же сразу покупается китайский USB-Blaster - это программатор для ПЛИС. Это главное. Но, не основное -) Затем нужна дочерняя плата. Плату, а так же быструю SRAM (8ns) перед новым годом предлагали на соседнем форуме в барахолке. Там и купил с доставкой почтой. Оставались разъемы D-SUB9 и VGA, переключатель, пара выводных резисторов - ну тут все просто - Чип и Дип. Когда уже почти все было собрано, внезапно осознал, что не могу нигде найти микросхему буфер SN74LVC245AN в DIP корпусе, да даже и не в DIP в России. Помыкавшись пару дней взял и заказал только эту микруху опять на али (нужно было это сделать сразу). И последнее - резисторные сборки по 1кОм - забыл купить в Чип и Дип, поэтому заколхозил из подручных smd 1кОм резисторов 0805 1%. На одной из фотографий это видно. А где детали брали, и во сколько примерно обошлось? Вообщем, почти все приходится тянуть из китая. Отладочная плата, программатор (у кого нету), SN74LVC245AN (не найти в России), память SRAM 8ns (не найти в России). Остальное здесь вроде есть. Как-то так. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Tronix, Вы меня своими неожиданными ответами просто восхитили! Tronix написал: Сколько в рублях или $? Я не прошу с точностью до цента, хотя бы плюс-минус 5$. Обошлось дорого... Tronix написал: Это весьма очевидно. Работает просто - с одной стороны втыкается в CGA/EGA/MDA/HERCULES... Какой алгоритм работы? Что делает ПЛИС? Зачем нужна память? И почему именно 8ns? VGA видеокарты как-то обходились DRAM вплоть до 120ns. А 60-80ns так вообще, как за здрасьте. |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Rio444 написал: Я точно не считал. Думаю, что в районе 2500 руб. Сколько в рублях или $? Я не прошу с точностью до цента, хотя бы плюс-минус 5$. Rio444 написал: Ну я как-бы не автор, поэтому всех тонкостей не знаю. По ссылке в первом посте есть краткое описание принципа работы. Какой алгоритм работы? |
wbcbz7
Full Member
Откуда: omsk || nsk Всего сообщений: 230 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2014 |
интересный (но странный) конвертер, спасибо за ссылку Rio444 написал: 8нс память наверняка нужна для того, чтобы граббить сигнал с достаточной точностью (пикселклок-то на видеоконнектор не выведен, так что приходится оцифровывать с многократным запасом по частоте, чтобы не было артефактов). Собственно, для этого ПЛИС с быстрой памятью и нужна Что делает ПЛИС? Зачем нужна память? И почему именно 8ns? хотя вот еще интересное есть: то есть конвертер при этом еще и будет вставлять кадры взамен "дырок" из-за несовпадения вертикальной частоты (50/60 против 70), да и выбор 720x480@60Hz для CGA and EGA Lo-Res непонятен, там и 640x480 60гц хватило бы (или же 720x400 70гц) Output Resolutions |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 марта 2018 21:05 Сообщение отредактировано: 17 марта 2018 21:17
wbcbz7 написал: пикселклок-то на видеоконнектор не выведен Почему бы вместо увеличения частоты в 8(!) раз, просто не поставить переключатели (джамперы) для ручного выбора количества пикселей в строке - 320, 640, 720? Думаю, доступность и стоимость устройства снизилась бы в разы. Теперь уже автор сего устройства удивил, когда написал о применении теоремы Котельникова (Найквиста) к цифровому сигналу. |
-MiS-
Advanced Member
Откуда: Москва Всего сообщений: 682 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 9 мар. 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 марта 2018 21:59 Сообщение отредактировано: 17 марта 2018 22:02
Пару недель назад собрал и протестировал. Все отлично! Особенно доставил режим эмуляции черно-зеленого монитора. Запускал с Hercules и 14" VGA мониторе 74LVC245 покупал в тут Там-же заказывал статику для XT на фарадее. Была еще затея рассмотреть возможность приспособить его к Spectrum'у по цифре. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Я довольно внимательно смотрел на разные варианты подобных устройств. То, что сделал автор - весьма неплохо. Жестко задать частоту можно, но тогда придется делать ФАПЧ и прочие довольно хитрые штуки, так как частота пикселей карты не только неизбежно будет отличаться в каких-то пределах от частоты внутри FPGA, но и эти частоты будут плавать относительно друг друга. Соответственно, ближе к концу строки пикселы начнут ползти, а на границе еще и мерцать. Мало того, я экспериментировал со специализированной микросхемой захвата видеосигнала - результат не лучше, чем этот преобразователь. Короче, человек придумал довольно хорошо работающий метод при совершенно разумных затратах на устройство. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
justontime написал: С этой характеристикой могу согласиться. То, что сделал автор - весьма неплохо. Мне не с чем использовать подобное устройство, поэтому интерес исключительно теоретический. Пока впечатление - из пушки по воробьям. |
-MiS-
Advanced Member
Откуда: Москва Всего сообщений: 682 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 9 мар. 2016 |
Rio444 написал: А какие еще варианты решения данной задачи? Пока впечатление - из пушки по воробьям. Может проще только конвертер сразу к ЖК матрице, и то я не уверен, можно ли там менять частоту обновления в нужных пределах |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 марта 2018 23:29 Сообщение отредактировано: 17 марта 2018 23:40
-MiS- написал: Так те же самые, только синхронно с видеосигналом. Частоты ниже, компоненты дешевле и доступнее. А какие еще варианты решения данной задачи? Не хочу дальше развивать эту тему, потому что не имею опыта работы с ПЛИС, а погружаться сейчас не вижу смысла. Вариант, предложенный автором разработки, предполагает, что мы ничего не знаем о видеосигнале. Получается очень универсально, но дорого. На самом деле, мы знаем, что пикселей в строке 320, 640 или 720. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Rio444 написал: Я же говорил, что это знание принципиально ситуацию не меняет - частоты не идеальны и плавают по времени, поэтому жестко привязаться к началу строки и отсчитывать пикселы по одному не получится. Вернее, картинка будет даже читабельной, но совершенно неудовлетворительной. На самом деле, мы знаем, что пикселей в строке 320, 640 или 720. Кроме того, экономия при использовании более медленной памяти получается смешная (на фоне остальной стоимости). Единственное, что можно сделать - если под рукой есть бесплатная память, то требование быстродействия можно понизить за счет увеличения разрядности. Естественно, плату и код придется переделывать |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 марта 2018 9:04 Сообщение отредактировано: 18 марта 2018 9:04
justontime написал: Как это возможно? Тогда изображение на экране тоже должно плавать. Я же говорил, что это знание принципиально ситуацию не меняет - частоты не идеальны и плавают по времени, поэтому жестко привязаться к началу строки и отсчитывать пикселы по одному не получится. И зачем тогда кварцы на видеокартах стоят? На некоторых по несколько. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
justontime видимо имел ввиду фазовую погрешность, которая будет накапливаться к концу строки из-за неизбежных различий частот. Тут надо посчитать, какое допустимое отклонение частот генераторов, чтобы в конце строки мы не "уплыли" Типа как у COM port-ов. Хотя как по мне, привыкшему все делать на жесткой логике и MCU (я не работал с ПЛИС) собрать с PLL может быть интереснее было бы. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 марта 2018 9:29 Сообщение отредактировано: 18 марта 2018 9:31
Rio444 написал: А оно и плавает - совсем немного. Только если постепенное "уплывание" в виде растягивания всей картинки на (условно) треть пиксела человеческому глазу незаметно, то в случае с конвертором это может привести к тому, что целый ряд пикселов будет менять свой цвет. Например, правый (к правому краю накапливается ошибка смещения) вертикальный белый бордюр (линия) Norton'а будет дрожать по ширине плюс-минус пиксел, что на статической картинке будет смотреться кошмарно. Ну и т.п. вещи Как это возможно? Тогда изображение на экране тоже должно плавать. Rio444 написал: Правильно - для задания частоты. Только эта частота, как и все в вашем мире, несовершенна - и изначально, и по времени (например, изменение температуры). Плюс еще, например, PLL FPGA очень часто не в состоянии сформировать конкретно заданную частоту - та же 14.31818... из 50 МГц не получается (не говоря еще об изначальной погрешности тактового генератора) И зачем тогда кварцы на видеокартах стоят? |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
-MiS- написал: тутТам минимально от 21 штуки со сроком в 12 дней, разве нет? Таких предложений то вагон, но все они означают одно - что нет на складе, за 12 дней постараемся привезти с китая -))) 74LVC245 покупал в |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 марта 2018 10:27 Сообщение отредактировано: 18 марта 2018 10:50
justontime написал: Прошу меня простить, видимо я чего-то не понимаю. Только если постепенное "уплывание" в виде растягивания всей картинки на (условно) треть пиксела Пусть уплывает на треть пикселя. Сигнал EGA цифровой? Разве не так? Если мы будем делать выборку строго посередине, то даже, если частота уплывёт на треть длительности одного пикселя, разве это повлияет на результат? Ещё раз прочитал описание. Постепенно становится понятнее, что хотел автор. Но всё равно не понятно, зачем считывать значения видеосигнала на частоте >100МГц и сохранять их на этой же частоте во фрейм-буфер. Потом читать их и преобразовывать в сигнал VGA с частотой в несколько раз меньше? Почему нельзя сразу преобразовывать считанный сигнал и его уже сохранять во фрейм-буфер? Частота снизится в ~7 раз. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Выборка не будет «строго посередине», она будет чуть в стороне от середины из-за разности частот карты и преобразователя. С каждым пикселем в пределах строки эта разность накапливается, и в определенный момент может дойти до границы пикселя. Это я еще не принимаю во внимание переходные процессы на границах пикселей, которые дополнительно (и значительно) ухудшают ситуацию. Как уже говорил, даже специализированная микросхема с ФАПЧ в таком режиме работала не идеально (хотя, нужно признать, я не до конца поигрался с настройками, которых там много). |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 марта 2018 10:55 Сообщение отредактировано: 18 марта 2018 10:59 |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Tronix написал: Значит алгоритм я понял правильно. Преобразование происходит не попиксельно. На один пиксель EGA происходит 7-8 выборок, которые сохраняются во фрейм-буфере. Потом из фрейм-буфера происходит чтение, но уже 6-7 значений на пиксель (для преобразования 640 пикселей в строке в 720), которые усредняются и формируют VGA сигнал. Но по-прежнему не понятно, почему нельзя сначала преобразовать, потом писать во фрейм-буфер? |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 | |
-MiS-
Advanced Member
Откуда: Москва Всего сообщений: 682 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 9 мар. 2016 |
Tronix написал: А если развернуть все предложения, то есть вариант 1шт за 63.5 У меня набрался заказ к тому времени и меня такое предложение устроило. Там минимально от 21 штуки |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 марта 2018 11:00 Сообщение отредактировано: 25 марта 2018 14:02
Поделюсь интересным нюансом: Как известно, EGA Hi-res сигнал данный конвертер преобразует в разрешение 640x350@70Hz, а EGA Lo-Res и CGA сигналы в разрешение 720x400@70Hz. Столкнулся с тем, что некоторые современные LCD мониторы над разрешением 720x400@70Hz производят жуткие преобразования (даунскейл?), в результате чего качество изображения просто отвратительное (размытое все). Столкнувшись с этим, начал грешить на конвертер, пока не опробовал на CRT мониторе, там все идеально. Имейте ввиду. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
А если кто-то не разбирается в ПЛИС-ах и давно ищет что-то получше Гонбеса, то где ему это "что-то получше" можно купить в готовом виде? Вы ведь наверняка тему изучили? Если это запрещено правилами (ссылки на продажу) - в этой ветке форума, то напиши пожалуйста в личку? |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
sanders, в готовом виде пока нигде замечено не было. Пустые платы брали у Рябцева на ZX |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 марта 2018 15:44 Сообщение отредактировано: 25 марта 2018 15:49
sanders написал: Так чтобы схему канадца собрать, разбираться в ПЛИС и не нужно. Нужен программатор, которые на ибее на любой вкус. Либо самому примитивный собрать. И комп, куда этот программатор подключить. Кажется, даже готовые комплекты продаются, с программатором. P.S. По отдельности дешевле. Плата 1400 руб. Программатор 170 руб. |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Rio444, самое главное забыли - дочернюю плату |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Filin написал: И SRAM, которая мало того что сама по себе не 3 копейки стоит, так еще и за доставку накинуть с китая. Rio444, самое главное забыли - дочернюю плату |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 марта 2018 18:13 Сообщение отредактировано: 25 марта 2018 18:14
Filin, Tronix согласен. Но sanders писал т.е. видимо остальное для него не проблема А если кто-то не разбирается в ПЛИС-ах... |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Для меня всё, что нужно паять - проблема. Поэтому мне нравятся проекты, которые подразумевают продажу изделий, тот же Maxiol IDE-CF MSX, например. Если кто-то будет продавать изделие, дайте ссылку. Если я знаю, как работает ДВС, это не значит, что мне следует чинить двигатель. Будет только хуже :-) |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Уже достаточно долго гоняю данный конвертер и заметил некоторые особенности в его работе. Изображение с некоторых компьютеров чистенькое и красивое, а с некоторых с "дрожанием" пикселей (jitter). И если с советскими компами все понятно, там часто использовались свои опорные частоты (например 15МГц вместо 14.3181МГц), то вот почему IBM 5160 выдает картинку с джиттером - не понятно. И вообще было бы очень здорово, если бы добавить в прошивку конвертера возможность подстраивать pixel clock. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Filin лично мне проект вообще кажется очень сырым. Но пока никто не находится, кто желал бы довести его до ума. |
Filin
Advanced Member
Откуда: Киев Всего сообщений: 466 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 сен. 2017 |
Нужно дружно попросить Tronix-а, я читал на англоязычном форуме, что он уже начал ковыряться в прошивке |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 12 октября 2018 23:29 Сообщение отредактировано: 12 октября 2018 23:31
Filin написал: А подстраивать условный центр пиксела прбовали ? Насколько помню, там нужно было какой-то из dip’ов установить в определенное положение, и кнопку reset жать И вообще было бы очень здорово, если бы добавить в прошивку конвертера возможность подстраивать pixel clock. |
Часть сообщений этой темы была выделена в тему "Новая прошивка для GBS-82x0" (21 октября 2018 21:00) |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |