Integrated ramdac что это
Перейти к содержимому

Integrated ramdac что это

  • автор:

RAMDAC — RAMDAC

Память с произвольным доступом цифро-аналоговый преобразователь ( RAMDAC ) представляет собой комбинацию из трех быстро цифро-аналоговых преобразователей (ЦАП) с небольшой памятью с произвольным доступом статической (SRAM) , используемой в компьютерной графике отображения контроллеров или видеокарт в сохранять цветовую палитру и генерировать аналоговые сигналы (обычно амплитуду напряжения) для управления цветным монитором . Логический номер цвета из памяти дисплея подается на адресные входы SRAM, чтобы выбрать запись палитры, которая будет отображаться на выходе данных SRAM. Эта запись состоит из трех отдельных значений, соответствующих трем компонентам (красный, зеленый и синий) желаемого физического цвета. Значение каждого компонента подается на отдельный ЦАП, аналоговый выход которого идет на монитор и, в конечном итоге, на одну из трех его электронных пушек (или эквивалент в дисплеях без ЭЛТ ).

По мере того, как использование DVI , HDMI , DisplayPort и других технологий цифрового интерфейса становится все более распространенным явлением, ЦАП- часть RAMDAC, вероятно, устареет. Видеоданные передаются в цифровом виде через дифференциальную сигнализацию с минимальным переходом (TMDS) или низковольтную дифференциальную сигнализацию (LVDS), и цифро-аналоговое преобразование не происходит до тех пор, пока не задействуются фактические пиксели дисплея.

Размер каждого ЦАП RAMDAC составляет от 6 до 10 бит . Длина слова SRAM должна быть как минимум в три раза больше, чем размер каждого DAC. SRAM действует как таблица поиска цвета (CLUT). Обычно он имеет 256 записей (и, следовательно, 8-битный адрес). Если длина слова ЦАП также составляет 8 бит, у нас есть SRAM 256 × 24 бита, что позволяет выбрать 256 из 16 777 216 (16,7 миллиона) возможных цветов для дисплея. Содержимое этой SRAM может быть изменено, когда не требуется генерировать пиксель для передачи на дисплей. Синхронизации импульсов требуется для поддержания вертикальной устойчивости изображения. Следовательно, для каждого кадра генерируется вертикальный импульс гашения . Этот импульс вертикального гашения не отображается на дисплее, и пиксели не отправляются. Таким образом, Ц / А находится в режиме ожидания и может позволить пользователю изменять поисковую таблицу цветов SRAM.

SRAM обычно можно обойти, а в ЦАП можно подавать цвет напрямую с помощью данных дисплея для режимов True Color . Фактически, это стало обычным режимом работы RAMDAC с середины 1990-х, поэтому программируемая палитра в основном сохраняется только как унаследованная функция для обеспечения совместимости со старым программным обеспечением. Во многих новых видеокартах RAMDAC может работать намного быстрее в режимах True Color, когда используется только часть ЦАП без SRAM.

Чтобы быстро оценить часы пикселей для заданного вывода, вы можете сделать:

Пикселей, по горизонтали, на строку × строк, по вертикали, на дисплей × 1,4 (коэффициент при любом гашении) × скорость обновления дисплея (частота обновления)

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

По состоянию на 2006 год ЦАП современной видеокарты работает с тактовой частотой 400 МГц . Однако видеокарты на базе XGI Volari XP10 работают с ЦАП 420 МГц. Наивысшая задокументированная частота ЦАП, когда-либо достигнутая на серийных видеокартах для платформы ПК, составляет 550 МГц, установленная BarcoMed 5MP2 Aura 76 Гц от Barco .

История

Термин RAMDAC не входил в общую терминологию ПК до тех пор, пока IBM не представила адаптер дисплея IBM VGA в 1987 году. В адаптере IBM VGA использовался INMOS G171 RAMDAC. INMOS VGA RAMDAC представлял собой отдельный чип с 256-цветным (8-битным CLUT) дисплеем из палитры 262 144 возможных значения и поддерживаемая скорость пикселей примерно до 30 Мпикс / с.

