Простая VGA видеокарта

Обсуждаем цифровые устройства...
Ответить
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Простая VGA видеокарта

Сообщение da-nie »

Наверное, многим будет интересна видеокарта для вывода изображений на компьютерный монитор. Данная видеокарта выдаёт картинку разрешением 254x240 точек при 256 цветах (реально получилось меньше, я ниже скажу почему). Реализует она стандартный VGA режим 640x480 при 60 Гц развёртки. Испытывал я эту видеокарту с 6 мониторами (1 ЭЛТ и 5 ЖК), при этом на всех мониторах карта работала, за исключением монитора фирмы Acer. Чем ему не понравился сигнал, я пока не понял. :oops:

Вот как выглядит данная видеокарта:

Изображение

Вот видео, как работает данная видеокарта: http://youtu.be/cDFSwHGo0lQ

Конструктивно видеокарта состоит из двух модулей: модуль памяти и модуль ЦАП'а. К ним подключается устройство, которое эту видеокарту собирается использовать - управляющий контроллер. Модуль памяти просто формирует сигналы синхронизации (HS, VS) и гашения луча (BL) и выдаёт наружу код цвета (D0...D7), который модуль ЦАП'а преобразует в уровень 0-0.7 В и подаёт на монитор. Микроконтроллер модуля памяти просто перебирает адреса статического ОЗУ, а данные из ОЗУ и есть цвета точек. Как видите, ничего сложного. С использованием микроконтроллера Atmega168 с частотой 20 МГц требуется 2 такта на одну точку.

Схема модуля памяти:
СпойлерИзображение
Схема модуля ЦАП:
СпойлерИзображение
Схему управляющего контроллера я не привожу (но в архиве есть печатная плата для него и его прошивка), так как вся его задача - выставлять адрес на шину адреса (A0...A15), выставлять данные на шину данных (D0...D7), выставлять сигналы WR (запись по низкому уровню), OE (разрешение вывода данных при низком уровне) и выставлять сигнал A/B (переключение памяти на работу с управляющим контроллером по низкому уровню). Управляющий контроллер получает от платы памяти сигнал гашения луча (BL), который может быть использован для синхронизации записи в память видеокарты (а можно по нему и не синхронизироваться, но тогда на экране будет в моменты перерисовки "снег" - как решают проблему одновременного доступа к памяти видеокарты без двухпортового ОЗУ я, увы, не знаю - может, кто подскажет? Рисовать во время обратного хода луча всё же довольно медленно.).

ЦАП не выдаёт всех 256 цветов, так как эмиттерные повторители срезают младшие биты цвета. Я пока не придумал, как можно в точности передать сигнал R-2R-ЦАП'а с усилением по току без использования обратных связей (на частоте 20 МГц ОС не очень полезна :) ). Конденсаторы на входных резисторах ЦАП'а ускоряют рассасывание заряда у транзисторов КТ315, чем ускоряют работу ключа на запирание. Без них отображать отдельный пиксель не удастся.

Ну вот, вроде бы и всё. :)

Архив с разведёнными платами, прошивками и исходниками (Внимание: я рисовал схему с плат и мог где-нибудь ошибиться по невнимательности. Но вроде бы проверил по три раза...). Компилятор WinAVR.
VideoCard.rar
(277.35 КБ) 431 скачивание
Вложения
vga.jpg
(98.36 КБ) 5545 скачиваний
dac_map.GIF
(42.9 КБ) 3038 скачиваний
memory_map.GIF
(39.27 КБ) 3355 скачиваний
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Реклама
petrenko
Друг Кота
Сообщения: 5326
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Простая VGA видеокарта

Сообщение petrenko »

..так как эмиттерные повторители срезают младшие биты цвета..
А если попробовать истоковые повторители ? Мож хоть чуток лучше будет ? :roll:
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Реклама
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Простая VGA видеокарта

Сообщение da-nie »

А он сможет на 10 МГц работать? :oops: Хотя, написано, в осциллографы ставят на вход... :idea:
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Простая VGA видеокарта

