Например TDA7294

Форум РадиоКот :: Просмотр темы - Простая VGA видеокарта
Форум РадиоКот
https://radiokot.ru/forum/

Простая VGA видеокарта
https://radiokot.ru/forum/viewtopic.php?f=2&t=104238
Страница 1 из 1

Автор:  da-nie [ Ср май 21, 2014 18:32:46 ]
Заголовок сообщения:  Простая VGA видеокарта

Наверное, многим будет интересна видеокарта для вывода изображений на компьютерный монитор. Данная видеокарта выдаёт картинку разрешением 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 KiB]
Скачиваний: 397


Вложения:
vga.jpg [98.36 KiB]
Скачиваний: 5247
dac_map.GIF [42.9 KiB]
Скачиваний: 2733
memory_map.GIF [39.27 KiB]
Скачиваний: 3069

Автор:  petrenko [ Ср май 21, 2014 18:40:16 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Цитата:
..так как эмиттерные повторители срезают младшие биты цвета..
А если попробовать истоковые повторители ? Мож хоть чуток лучше будет ? :roll:

Автор:  da-nie [ Ср май 21, 2014 18:45:05 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

А он сможет на 10 МГц работать? :oops: Хотя, написано, в осциллографы ставят на вход... :idea:

Автор:  GARMIN [ Ср май 21, 2014 20:58:06 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Цитата:
ЦАП не выдаёт всех 256 цветов, так как эмиттерные повторители срезают младшие биты цвета. Я пока не придумал, как можно в точности передать

Держи ответ:
Изображение

Автор:  da-nie [ Ср май 21, 2014 21:16:43 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Спасибо! Но эта схема сделает другую штуку: выше 4.3 В обрежется до 4.3 В. Хотя... Оно ведь и сейчас выше 4.3 не выдаёт. :) Правда, сейчас на входе может быть и 4.6 В и 4.9 и они верно смасштабируются, а с этой схемой они будут притянуты к 5 В и потеряются уже верхние биты. :oops:

Автор:  GARMIN [ Чт май 22, 2014 08:21:34 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Запитай R-2R через диод с конденсатором.

Автор:  da-nie [ Чт май 22, 2014 18:45:57 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Да это понятно, что можно питание ЦАП'а уменьшить... Точно так же можно и на текущей схеме поднять уровень нуля.

Автор:  GARMIN [ Чт май 22, 2014 21:07:19 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Я думаю, ты хочешь на двух транзисторах сделать rail-to-rail операционник ;)
Уменьшай диапазон напряжений на выходе ЦАПа, делай правильные уровни чёрного, белого и синхросигналов.
Подобное делал в 92 году в цветном выходе для специалиста.

Автор:  da-nie [ Чт май 22, 2014 21:17:41 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

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

Это не к телевизору подключается, поэтому тут уровни все и так в норме (здесь нет подъёма на 0.3 В сигналов цветов, так как синхросигналы идут отдельными линиями). Просто ЦАП работает несколько хуже, чем хотелось бы. Можно, конечно, понизить питание ЦАП'а или поднять его ноль, но было интересно сделать это иначе (а с подъёмом нуля ЦАП я так и сделаю, если буду делать подключение к телевизору, чтобы поднять на 0.3 В относительно синхросигнала).

Автор:  GARMIN [ Пт май 23, 2014 07:27:33 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Какая нужна амплитуда сигналов RGB? Плясать нужно от этого. И задачи ставить решаемые. Если нужна амплитуда 5V p-p, то питание бери больше 5 вольт.
А то ты сначала просишь дать тебе 5 вольт амплитуды, а потом делишь в три раза делителем на выходе.
Сначала сделай нужную амплитуду 1,5 вольт, а потом ставь повторитель, чё упёрся лбом в стену?

Автор:  da-nie [ Пт май 23, 2014 08:07:19 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

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

Строго говоря, есть ещё вопрос такого же уровня: я видел кучу таймингов развёртки VGA-сигнала, но все они немного отличаются и у всех пишут, что сие есть стандарт. Какая же правильная? Устройство работает и с выбранной мной развёрткой, но это ещё не гарантирует соответствие стандарту VGA.

Автор:  GARMIN [ Пт май 23, 2014 08:53:48 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

da-nie писал(а):
впрочем, про использование p-n-p повторителя на входе я не подумал.

Хорошо, что чем - то помог.

Автор:  da-nie [ Пт май 23, 2014 09:09:06 ]
Заголовок сообщения:  Re: Простая VGA видеокарта

Да, спасибо вам и petrenko! :) Эти варианты мне в голову не пришли. :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/