Поскольку производители клонов копировали оборудование IBM VGA, они также копировали INMOS VGA RAMDAC. Достижения в производстве полупроводников и вычислительной мощности ПК позволили RAMDAC добавить операцию прямого управления цветом , которая представляет собой режим работы, который позволяет SVGA- контроллеру передавать значение цвета пикселя непосредственно на входы DAC, тем самым минуя поиск в ОЗУ. стол. Еще одним нововведением был CEGDAC от Edsun, в котором реализовано аппаратное пространственное сглаживание для операций рисования линий / векторов.

К началу 1990-х годов индустрия микросхем ПК достигла точки, когда RAMDAC были интегрированы в микросхему контроллера дисплея, что уменьшило количество дискретных микросхем и стоимость видеокарт. Следовательно, рынок автономных RAMDAC исчез. Сегодня RAMDAC все еще производятся и продаются для нишевых приложений, но явно в ограниченном количестве.

В современных ПК RAMDAC интегрированы в микросхему контроллера дисплея, которая сама может быть установлена ​​на дополнительной плате или интегрирована в набор микросхем основной логики материнской платы. Первоначальная цель RAMDAC, обеспечение режима отображения на основе CLUT , используется редко, будучи вытесненной режимами отображения True Color. Однако многие приложения САПР и редактирования видео используют аппаратное наложение в сочетании с программируемой палитрой, чтобы пользовательский интерфейс не нарушал рендеринг окна редактирования.

Интеграция собственных шрифтов в ПЗУ VGA-карты

История об изысканиях возможных путей использования в видеокарте собственных шрифтов, которая увенчалась их полной интеграцией в ПЗУ VGA. На этом пути рассматривались различные варианты, возникали определенные сложности, но в конечном итоге старое доброе отображение шрифта было получено!

Предыстория

Когда-то давно у меня была видеокарта ISA VGA Chips and Technologies, в которой использовался приятный шрифт. Позднее мне довелось владеть еще одной интересной картой ATI EGA с красивым шрифтом. И сейчас у меня установлена ATI VGA Wonder 16 тоже с весьма привлекательным шрифтом. Суть в том, что все названные ISA-видеокарты очень медленные.

Первые две я продал, а последнюю все же решил оставить. Время от времени я ностальгирую по экземпляру от Chips and Technologies. Я так и не понял, почему ПК всякий раз выдавал звуковой сигнал ошибки VGA, хотя работала карта при этом отлично.

Ну да ладно, вернемся к современности. Для моих изысканий в области разработки самодельных систем необходима быстрая ISA-видеокарта. Исходя из этих соображений, я купил новую (!) залежавшуюся (и при том дорогую) Tseng Labs ET4000/W32i с 2Мб ОЗУ у парня по имени Тед Аллен, владельца Micro-Labs Inc. в США. Работает эта карточка идеально. Я без проблем могу запускать игры под MS-DOS, включая Quake в разрешении 320х200.

И все же, поскольку я до сих пор много программирую в MS-DOS, мне зачастую недостает шрифтов тех видеокарт, на которых я учился писать код. В купленной же мной карте Tseng Labs используется монотонный (считай квази-скучный) современный типовой шрифт из ПЗУ. Он не столь плох, как шрифты PCI-видеокарт, но все же.

Вступление

Шрифты в ПЗУ VGA не так уж легко заменить. Однако есть быстрый способ, который позволяет загружать собственный шрифт в ОЗУ VGA. Это делается с помощью небольшой резидентной программы, которая обеспечивает использование видеокартой заданного шрифта. Но по какой-то причине после запуска нескольких программ MS-DOS, устанавливающих собственные шрифты (например, HWiNFO, NSSI, NU), или программ графического режима резидентная утилита дает сбой, и карта возвращается к исходному шрифту из ПЗУ. Кроме того, она занимает 4096 байтов ОЗУ под данные шрифта и еще 368 байтов под программный код.

Чтобы решить эту условную проблему с памятью, я поместил резидентную программу в AUTOEXEC.BAT . Теперь эти 4.3Кб загружаются в свободный блок верхней области памяти (UMA). Для этого также должен быть загружен EMM386.EXE или аналогичный драйвер расширенной памяти.

Программное обеспечение

Но как же я создал свой собственный шрифт? Что ж, сначала я использовал FONTEDIT.COM . К сожалению, эта программа может генерировать лишь .COM файлы без возможностей резидентной программы. Может, я просто не знаю, как это делается? Еще одна проблема в том, что размер исполняемой программы получается около 8Кб.

