Видеокарта своими руками: Как сделать GeForce RTX 2080 Ti Super своими руками

Простая самодельная VGA видеокарта / Хабр

Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20.


Вообще говоря, этому проекту сто лет в обед. Но когда-то я обещал рассказать про эту видеокарту и здесь, но всё было лень. Теперь пришло время исполнить обещанное.

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

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

Видеокарта состоит из двух модулей: модуля памяти и модуля ЦАП’а.

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

Схема модуля памяти (открыв в новом окне можно увеличить).

Модуль ЦАП’а состоит из трёх обычных R-2R ЦАП’ов с ключами и выходным эмиттерным повторителем (из-за которого несколько «зарезается» диапазон цветов). Если кто придумает, как дёшево и сердито исправить это «зарезание» — милости прошу в комментарии. На радиокоте мне посоветовали заменить эмиттерный повторитель на истоковый, но я этот совет так и не проверил. Как видно из схемы, я отвёл 3 бита на красный, 3 бита на зелёный и 2 бита на синий цвет. Транзисторы я взял КТ-315. 🙂

Схема ЦАП’а.

Что именно будет отображать видеокарта определяет управляющий контроллер. Его задача — выставлять адрес на шину адреса (A0…A15), выставлять данные на шину данных (D0…D7), выставлять сигналы WR (запись по низкому уровню), OE (разрешение вывода данных при низком уровне) и выставлять сигнал A/B (переключение памяти на работу с управляющим контроллером по низкому уровню). Управляющий контроллер получает от платы памяти сигнал гашения луча (BL), который может быть использован для синхронизации записи в память видеокарты.

Работает такая видеокарта вот так:

Печатные платы и прошивки с их исходниками.

Удачи в развитии проекта!

Видеокарта. Собираем компьютер своими руками

Видеокарта

Для любителей трехмерных игр видеокарта – главное устройство. Именно от нее в 90 % случаев зависит скорость работы в этих приложениях, хотя многие пользователи полагают, что самое важное – процессор.

Видеокарта (рис. 2.29) служит для формирования и вывода на монитор изображения 2D (двухмерного, плоского) и 3D (объемного). От нее зависит качество изображения на экране и скорость воспроизведения графики.

Рис. 2.29. Видеокарта

Особенно критична скорость работы с трехмерной графикой, поскольку все современные игры и графические программы для обработки сложных 3D-объектов используют аппаратные возможности видеокарты.

На производительность графической подсистемы компьютера влияет множество показателей, основными среди которых являются:

• скорость шины данных, по которой передается видеоинформация;

• скорость установленной на видеокарте видеопамяти;

• объем установленной видеопамяти;

• скорость графического процессора и сопроцессора;

• аппаратные технологии работы с 3D-графикой.

На скорость работы видеокарты также влияет центральный процессор, но современные графические адаптеры используют его ресурсы крайне слабо, поскольку имеют собственный, не менее производительный графический процессор.


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

Разрешение выводимого изображения. Разрешение, с которым видеокарта выводит изображение на экран монитора, влияет на качество картинки. Пользователю вряд ли понравится изображение с прорехами.

Разрешение определяется количеством точек (пикселов), одновременно отображающихся на экране. Например, для 15-дюймовых мониторов стандартным считается разрешение 1024 х 768, для 17-дюймовых – 1280 х 1024, для 19-дюймовых – 1600 х 1200 и т. д.

Примечание

Видеокарта способна формировать изображение и более высокого разрешения, однако все зависит от возможностей монитора, которые пока далеки от возможностей видеокарты.

Глубина цвета. Под глубиной цвета подразумевается количество одновременно выводимых цветов: чем их больше, тем реалистичнее изображение.

Глубина цвета может быть любой, однако на практике используются показатели, созданные по конкретной формуле. С помощью 1 бита отображается два цвета – черный и белый, с помощью 2 бит – четыре цвета и т. д. В итоге получается арифметическая зависимость 2n, где n – количество бит.

Сегодня официально принятым считается цвет глубиной 32 бит, который позволяет передавать несколько миллионов оттенков, чего достаточно для вывода фотореалистичных изображений.

