Реализация интерфейсов видеодисплея на базе ПЛУ MachX02
Рассматриваемый интерфейс дисплея относится к типу 7:1 LVDS. Мы дадим краткий обзор этого стандарта дисплея и поясним, как можно реализовать его с помощью ключевых аппаратных блоков ПЛУ MachX02. Также будут в деталях рассмотрены примеры его применения.
Общие сведения об интерфейсе дисплея 7:1 LVDS
В конструкциях, имеющих встроенный ЖК-экран, для его подключения обычно используется интерфейс дисплея 7:1 LVDS. У других поставщиков этот интерфейс может иметь названия Channel Link, Flatlink или Camera Link. В принципе спецификации Channel Link и Flatlink предназначены для ЖК-дисплеев, а Camera Link — для цифровых камер и устройств видеозахвата, но вне зависимости от названия интерфейс 7:1 основан на стандарте дифференциального сигнального ввода/вывода LVDS. Стандарт на интерфейс 7:1 LVDS для ЖК-дисплеев был разработан ассоциацией VESA. Он нашел весьма широкое применение в ноутбуках и нетбуках для подключения ЖК-экрана к материнской плате. В настоящее время существует несколько модификаций этого интерфейса с числом контактов от 20 до 50 для поддержки различных разрешений ЖК-дисплея. Пример интерфейсного кабеля 7:1, используемого в ноутбуке, приведен на рис. 1.
Рис. 1. Интерфейсный кабель 7:1 LVDS для подключения ЖК-экрана к материнской плате ноутбука
Чтобы облегчить передачу цифровых данных на ЖК-экран и свести к минимуму число подключений, передаваемые с материнской платы данные преобразуются в последовательный формат. В интерфейсе дисплея используется, как правило, три или четыре линии данных LVDS и одна линия тактового сигнала LVDS. В дисплеях высокого разрешения используются четыре линии данных и одна линия тактового сигнала LVDS. За один такт по каждой линии данных последовательно передаются 7 бит, как показано на временной диаграмме на рис. 2.
Рис. 2. Временная диаграмма интерфейса встроенного дисплея 7:1 LVDS
Таким образом, в интерфейсе дисплея LVDS скорость передачи данных в семь раз превышает тактовую частоту. Одна линия тактового сигнала обычно работает на три или четыре линии данных. Поэтому со стороны дисплея принимается 21 или 28 бит данных. Тактовая частота находится, как правило, в диапазоне от 60 до 100 МГц.
Каждый пиксель ЖК-дисплея имеет красную, зеленую и голубую цветовые компоненты, из которых составляются всевозможные цвета. Если имеется три линии данных LVDS (например, от материнской платы ноутбука), то по каждой из этих дифференциальных линий будет в последовательном формате передаваться 6 бит данных соответствующего цвета RGB-палитры и один бит управления. Распределение 21 бита данных RGB-цвета по трем линиям LVDS приведено в таблице 1. Аналогичным образом устроен интерфейс с четырьмя линиями данных, имеющий разрядность 28 бит. В интерфейсе с четырьмя линиями используется 8 бит RGB-цвета.
Таблица 1. Интерфейс 7:1 LVDS с тремя линиями данных
Канал последовательной передачи | Биты данных | Формат |
Y0 | D0 | Красный 0 |
D1 | Красный 1 | |
D2 | Красный 2 | |
D3 | Красный 3 | |
D4 | Красный 4 | |
D6 | Красный 5 | |
D7 | Зеленый 0 | |
Y1 | D8 | Зеленый 1 |
D9 | Зеленый 2 | |
D12 | Зеленый 3 | |
D13 | Зеленый 4 | |
D14 | Зеленый 5 | |
D15 | Голубой 0 | |
D18 | Голубой l | |
Y2 | D19 | Голубой 2 |
D20 | Голубой 3 | |
D21 | Голубой 4 | |
D22 | Голубой 5 | |
D24 | Горизонтальная синхронизация | |
D25 | Вертикальная синхронизация | |
D26 | Разрешение |
Обычно данные последовательно передаются по трем или четырем линиям на приемник, например ЖК-экран, где они преобразуются обратно в параллельный формат. Как уже говорилось, по линиям LVDS передаются сигналы красного, зеленого и голубого цвета, а также биты управления. В интерфейсе с четырьмя линиями данных каждый RGB-пиксель состоит из 8 бит данных и соответствующих битов управления. Вне зависимости от разрядности видеоданных (21 или 28 бит) по этим RGB-данным формируется изображение на ЖК-экране. Подробнее об интерфейсе дисплея (7:1 LVDS, Flatlink, Camera Link или Channel Link) можно узнать в документации на сайте www.latticesemi.com.
Особенности ПЛУ MachX02 для реализации интерфейса дисплея 7:1 LVDS
Есть несколько конструкторских подходов к реализации интерфейса дисплея. Наиболее общий подход — умножать входной тактовый сигнал на семь для тактирования каждого бита данных. В действительности это сложно сделать, потому что результирующая тактовая частота получается высокой. Поскольку типичный интерфейс дисплея работает на тактовой частоте 60–100 МГц и выше, то при умножении на семь мы получаем 420–700 МГц. Учитывая, что печатная плата вносит разброс задержек на токоведущих дорожках, емкость, шум и т. д., спроектировать такой интерфейс — совсем не простая задача.
Архитектура ПЛУ MachX02 выстроена так, чтобы обеспечить возможность реализации интерфейса дисплея. В частности, в нем имеются регистры ввода/вывода с удвоенной скоростью передачи данных (DDR), логика сцепления регистров ввода/вывода и специализированный делитель тактового сигнала на 3,5. Также в MachX02 есть специальные банки ввода/вывода 7:1 и программные макрокоманды для упрощения такой реализации. В MachX02–1200 и более крупных устройствах входы интерфейса дисплея поддерживаются в нижних банках ввода/вывода, а выходы — в верхних. Рассмотрим подробнее каждую из этих архитектурных особенностей.
Регистры ввода/вывода DDR в MachX02 позволяют интерфейсу дисплея работать на тактовой частоте, вдвое меньшей скорости передачи данных по интерфейсу. Например, если тактовая частота передачи пикселей равна 100 МГц, регистры ввода/вывода DDR позволяют работать на тактовой частоте 350 МГц по обоим фронтам вместо 700 МГц. С помощью цепи ФАПЧ тактовая частота умножается на 3,5, и оба фронта тактового сигнала используются для синхронизации линий данных. Сниженная тактовая частота позволяет обеспечивать более высокую пропускную способность. MachX02 поддерживает тактовую частоту до 108 МГц, или пропускную способность до 756 Мбит/с.
Логика сцепления регистров ввода/вывода отвечает за мультиплексирование выходных сигналов регистров ввода/вывода DDR с разделением по времени на более широкую шину. На выходе логики сцепления регистров ввода/вывода образуется 7-разрядная шина данных, полученная из одной линии данных с повышенной в семь раз тактовой частотой. Например, если одна линия данных работает на скорости 560 Мбит/с (7×80 МГц), то на выходе логики сцепления регистров она будет мультиплексирована с разделением по времени на 7 бит с тактовой частотой 80 МГц. Если интерфейс дисплея имеет четыре линии данных, то на выходе логики сцепления регистров будет 28 бит внутренних данных, передаваемых на частоте внешнего тактового сигнала. Схема регистров ввода/вывода DDR и логики сцепления регистров приведена на рис. 3.
Рис. 3. Регистры ввода/вывода DDR и логика сцепления регистров ввода/вывода
Специализированный делитель частоты тактового сигнала на 3,5 точно преобразует входной тактовый сигнал умноженной частоты, чтобы данные с выхода логики сцепления регистров ввода/вывода с надежной синхронизацией поступали на вход коммутирующей матрицы FPGA. Благодаря этому делителю гарантируется передача данных из регистров ввода/вывода на коммутационную матрицу ПЛУ MachX02.
Может показаться странным, что частота входного тактового сигнала умножается с помощью ФАПЧ на 3,5 только для того, чтобы затем снова разделить ее на 3,5, но такой подход имеет свои преимущества. Если бы не специализированный делитель, на выход логики сцепления регистров подавался бы необработанный входной тактовый сигнал или другой выходной сигнал ФАПЧ. При этом пришлось бы вручную тщательно выверять прохождение этого сигнала, чтобы свести к минимуму временное рассогласование или разброс задержек для 21–28 бит данных. Кроме того, временное рассогласование тактового сигнала ограничивало бы скорость работы интерфейса. Вдобавок специализированный делитель не задействует другие системные ресурсы, например, не отбирает на себя еще один выход ФАПЧ. С этим делителем гарантируется точность передачи тактового сигнала и данных на коммутационную матрицу MachX02 с логики сцепления регистров ввода/вывода. Подробнее об особенностях ввода/вывода, помогающих в реализации интерфейса дисплея, сказано в [1].
Примеры конструкций интерфейса дисплея
Помимо ПЛУ MachX02, компания Lattice предлагает обширный ассортимент устройств FPGA с передающей (Tx) и приемной (Rx) функциональностью интерфейса дисплея [2]. Так как для реализации интерфейса 7:1 LVDS можно использовать целый ряд устройств Lattice, это открывает широкие возможности для конструирования разно-образных встраиваемых изделий и устройств бытовой электроники. Интерфейс дисплея 7:1 LVDS в семействе ПЛУ MachX02 оптимален для применения в изделиях с батарейным питанием, а также во всевозможной недорогой технике, такой как ноутбуки, нетбуки и т. п. MachX02 — недорогое и экономичное решение для реализации интерфейса дисплея.
Часто в ноутбуках интерфейс дисплея применяется в роли мультиплексора графических контроллеров. Его задача сводится к тому, чтобы выбирать один из двух графических контроллеров для управления ЖК-экраном. Наиболее распространена эта функция в ноутбуках с экранами высокого разрешения. Такие ноутбуки имеют два источника, с которых видеосигнал может поступать на ЖК-экран. Эти два графических контроллера работают на один экран. Обычно один контроллер оптимизирован или встроен в набор микросхем процессора, будучи рассчитан на низкое энергопотребление и использование для не слишком ресурсоемких задач, таких как обработка текстов. Второй графический контроллер имеет более высокую производительность и предназначен для использования, например, в играх и при редактировании видео (рис. 4).
Рис. 4. Мультиплексор графических контроллеров (GMUX)
Реализовав в ноутбуке два приемных (Rx) интерфейса дисплея и мультиплексировав их на один передающий (Tx) интерфейс дисплея в устройстве MachX02, можно получить следующие преимущества:
- Дискретный графический мультиплексор избавляет производителя ПК от необходимости использовать стандарт коммутации графических контроллеров, принадлежащий конкретной компании. Не все центральные и графические процессоры идеально сопрягаются друг с другом. Например, если на роль центрального процессора лучше всего подходит определенный микропроцессор Intel, а по части графических возможностей наиболее привлекательным выглядит высокопроизводительный графический процессор от AMD, графический мультиплексор позволит воплотить в жизнь такой альянс.
- Кроме того, графический мультиплексор позволяет гибко выбирать время и способ переключения на тот или иной графический процессор. Например, высокопроизводительный процессор можно выбирать при подключении к ноутбуку кабеля HDMI, а при отключении этого кабеля можно снова выбирать экономичный процессор. Как вариант, переключение может осуществляться «на лету», если данные отображения хранятся в небольшом буфере, таком как память DDR2. Тем самым гарантируется, что переключение пройдет незаметно для пользователя и не нужно будет перезагружать систему.
Наконец, дискретный графический мультиплексор позволяет выключать питание графического контроллера, который не используется. В ноутбуках встречаются расточительные схемы автоматического переключения, при которых интегрированный графический контроллер никогда не отключается: вместо этого включается питание высокопроизводительного контроллера, а данные с него записываются в кадровый буфер поверх данных, поступивших ранее с интегрированного контроллера. Используя экономичное устройство MachX02 в качестве мультиплексора графических контроллеров, можно выключать питание того или другого графического процессора, что обеспечит максимальную экономию заряда аккумулятора.
Заключение
В статье дан обзор интерфейса дисплея, возможностей ПЛУ MachX02, обеспечивающих реализацию такого интерфейса, и примеры конструкций. Богатая архитектура MachX02 в сочетании со сверхнизким энергопотреблением и невысокой ценой делают это ПЛУ привлекательным выбором для реализации интерфейса дисплея 7:1 LVDS. В таблице 2 перечислены все семейства устройств Lattice, которые могут быть использованы для этой цели.
MachX02 | ECP3 | ECP2M | XP2 |
TN1203 RD1093 |
RD1030 TN1134 UG37 |
RD1030 TN1134 UG37 |
RD1030 TN1134 UG37 |
- TN1023 — MachXO2 High-Speed Source Synchro-nous and Memory Interfaces Tech Note.
- RD1093 — MachXO2 Design Interface Reference Design.
- RD1030 — LatticeECP3, LatticeECP2/M, LatticeXP2 7:1 LVDS Video Interface Reference Design.
- TN1134 — 7:1 LVDS to DVI Tech Note.
- UG37 — Users Guide for 7:1 LVDS to DVI demo.