Тогда-то я и нашел в интернете новую интересную утилиту Fontraption, написанную VileR. Он создал настолько грамотный продукт, что я оценил его уже сразу после загрузки.

Плохо лишь то, что Fontraption при отрисовке моей Tseng Labs ET4000/w32i выглядит как-то странновато. Окно редактирования шрифта вроде в порядке, но было бы лучше, если бы весь интерфейс прорисовывался также четко.

Очевидно, что VileR создавал эту программу с удовольствием. Он даже внедрил в нее техники управления палитрой, добавив таким образом комбинации цветов, которые по умолчанию на VGA-картах недоступны. Лично у меня с этой темой ассоциируются далекие воспоминания. Это был где-то 1997 год, когда я работал на 80286 ПК, подключенном к янтарно-монохромному ЭЛТ-монитору Tandon. Он был очень похож на газоразрядный дисплей, который, в свою очередь, походил на созданную VileR палитру Plasmatics.

Дополнено позднее: VileR нашел способ исправить баг и отправил мне обновленную версию Fontraption. Теперь она работает прекрасно, верно загружая шрифты из ПЗУ VGA. Исправление оказалось простым, но сама суть проблемы весьма интересна. Как сказал VileR:

И вот теперь я думаю, что именно хотели преодолеть те программисты BIOS с помощью этой странной операции AND в нижней части регистра BX . Должна быть какая-то причина, но вскроется она наверняка нескоро.

Ну да хватит лишних слов, продолжим.

Таким образом, я приступил к разработке шрифта моей мечты. Кому-то он покажется красивым, кому-то, наоборот, страшным. Но мне он очень нравится. Это первый вариант шрифта, и я доволен. Еще многое предстоит проделать. Я проделал над этими шрифтами много работы, и теперь они вполне готовы к использованию. В основу моего дизайна лег оригинальный шрифт, который я извлек из ПЗУ ET4000/W32i. После я усердно старался вспомнить, как же именно выглядели старые шрифты, и опирался при этом на образец из ПЗУ ATI VGA Wonder 16.

Я экспортировал этот шрифт в виде исполняемой резидентной программы и радостно использовал его около года. Несколько же дней назад, работая над собственной реализацией ПЗУ BIOS для интерфейса ввода/вывода ISA, я подумал о включении этого шрифта в реальный код VGA BIOS. Это, конечно, может быть опасной и безумной затеей, но вполне выполнимой.

Для ее реализации я экспортировал сырой шрифт в двоичный файл с помощью команды Fontraption [^S]ave. F2 . Отлично, наличие Fontraption фактически избавило меня от необходимости писать собственный инструмент для извлечения и управления шрифтом из ПЗУ.

Итак, я начал анализировать VGA BIOS своей Tseng Labs, для чего мне понадобился дамп ПЗУ-памяти. Не так давно я написал небольшую утилиту, способную считывать содержимое ПЗУ, код которой вместе с двоичным файлом загрузил на GitHub.

Изначально я создавал эту программу под использование с EEPROM 28C64B на моем интерфейсе ISA, но единственное существенное отличие здесь в наличии кода защиты от записи (SDP). Используется же он только для задач, связанных с записью EEPROM. В реальности эта программа может считывать любую ПЗУ, отображенную в ПК, при условии, что известен адрес отображения, и ее размер не превышает 32768 байтов.

Для получения ПЗУ VGA BIOS я использовал эту команду:

Она считывает 32768 байтов (8000 в hex-системе) из адреса, обозначенного сегментом C000: 0000 , в двоичный файл VGAROM.BIN .

После я написал еще один быстрый и грубоватый инструмент, сканирующий файл VGAROM.BIN в поиске стартовой точки размещения шрифта 8 x 16 в ПЗУ. В памяти Tseng Labs этот шрифт начинается в смещении 17984 (461C в hex-системе). На данный момент я не знаю, является ли это смещение стандартным для шрифта 8 х 16, хотя, меня это не особо волнует, так как моя цель заменить исходный шрифт из ПЗУ на собственный.

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

Новый шрифт в ПЗУ VGA BIOS я вшил с помощью этой команды:

Она записывает 4096 байтов (1000 в hex-системе) данных шрифта из AG868X16.BIN в заданное смещение (461С в hex-системе) файла VGAROM.BIN .

Аналогичные операции я проделал для всех размеров шрифтов и всех смещений, где эти шрифты могут находиться:

  • [12015 (2EEF)] данные шрифта 8 x 14 размером 3584 байтов;
  • [15900 (3E1C)] данные шрифта 8 x 8 размером 2048 байтов;
  • [17948 (461C)] данные шрифта 8 x 16 размером 4096 байтов.

Теперь пора писать еще одну программу. Так, стоп… У меня уже есть такая, которая генерирует 8-битные контрольные суммы ПЗУ. Писал я ее для Windows, но она вполне подойдет, так как для программирования микросхем я все равно использую именно эту ОС. Данная программа также загружена на GitHub.

Вычисление и обновление ПЗУ VGA BIOS я делал с помощью этой команды:

Она вычисляет 8-битную контрольную сумму всех данных ПЗУ и соответствующим образом обновляет последний байт. Более того, дополнительный параметр -O сообщает программе, что файл нужно проверять как дополнительную ПЗУ.

Дополнено позднее: я добавил функции вычисления контрольной суммы и обновления непосредственно в программу ROM Font Replacer.

Это означает, что теперь команда, которую я мог использовать для вложения нового шрифта в ПЗУ VGA BIOS и вычисления -> обновления 8-битной контрольной суммы, выглядит так:

Такая возможность все ускоряет и позволяет пропускать промежуточный шаг использования программы ROM Checksum Calculator.

Теперь файл ПЗУ BIOS видеокарты Tseng Labs ET4000/W32i содержит мой собственный излюбленный шрифт 8 х 16 в качестве основного для всех текстовых режимов. На этом программная часть заканчивается и можно переходить к аппаратной.

Реверс инжиниринг ПЗУ VGA BIOS

В первую очередь мы займемся реверс-инжинирингом. Но почему? Потому что, если карта установлена в режим 03h , то она автоматически заменяет несколько выбранных глифов на кастомные, которые расположены после 4096 байтов данных шрифта 8 х 16. Не уверен, какая логика стоит за этим, но решение это очень интересно. Странность в том, что если переключить карту в режим 11h или 12h , то шрифт 8 х 16 используется корректно, и никакие глифы не заменяются.

Эту тайну быстро раскрыл мистер VileR. Я начал с ним беседу по поводу проблемы с отрисовкой Fontraption и попутно рассказал о глифах. Он сказал, что это альтернативные глифы шрифта для режимов 9 х 16. Я знал о них еще в 90-х, но мне было неизвестно, где и как они хранятся в ПЗУ.

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

Поэтому я дополнительно создал расширенные варианты шрифтов 9 х 14 и 9 х 16, после чего написал еще одну программу, которая выделяет эти расширенные глифы из массива данных шрифтов и записывает их в отдельные файлы в формате, ожидаемом процедурами отрисовки ПЗУ VGA ROM. Затем я совместил эти файлы с измененной ПЗУ VGA ROM и повторно вычислил байт контрольной суммы.

Структура всей области данных шрифтов ПЗУ VGA видеокарты Tseng Labs ET4000/W32i такова:

  • [12015 (2EEF)] данные шрифта 8 x 14 размером 3584 байтов;
  • [15599 (3CEF)] альтернативные данные шрифта 9 x 14 (19 глифов) размером 300 байтов;
  • [15899 (3E1B)] нулевой байт (0);
  • [15900 (3E1C)] данные шрифта 8 x 8 размером 2048 байтов;
  • [17948 (461C)] данные шрифта 8 x 16 размером 4096 байтов;
  • [22044 (561C)] альтернативные данные шрифта 8 x 16 (18 глифов) размером 323 байта;
  • [22367 (575F)] нулевой байт (0).

Я закончил изменение обоих пакетных файлов MS-DOS, которые использовал для тестирования, и теперь они записывают все данные шрифтов последовательно в файл VGAROM.BIN . Ниже приведено исполняемое содержимое этого файла, который также вычисляет и обновляет 8-битную контрольную сумму.

Теперь у меня есть полноценный файл ПЗУ VGA BIOS со всеми новыми шрифтами и их альтернативными представлениями.

Работа с платой

Ниже вы видите мою Tseng Labs ET4000/W32i от Micro Labs. Мне очень нравится ее компоновка. Помню, что спрашивал Теда, какую программу CAD он использовал, но его ответ уже позабыл. Было бы здорово задокументировать и это тоже для истории.

В данной видеокарте использован неизвестный тип EEPROM. Неизвестный, потому что на ней наклеен красивый фиолетовый лейбл с надписью Made in America, который я не хочу ни сдирать, ни портить. В итоге узнать тип установленной EEPROM не получается. Однако шелкография на печатной плате гласит, что это 27C256. Вообще-то, я бы итак мог поспорить, что установлена именно 27C256 (или совместимая), потому что большинство, если не все, VGA-карты оснащались ПЗУ на 32Кб.

Время знакомиться с видеокартой подробнее. Кроватка ПЗУ здесь одна из самых дешевых. Так как произведена карта в США, я бы ожидал, что Micro Labs используют Mill-Max или нечто подобное. Но они все же пошли по пути снижения стоимости, как это было свойственно производственным компаниям в то время. Тем не менее под кроваткой мы видим надпись: PCB MADE IN HONG KONG.

Ага! У США были (и еще есть) отличные предприятия по производству печатных плат. Но их услуги выливаются в приличную копеечку, которая в итоге отражается на стоимости конечного продукта. Как ни крути, а в конце-концов все производственные расходы оплачивает именно покупатель. Плата сделана добротно – не лучше и не хуже большинства компьютерных плат начала 90-х. Однако она явно не сравнится по качеству с платой моей ATI VGA Wonder 16.

За генерацию тактовых частот карты отвечает интегральная схема CHRONTEL CH9294. Такие до сих пор можно приобрести на различных сайтах. В качестве RAMDAC* использована AT&T ATT20C490-80. Эта деталь тоже вполне доступна онлайн, как и микросхема ET4000/W32i. Тут я даже призадумался: «А не собрать ли мне собственную VGA-карту?» У меня все еще имеется каталог спецификаций Tseng Labs, и этот VGA-контроллер вместе с образцом схемы подробно в нем описан. Я бы даже мог улучшить дизайн, использовав современную более дешевую и доступную память. Но это уже отдельная тема, и пока она остается лишь пищей для размышлений.

*RAMDAC (сокр. от Random Access Memory Digital-to-Analog Converter) – это часть компьютерной видеокарты, которая преобразует цифровые данные в аналоговый сигнал, отображаемый на мониторе компьютера.

Память представлена 16 микросхемами NN51425P производства NPNX, Япония. Честно, я ранее не слышал ни об этой компании, ни о подобных микросхемах памяти. В моем экземпляре карты один из модулей, а именно U12, не соответствует остальным и рассчитан не на 45 нс, а на 50.

Далее я демонтирую кроватку микросхемы ПЗУ VGA BIOS. Эта операция не для трепетных сердец, но мне уже доводилось проделывать такую на других компьютерных платах. Я планирую использовать качественную кроватку Mill-Max класса AUGAT. Это упростит дальнейшее экспериментирование с различными микросхемами ПЗУ VGA BIOS.

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

Далее я запрограммирую микросхему EPROM 27C256-15 от Texas Instruments, допускающую стирание с помощью УФ. Для этих целей я использую универсальный программатор TL866II Plus, который мне очень полюбился. Поначалу после его покупки меня терзали некоторые сомнения, но после они полностью развеялись. Единственная сложность теперь – это стирание EPROM. УФ-лампы у меня под рукой нет, но можно сымпровизировать, разбив стекло ртутной газоразрядной лампы на 250Вт.


Старая ПЗУ и новая EPROM

Эта ртутная лампа является мощным источником УФ-излучения. И поскольку у меня нет электронного балласта 250Вт, то в качестве его альтернативы я использую три вольфрамовых лампы накаливания (две по 75Вт и одну на 100Вт), соединив их последовательно с ртутной.

Очевидные рекомендации:

  • Никогда не смотреть на источник УФ-излучения, так как это может вызвать необратимую слепоту.
  • Разбивание стеклянной колбы также очень опасно, поскольку пары ртути чрезвычайно вредны для дыхательной системы.
  • Работа с оголенными внутренностями ртутной лампы представляет высокий риск поражения током и тем самым угрозу для жизни.