Сообщение GARMIN »

ЦАП не выдаёт всех 256 цветов, так как эмиттерные повторители срезают младшие биты цвета. Я пока не придумал, как можно в точности передать
Держи ответ:
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Простая VGA видеокарта

Сообщение da-nie »

Спасибо! Но эта схема сделает другую штуку: выше 4.3 В обрежется до 4.3 В. Хотя... Оно ведь и сейчас выше 4.3 не выдаёт. :) Правда, сейчас на входе может быть и 4.6 В и 4.9 и они верно смасштабируются, а с этой схемой они будут притянуты к 5 В и потеряются уже верхние биты. :oops:
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Реклама
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Простая VGA видеокарта

Сообщение GARMIN »

Запитай R-2R через диод с конденсатором.
Реклама
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Простая VGA видеокарта

Сообщение da-nie »

Да это понятно, что можно питание ЦАП'а уменьшить... Точно так же можно и на текущей схеме поднять уровень нуля.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Простая VGA видеокарта

Сообщение GARMIN »

Я думаю, ты хочешь на двух транзисторах сделать rail-to-rail операционник ;)
Уменьшай диапазон напряжений на выходе ЦАПа, делай правильные уровни чёрного, белого и синхросигналов.
Подобное делал в 92 году в цветном выходе для специалиста.
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Простая VGA видеокарта

Сообщение da-nie »

Примерно да. ;) Но вот нет таких схем без ОС. А с ОС частота не та (хотя, думаю, есть решения с ОС и на 100 МГц). Потому и спрашивал, вдруг кто знает что-то эдакое, чтобы 1 в 1 и без ОС и без изменения параметров питания.

Это не к телевизору подключается, поэтому тут уровни все и так в норме (здесь нет подъёма на 0.3 В сигналов цветов, так как синхросигналы идут отдельными линиями). Просто ЦАП работает несколько хуже, чем хотелось бы. Можно, конечно, понизить питание ЦАП'а или поднять его ноль, но было интересно сделать это иначе (а с подъёмом нуля ЦАП я так и сделаю, если буду делать подключение к телевизору, чтобы поднять на 0.3 В относительно синхросигнала).
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Простая VGA видеокарта

Сообщение GARMIN »

Какая нужна амплитуда сигналов RGB? Плясать нужно от этого. И задачи ставить решаемые. Если нужна амплитуда 5V p-p, то питание бери больше 5 вольт.
А то ты сначала просишь дать тебе 5 вольт амплитуды, а потом делишь в три раза делителем на выходе.
Сначала сделай нужную амплитуду 1,5 вольт, а потом ставь повторитель, чё упёрся лбом в стену?
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Простая VGA видеокарта

Сообщение da-nie »

Да я не решаю задачу. Я давно знаю одно решение (поднять уровень земли диодами и всё тут (хотя на ключи пойдёт отрицательное напряжение, но оно невелико); впрочем, про использование p-n-p повторителя на входе я не подумал. :) ). Это не тема о вопросах. Это готовое устройство.
Вопрос был так, между делом, в скобках, вдруг кто знает, как сделать повторитель 1 в 1 без извращений. :) Потому что такой повторитель много где ещё можно применить (это же усилитель мощности с усилением по напряжению равным 1).

Строго говоря, есть ещё вопрос такого же уровня: я видел кучу таймингов развёртки VGA-сигнала, но все они немного отличаются и у всех пишут, что сие есть стандарт. Какая же правильная? Устройство работает и с выбранной мной развёрткой, но это ещё не гарантирует соответствие стандарту VGA.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Простая VGA видеокарта

Сообщение GARMIN »

da-nie писал(а):впрочем, про использование p-n-p повторителя на входе я не подумал.
Хорошо, что чем - то помог.
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Простая VGA видеокарта

Сообщение da-nie »

Да, спасибо вам и petrenko! :) Эти варианты мне в голову не пришли. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Ответить

Вернуться в «Цифровая техника»