Перейти к содержанию

Можно ли подключить LVDS-матрицу от ноутбука к микроконтроллеру?

Обновлено Редакция GAW

Матрица ноутбука — это не «умный» дисплей с собственной памятью, как модули на ILI9341. Она не хранит изображение: её нужно непрерывно кормить пикселями, кадр за кадром, с частотой обновления около 60 раз в секунду. По LVDS эти пиксели идут в формате FPD-Link — по каждой паре 7 бит за такт пикселя.

Сколько это данных

Для панели 1024 × 768 при 60 Гц (наш расчёт, без учёта гашения строк и кадров, с ним частота выше):

fпикс≈1024⋅768⋅60≈47 МГц,47 МГц⋅7≈330 Мбит/с на паруf_\text{пикс} \approx 1024 \cdot 768 \cdot 60 \approx 47\ \text{МГц}, \qquad 47\ \text{МГц} \cdot 7 \approx 330\ \text{Мбит/с на пару}

Память на один кадр при 24 битах на пиксель:

1024⋅768⋅3 байта≈2,36 МБ1024 \cdot 768 \cdot 3\ \text{байта} \approx 2{,}36\ \text{МБ}

— больше, чем встроенная память большинства микроконтроллеров.

Что нужно

УзелЗачемПример
Контроллер с параллельным RGB-выходомвыдаёт пиксели, синхронизацию и такт аппаратномикроконтроллеры с контроллером дисплея
Внешняя память кадрахранит изображениеSDRAM на несколько мегабайт
Сериализатор LVDSпревращает параллельную шину в парыSN75LVDS83B: такт 10–135 МГц, входы 1,8–3,3 В
Тайминги и формат панелибез них нет картинкидокументация матрицы

SN75LVDS83B принимает 28 бит по фронту такта, умножает такт на 7 и выдаёт данные в четыре пары и такт — в пятую. Минимальная частота пикселя 10 МГц, так что даже маленькой панели нужен заметный поток данных. Тонкости форматов 18 и 24 бит разобраны в ответе «Почему LVDS-матрица показывает неправильные цвета».

Если нужен просто экран

Для Arduino и простых проектов удобнее дисплей со своим контроллером и памятью, который подключается по SPI или параллельной шине: например, ILI9341. Микроконтроллер отправляет ему только изменения, а обновление экрана дисплей делает сам. Обзор технологий дисплеев — в статье «Технологии дисплеев», устройство интерфейса — в статье «LVDS».

Похожие вопросы

Можно ли сформировать LVDS программно, дёргая выводы?

Нет: по каждой паре идут сотни мегабит в секунду (7 бит за такт пикселя), а выводы общего назначения не дают ни такой скорости, ни уровней LVDS — синфазного 1,2 В и тока 3,5 мА. Нужен аппаратный сериализатор.

Где взять тайминги для матрицы?

Из документации на конкретную панель: частота пикселя, длительности строк и кадров, полярности синхронизации и формат данных. Без них матрица покажет пустой экран или мусор, даже если всё подключено верно.

Нужна ли отдельная подсветка?

Да: у матриц ноутбуков подсветка питается отдельно — светодиодная через свой драйвер, старые — от инвертора для ламп. Без неё изображение есть, но его почти не видно; напряжения и разъём смотрите в документации панели.

Источники

  1. Texas Instruments. SN75LVDS83B FlatLink Transmitter (SLLS846C) — даташит, ред. август 2014: разд. 9 — 28 бит параллельных данных по фронту входного такта, синтезатор умножает такт на 7, четыре пары данных и пара такта; частота пикселя 10–135 МГц; входы принимают уровни от 1,8 до 3,3 В
  2. Texas Instruments. LVDS Owner's Manual, 4th Edition (SNLA187) — разд. 3.2 и 3.6: сериализаторы с параллельным тактом заменяют широкую параллельную шину несколькими парами LVDS, первое типичное применение — дисплеи ноутбуков; стандарт TIA/EIA-644
  3. Texas Instruments (National Semiconductor). DS90C385A +3.3V Programmable LVDS Transmitter 24-Bit Flat Panel Display Link-87.5 MHz (SNLS167K) — даташит, ред. апрель 2013: 24-битный передатчик FPD-Link до 87,5 МГц, 612,5 Мбит/с на пару

Нашли ошибку?