С этим импровизированным устройством я оперирую вне дома, так как УФ-излучение ионизирует воздух, производя озон. На улице я размещаю схему EPROM под ртутной лампой при отключенном питании. После этого удаленно подаю напряжение, находясь в нескольких метрах от места. Никогда нельзя исключать возможный риск взрыва ртутной лампы. С момента подачи питания я отсчитываю пять минут и выключаю устройство. Затем тестирую EPROM, определяя, все ли байты перешли в состояние FF . Если стирание произошло не полностью, я облучаю ее еще минуту и повторяю тест. Подобные одноминутные циклы я повторяю до тех пор, пока память не будет полностью стерта. Обычно мне удается добиться этого за 7-8 минут.

Дополнение: ночное сжигание битов с байтами. На меня нахлынула волна энтузиазма, и я увлекся стиранием еще нескольких EPROM, подготовив их к новому микрокоду. Все фото, где наблюдается УФ-излучение, сделаны удаленно при помощи автосъемки.

Отлично, EPROM очищена. Все биты установлены на 1 (иначе говоря, все байты в hex-системе сейчас выражены как FF ). Микросхему я запрограммировал обновленным файлом ПЗУ. Кроватка на месте, и EPROM встает в него впритирку.

Время проверять карту. Ниже вы видите полученный результат. Большую часть времени я провожу в DOS-навигаторе и IDE Pascal, поэтому вполне естественно, что мне нравится, когда экран выглядит именно так.

Я уже и забыл, какая это морока фотографировать ЭЛТ-дисплеи… Очень уж сложно не поймать линию развертки электронного луча где-нибудь в середине экрана.

Теперь все работает отлично. Никаких больше сбросов шрифтов после запуска HWiNFO. Да и вообще изображение мне очень нравится, так что на этом данный опыт можно завершать.

RAMDAC и TMDS

Графический процессор, получив информацию об изображении из видеопамяти, обрабатывает ее и передает либо в цифро-аналоговый преобразователь (RAMDAC) для вывода на аналоговый монитор, либо в микросхему формирования цифрового сигнала TMDS для вывода на цифровой монитор. Аппаратная структура RAMDAC практически описана в его названии, где RAM — это Random Access Memory (память с произвольной выборкой), а DAC — Digital to Analog Converter (цифро-аналоговый преобразователь). Память в модулях RAMDAC построена на статических элементах, поэтому по быстродействию примерно соответствует кэш-памяти процессоров.

Сегодня стандартным считается RAMDAC, обеспечивающий разрешение не менее 1600×1200 точек при 32-битном цвете на частоте 85 Гц и более. Качество получаемого изображения в решающей степени зависит от таких характеристик RAMDAC, как его частота, разрядность, время переключения сигналов. Частота RAMDAC говорит о том, какое максимальное разрешение при какой частоте кадровой развертки сможет поддерживать видеоадаптер. Например, при разрешении 1024×768 точек и частоте кадровой развертки 70 Гц выводить единичный пиксел (с учетом времени на обратный ход луча по горизонтали и вертикали) необходимо примерно за 13 не. Следовательно, в этом режиме RAMDAC должен поддерживать собственную частоту около 75 МГц. Современными можно считать RAMDAC с частотой не ниже 170 МГц.

Разрядность RAMDAC говорит о том, какое количество цветов способен воспроизвести видеоадаптер. Большинство микросхем поддерживает представление 8 бит на каждый канал цвета, что обеспечивает отображение около 16,7 миллиона цветов. За счет гамма-коррекции исходное цветовое пространство расширяется еще больше. В последнее время появились RAMDAC с разрядностью 10 бит по каждому каналу.

Многие современные видеокарты поддерживают одновременную работу с двумя мониторами, поэтому в такие карты устанавливают по два RAMDAC и/или TMDS. В подавляющем большинстве видеокарт имеется также выход на телевизор (TV-Out), позволяющий просматривать мультимедийные программы или фильмы на телевизионном экране. Телевизионный сигнал формируется отдельной специализированной микросхемой.

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

Integrated ramdac что это

Цифро-аналоговый преобразователь

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

Применение

ЦАП применяется всегда в телекоммуникационных системах и системах управления. Например:

  • В системах воспроизведения аудио;
  • В дисплеях;
  • Формирование информационного сигнала для смесителей и управляемых генераторов;
  • В системах управлением двигателем;
  • В системах прямого цифрового синтеза (DDS — Direct Digital Synthesizer);

Характеристики

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

Общие

    . Определяет количество уровней аналогового сигнала, которое может воспроизводить ЦАП. Для N разрядного ЦАП число уровней аналогового сигнала равно 2 N (включая значение для нулевого кода);
  • Напряжение питания;

Статические характеристики:

  • Статическая характеристика преобразования — это зависимости значения выходного сигнала ЦАП от значения входного кода;
  • Статическая нелинейность. Для описания статической нелинейности используют две величины: дифференциальная нелинейность (DNL) и интегральная нелинейность (INL); . Одна из важнейших характеристик ЦАП, которая говорит о том, что при увеличении кода значение аналогового сигнала также увеличивается. Унарная архитектура гарантирует монотонность. Для бинарной архитектуры монотонность не гарантируется;
  • Смещение нуля;
  • Ошибка усиления;

Динамические характеристики:

  • Быстродействие. Определяется как максимальная частота, с которой можно изменять код на входе ЦАП, получая при этом корректный результат на его выходе. Измеряется в «выборок/с» или в герцах. Может именоваться как частота дискретизации или максимальная частота смены входного кода; (отношение сигнал/шум). Считается как отношение мощности восстанавливаемого гармонического сигнала к сумме мощностей всех остальных гармоник в спектре выходного сигнала, кроме кратных, и выражается в децибелах; (динамический диапазон, свободный от паразитных составляющих). Считается как отношение амплитуды восстанавливаемого гармонического сигнала к амплитуде наибольшей гармоники в спектре выходного сигнала, также выражается в децибелах. Эту характеристику так же ещё называют «динамической линейностью».
  • Потребляемая мощность;

Последовательные ЦАП

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

  • Широтно-импульсный модулятор — простейший тип ЦАП. Стабильный источник тока или напряжения периодически включается на время, пропорциональное преобразуемому цифровому коду, далее полученная импульсная последовательность фильтруется аналоговым фильтром нижних частот. Такой способ часто используется для управления скоростью электромоторов, а также становится популярным в Hi-Fi-аудиотехнике;
  • Циклический ЦАП (cyclic DAC);
  • Конвейерный ЦАП (pipeline DAC);

Звуковой ЦАП обычно получает на вход цифровой сигнал в импульсно-кодовой модуляции (англ. PCM, pulse-code modulation ). Задача преобразования различных сжатых форматов в PCM выполняется соответствующими кодеками.

Параллельные ЦАП

Архитектуры

Архитектура ЦАП — это способ формирования выходного сигнала на функциональном уровне. Иначе говоря, это описание того, на сумму из каких чисел будет раскладываться значение выходного сигнала. Выходной сигнал формируется с помощью взвешивающих элементов, каждый из которых отвечает за свою «порцию» выходного аналогового сигнала. Различают следующие архитектуры по набору значений взвешивающих элементов:

  • Бинарная архитектура;

Соотношение двух соседних взвешивающих элементов равно 2. То есть выходной сигнал формируется так же, как это происходит в двоичной системе счисления. Соответственно, веса элементов, формирующих выходной сигнал, в нормированном виде, будут равны 1, 2, 4, 8, 16 и т. д. Управление взвешивающими элементами осуществляется бинарным кодом.

  • Унарная архитектура;

Соотношение двух соседних взвешивающих элементов равно 1. То есть выходной сигнал формируется так же, как это происходит в унарной системе счисления. Соответственно, веса всех элементов, в нормированном виде, равны 1. Управление осуществляется унарным или унитарным кодом.

  • Архитектура Фибоначчи;

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

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

Типы взвешивающих элементов и способы формирования веса

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

  • Конденсаторы. Данный тип взвешивающих элементов в случае применения в бинарной архитектуре может либо иметь номиналы, отличающиеся у соседних элементов в 2 раза, либо иметь номиналы 1 и 2 и формировать лестничную цепь C-2C.
  • Резисторы. Данный тип взвешивающих элементов имеет те же принципы построения, что конденсаторы. Кроме того, существуют реализации подобных структур на основе не резисторов, а транзисторов, выступающих в роли резисторов. Такие цепи называются M-2M.
  • Источники тока. Это, как правило, транзистор в режиме насыщения. Использование данных типов взвешивающих элементов позволяет обойтись без буферов, которые необходимы для других типов взвешивающих элементов.

