Форум РадиоКот 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. Чем ему не понравился сигнал, я пока не понял. Вот как выглядит данная видеокарта: Вот видео, как работает данная видеокарта: 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. Вложение:
|
Автор: | petrenko [ Ср май 21, 2014 18:40:16 ] |
Заголовок сообщения: | Re: Простая VGA видеокарта |
Цитата: ..так как эмиттерные повторители срезают младшие биты цвета.. А если попробовать истоковые повторители ? Мож хоть чуток лучше будет ?
|
Автор: | da-nie [ Ср май 21, 2014 18:45:05 ] |
Заголовок сообщения: | Re: Простая VGA видеокарта |
А он сможет на 10 МГц работать? Хотя, написано, в осциллографы ставят на вход... |
Автор: | da-nie [ Ср май 21, 2014 21:16:43 ] |
Заголовок сообщения: | Re: Простая VGA видеокарта |
Спасибо! Но эта схема сделает другую штуку: выше 4.3 В обрежется до 4.3 В. Хотя... Оно ведь и сейчас выше 4.3 не выдаёт. Правда, сейчас на входе может быть и 4.6 В и 4.9 и они верно смасштабируются, а с этой схемой они будут притянуты к 5 В и потеряются уже верхние биты. |
Автор: | 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/ |