Объем видеопамяти. Для обработки видеоданных графическому процессору необходим некоторый объем видеопамяти, где он смог бы хранить их. Это особенно важно при формировании и обработке сложных трехмерных объектов.

Подсчитать затраты памяти, которая расходуется для отображения двухмерной информации, просто: нужно умножить текущее разрешение на глубину цвета, например 1280 х 1024 х 32 = 41 943 040 бит = 5120 Кбайт = 5 Мбайт. Получается немного, если просто смотреть на изображение Рабочего стола или рисовать в редакторе Paint. Однако в играх, где прорисовка даже простого объекта требует несколько мегабайт памяти, ресурсы расходуются быстро. Можно сделать вывод, что чем больше памяти, тем быстрее обрабатывается и выводится на экран графика.

В видеоадаптерах используется динамическая память с произвольным доступом, которая является самой эффективной, поскольку позволяет передавать данные в две стороны за один такт процессора. Современные видеокарты оснащаются памятью DDR, время доступа к которой составляет 0,6–2 нс.

В настоящее время наибольшее распространение получили видеоадаптеры с объемом памяти 256 Мбайт. Любители максимального комфорта покупают видеокарты с объемом памяти 512 Мбайт.

При выборе видеокарты следует в первую очередь обратить внимание на чипсет и объем памяти; если вы планируете разгонять видеокарту, лучше остановиться на моделях с активной системой охлаждения, то есть с вентилятором.

Данный текст является ознакомительным фрагментом.

5.5.2.6. Материнская плата Intel и видеокарта ATI

5.5.2.6. Материнская плата Intel и видеокарта ATI
Если у вас материнская плата от Intel и видеокарта производства ATI, то сразу после установки драйверов откройте терминал и введите следующие команды:sugedit /etc/x11/хorg.confНайдите в конфигурационном файле X.Org строкуDriver «fglrx»и сразу после

1.3.6. Видеокарта