Для формирования веса взвешивающего элемента есть следующие способы:

  1. Масштабирование номиналов. Применимо к любому типу взвешивающих элементов. С точки зрения полупроводниковой технологии это всегда эквивалентно масштабированию размеров элементов;
  2. Использование лестничной структуры. Применимо только к ёмкостным и резистивным взвешивающим элементам. В зависимости от типа взвешивающего элемента такие структуры получают названия R-2R, C-2C или M-2M (вместо резисторов используются транзисторы);
  3. Изменение напряжения смещения. Применимо только к источникам тока. Изменение напряжения смещения может происходить как с помощью перестраиваемой цепи формирования напряжения смещения, так и с помощью инжекции заряда на плавающий затвор. Последнее применимо лишь для специальных технологий, предусматривающих формирование плавающего затвора у транзистора. Как правило, это технологии предназначенные для изготовления энергонезависимой памяти.

Структуры резистивных и ёмкостных параллельных ЦАП

Бинарные
  • ЦАП взвешивающего типа, в котором каждому биту преобразуемого двоичного кода соответствует резистор или источник тока, подключённый на общую точку суммирования. Сила тока источника (проводимость резистора) пропорциональна весу бита, которому он соответствует. Таким образом, все ненулевые биты кода суммируются с весом. Взвешивающий метод один из самых быстрых, но ему свойственна низкая точность из-за необходимости наличия набора множества различных прецизионных источников или резисторов и непостоянного импеданса. По этой причине взвешивающие ЦАП имеют разрядность не более восьми бит;
  • ЦАП лестничного типа (цепная R-2R-схема). В R-2R-ЦАП значения создаются в специальной схеме, состоящей из резисторов с сопротивлениями R и 2R, называемой матрицей постоянного импеданса, которая имеет два вида включения: прямое — матрица токов и инверсное — матрица напряжений. Применение одинаковых резисторов позволяет существенно улучшить точность по сравнению с обычным взвешивающим ЦАП, так как сравнительно просто изготовить набор прецизионных элементов с одинаковыми параметрами. ЦАП типа R-2R позволяют отодвинуть ограничения по разрядности. С лазерной подгонкой плёночных резисторов, расположенных на одной подложке гибридной микросхемы, достигается точность 20—22 бита. Основное время на преобразование тратится в операционном усилителе, поэтому он должен иметь максимальное быстродействие. Быстродействие ЦАП единицы микросекунд и ниже (то есть наносекунды). В троичных ЦАП матрица постоянного импеданса состоит из резисторов 3R-4R с терминатором 2R [1] .
Унарные
  • ЦАП на основе линейки сопротивлений.

ЦАП с передискретизацией (дельта-сигма ЦАП)

ЦАП передискретизации, такие, как дельта-сигма-ЦАП, основаны на изменяемой плотности импульсов. Передискретизация позволяет использовать ЦАП с меньшей разрядностью для достижения большей разрядности итогового преобразования; часто дельта-сигма ЦАП строится на основе простейшего однобитного ЦАП, который является практически линейным. На ЦАП малой разрядности поступает импульсный сигнал с модулированной плотностью импульсов (c постоянной длительностью импульса, но с изменяемой скважностью), создаваемый с использованием отрицательной обратной связи. Отрицательная обратная связь выступает в роли фильтра верхних частот для шума квантования.

Большинство ЦАП большой разрядности (более 16 бит) построены на этом принципе вследствие его высокой линейности и низкой стоимости. Быстродействие дельта-сигма ЦАП достигает сотни тысяч отсчётов в секунду, разрядность — до 24 бит. Для генерации сигнала с модулированной плотностью импульсов может быть использован простой дельта-сигма модулятор первого порядка или более высокого порядка как MASH (англ. Multi stage noise SHaping ). С увеличением частоты передискретизации смягчаются требования, предъявляемые к выходному фильтру низких частот, и улучшается подавление шума квантования;

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

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