1.3.6. Видеокарта
Видеокарта (видеоадаптер, видеоплата) — это специальное устройство, позволяющее выводить изображение на экран монитора. Монитор подключается именно к видеокарте.Видеокарта состоит из трех основных частей: видеопроцессор, ЦАП (цифро-аналоговый

Видеокарта

Видеокарта
Как известно, большую часть информации об окружающем мире человек получает через органы зрения. При общении с компьютером подавляющее количество информации (текстовой и графической) пользователь также получает визуально, с помощью видеосистемы компьютера.

Видеокарта

Видеокарта
Для любителей трехмерных игр видеокарта – главное устройство. Именно от нее в 90 % случаев зависит скорость работы в этих приложениях, хотя многие пользователи полагают, что самое важное – процессор.Видеокарта (рис. 2.29) служит для формирования и вывода на

Сгорела встроенная видеокарта

Сгорела встроенная видеокарта
На некоторых материнских платах устанавливаются встроенные видеокарты для удешевления всей стоимости компьютера. Иногда (довольно редко) встроенные видеокарты выходят из строя. На некоторых материнских платах есть слот для установки

Видеокарта

Видеокарта
За вывод изображения на экран ноутбука (настольного компьютера тоже) отвечает устройство под названием видеокарта (рис.  3.3). Процессор отправляет ей информацию о том, какое изображение необходимо показать. Видеокарта преобразует данные в вид, понятный

Видеокарта мазохиста

— Введение | PyroElectro

Информация о проекте
Автор: Chris
Сложность: Сложно
Затраченное время: 12 часов

Предпосылки:

  • Совет разработчиков CPLD
  • VHDL VGA
  • Разделочная доска своими руками

Взгляните на приведенные выше
статей, прежде чем продолжить
, чтобы прочитать эту статью.

           Мой друг предложил мне собрать что-нибудь для соревнований по дискретной логике 74xx TTL на опасной
прототипы, поэтому я подумал, почему бы и нет? Если вам нравится этот дизайн, не забудьте оставить комментарий на их веб-сайте для моей заявки на участие в конкурсе.
           Видеокарта мазохиста представляет собой чисто TTL дискретную логическую схему, которая генерирует необходимые видеосигналы для
VGA. Название проекта появилось после того, как часы, которые я провел, обматывая проект вместе, привели к болезненным кончикам пальцев. Так что будьте предупреждены, если вы дублируете это
проект, не злоупотребляйте инструментом для намотки проволоки!


Видеокарта мазохиста — обзор видео

Видеокарта мазохиста — окончательная настройка

Видеокарта мазохиста — доска крупным планом

Цель и обзор этого проекта
           Целью этого проекта является создание системы, которая выполняет три функции:

  • [1] Генерация импульсов горизонтальной синхронизации VGA
  • [2] Генерация импульсов вертикальной синхронизации VGA
  • [3] Генерация импульсов красного/зеленого/синего цвета VGA

Импульсы вертикальной и горизонтальной синхронизации должны генерироваться с использованием одного или нескольких двоичных счетчиков со входом от кварцевого генератора для часов. Штат
машина будет иметь 8 цветов, встроенных в буферы, так что каждое состояние отображает правильные цветовые импульсы для уникального вывода состояния.
           Счетчики, которые мы будем использовать для генерации импульсов Hsync и Vsync, будут 74-193 4-битными двоичными счетчиками. Ворота NAND с 8 входами, 74-30 и некоторые
hex-inverters, 74-04, будут использоваться для захвата уникальных значений счетчика. Каждое значение будет иметь уникальную функцию, например,
запуск hsync для начала или окончания или очистка значений счетчика.

Как создать графическую карту FPGA

Самодельная CPLD Загрузка графической карты DQYDJ

Недавно я закончил первую рабочую версию моей графической карты VGA, которую я собрал с использованием 144 макроэлементов CPLD*. Он способен управлять 640×480, 8-битный цвет Разрешение на большинстве мониторов, которые принимают вход VGA, практически на всех мониторах, имеющих выход SPI.

Я расскажу вам, что нужно для создания графической карты FPGA с VHDL (или CPLD , как я) — следуйте дальше!

Видеокарта с программируемой логикой

Хотел рассказать о проекте (и поделиться информацией, кодом и инструкциями по сборке для себя!). Пригодный для использования продукт готов и доступен для создания, программирования и улучшения:

  • Оборудование, разработанное и собрано
  • . Прошивка для UC и CPLD Письменные и работающие
  • Пользовательские драйверы.

Для нетерпеливых:

  • Скачать весь мой код, прошивку и оборудование
  • Прочитать подробный журнал моего процесса принятия решений и инженерных решений для Hackaday Prize 2014
  • Следите за подробными журналами проекта для второй версии для Hackaday Prize 2015
*(пожалуйста, не обращайте внимания на 10-месячный перерыв в обновлениях — потребовалось некоторое время, чтобы мотивация вернулась!)

Технические подробности для графики CPLD Карта

Эта версия проекта имеет следующие технические характеристики:

  • 640×480 @ 60 Гц Стандартный режим VGA
  • 8-битный цвет (RGB332 или 8 оттенков красного, 8 оттенков зеленого, 4 оттенка синего, всего 256 цветов)
  • Подключается к SPI (последовательному периферийному интерфейсу)
    • Вход 5В, 3,3В или 2,5В
  • Поддержка SPI до 59,5 МГц снижается производительность (наихудшее предположение: весь экран требует обновления каждый раз, что крайне маловероятно):

    • Минимум 25 кадров в секунду через SPI при частоте 62,5 МГц в худшем случае.

    В драйвере RPi2 я установил FPS на 25 и скорость SPI на 62,5 МГц, и, к счастью, это не перегружает какое-либо оборудование. Кроме того, 25 кадров в секунду могут показаться низкими, но это вполне приемлемо даже для некоторых игр… что вы можете увидеть ниже на видео.

    Вам , возможно, не следует участвовать ни в каких турнирах.

    Что может управлять этой видеокартой CPLD?

    Технически все, что имеет выход SPI (или даже GPIO, которые вы будете программировать — см. мою заметку об Intel Edison ниже).

    Первоначальный выпуск включает код для Raspberry Pi 2 Model B с SoC Broadcom BCM2836. У меня нет оригинального Raspberry Pi с SoC BCM2835, но я полагаю, что они в значительной степени похожи и могут работать (и на самом деле могут уже работать — надеюсь, кто-нибудь сообщит мне или пришлет один для тестирования?).

    Официальный первый релиз

    Хотите более подробную демонстрацию? Здесь работает Doom на Pi 2:

    Этот первый релиз будет только для Raspberry Pi 2 Model B.

    ( Редактор: После публикации этой статьи я успешно наладил работу графической карты FPGA с Intel Edison, насыщая канал SPI 25 МГц. Вот запись на Hackaday.io: https://hackaday.io/project /7025-a-vga-display-for-the-intel-edison . Насколько я знаю, я был первым, кто построил стандартный графический интерфейс на Edison.)

    У меня также есть драйвер для Odroid C1.

    Не стесняйтесь сами писать драйвера для других плат; протокол подробно описан в ссылках, и обычно он занимает около 30 строк кода.

    Приобретение/создание VGATonic

    Все материалы, необходимые для самостоятельного создания VGAtonic, можно найти на Github. Все части? Магазин вокруг; вот БОМ.

    Если у вас есть отличные навыки пайки, вы, вероятно, можете сделать один примерно за 24 доллара (меньше, если у вас есть больше деталей).

    • Приобретение печатных плат и сборка оборудования (ссылка на схему, герберы, спецификацию и т. д.)
    • Прошивка CPLD с кодом видеодрайвера
    • Прошивка микроконтроллера с кодом для перепрограммирования модуля часов
    • Следуйте инструкциям на Github, чтобы построить модуль ядра
    • загрузить модули
    • Делайте все, что вы обычно делаете с фреймбуфером. У Нотро есть несколько хороших идей.

    Примечание о дихотомии графических карт CPLD/FPGA

    VGATonic — это графическая карта CPLD , в основном из-за того, что я хотел поместить всю логику в ограниченную часть.

    Графическая карта FPGA будет иметь гораздо больше ресурсов и встроенных ресурсов, таких как PLL, так что вы сможете продвинуть этот проект намного дальше!

    Другие инженерные проекты

    Не стесняйтесь подписываться, но DQYDJ в основном финансовый сайт. Однако у меня есть куча проектов, которые я завершил, и некоторые из них оказались в сети. Вот некоторые примечательные из них:

    • 640x480x8 цветов от Arduino — Хак (и право хвастаться, или что-то в этом роде)
    • Как удвоить тактовую частоту с помощью цифровой логики (и как разделить) — Документирование хака. Не делайте этого на работе; использовать ПЛЛ.
    • Контроллер FFT Christmas Light в реальном времени на Arduino — потому что обработка в реальном времени возможна, если вы сделаете расчеты заранее!

    Программное обеспечение, с другой стороны, повсюду на этом сайте. Попробуйте нашу страницу калькуляторов и визуализаций, чтобы узнать больше.

    Спасибо

    • Премия Hackaday 2014 (за мотивацию моего первоначального проекта)
    • Премия Hackaday 2015 (за мотивацию продолжения)
    • Matt Porter, Neil Greatorex, Kamal Mostafa и notro за всю их потрясающую работу над буферами кадра SPI и отложенный ввод-вывод. Я смог использовать:
      • http://engineersofthecorn.blogspot.com/2012/06/beaglebone-and-adafruit-18-spi-lcd.html
      • https://github.com/ngreatorex/st7735fb
      • https://github.com/kamalmostafa/raspberrypi-linux
      • https://github.com/notro/fbtft

    И спасибо за некоторые из предшествующего уровня техники и инструкций:

    • 320×240 x 64 цветов VGA на CPLD, Ульрих Радиг
    • 900×104 322 цветов Композит на CPLD, ‘elm’

    • 640×360 x 65 536 цветов Пользовательский ЖК-дисплей на FPGA, Энди Браун
    • Все учебные пособия по VHDL от Hamster

    Дайте нам знать, если вы создадите CPLD.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *