- PVSM.RU - https://www.pvsm.ru -

Некоторое время назад мне удалось сделать обратную разработку нескольких экранов от смартфонов с интерфейсом MIPI DSI.
В какой-то момент пришло время пробовать запускать и проверять наработки, но под рукой не было удобного железа с MIPI DSI видеовыходом. Поэтому решил спроектировать свою плату, а по пути узнать что-то новое.
Обратная и прямая разработки поскакали в одной упряжке :-)
Посмотрим живой процесс разработки. Это всегда интересно!
В первой части рассмотрим несколько решений и выберем наиболее подходящее. А также начнём проектировать схему.
У меня под рукой есть Малина 3В.
Варианты подключения экрана к Малине:
1. Напрямую к DSI выходу (2 пары данных и одна тактовая).
Нет надобности в платах преобразователей интерфейса. Достаточно сделать переходники на конкретный экран. Нужно писать драйвера для Линукса.
2. Преобразовать RGB –> MPI DSI.
Получаем максимальную гибкость в экспериментах.
3. Преобразовать HDMI –> MPI DSI.
Удобно подключать, меньше проводов, чем у RGB.
Каждый вариант по-своему интересный. Мне нужно 4 пары данных, максимальная гибкость и возможность поэкспериментировать с RGB интерфейсом.
Поэтому выбираем преобразование RGB –> MPI DSI на SSD2828. Эта микросхема доступная, в приятном корпусе. Есть полный даташит [1], руководства (один [2], два [3]), примеры проектов. Можно купить готовые платы.
Кроме SSD2828 есть и другие микросхемы RGB –> DSI. Например, LT8918 [4] (MIPI DSI/CSI-2 Transmitter), но полезностей для них доступно меньше.
1. Готовые платы.
На Али попадается несколько вариантов плат. Отличаются разъёмами, наличием на плате управляющего микроконтроллера, схемой питания и другим. На момент написания статьи (март 2025) платы стоят в районе 3000 р. Попадаются разные варианты до 10 000 р.



Есть варианты для стыковки с платой FPGA (на платах установлены STM8 и ПЛИС Altera):

А вот эта плата довольно симпатичная, но некоторые решения хочется изменить:

На каких-то платах много лишних деталей. Где-то хочется изменить систему питания, разъёмы, кварц и др. Да и просто попробовать новые технологии/инструменты/компоненты и сделать всё красиво и под свои задачи/обстоятельства. Поэтому разработаем свою плату.
2. Проекты на SSD2828.
2.1 Проект на двухслойной плате.
Это проект [5] платы для экрана Sharp LS050T1SX01. На плате установлен управляющий микроконтроллер STM32F030F4 и SSD2828.

Плата двухслойная с копланарными дифференциальными линиями передачи.
Дифференциальное сопротивление получилось 100 Ом, а несимметричное – 68 Ом из-за ограничений 2-слойной платы.
2.1 Модульный проект.
В этом проекте [5] одна основная плата с SSD2828 и переходные платы на конкретную модель экрана (в данном случае LH154Q01 AUO и VS035ZSM BOE).
Микроконтроллера на плате нет. Для его подключения выведен SPI интерфейс.

Схема [6].
Выглядит симпатично, только шлейф подключен странно.


Здесь плата 4-слойная, на стеке JLC04161H-7628 JLCPCB [7]

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


Сделаем основную плату с удобным разъёмом для подсоединения переходных плат. Своя на каждую модель экрана.
С одной стороны, микроконтроллер на плате – это удобно. Не нужно цеплять к плате ещё какие-то платы, провода.
А с другой – на этапе экспериментов нужна наибольшая гибкость. У меня под рукой несколько плат с STM32 и другими контроллерами. Пока не ясно, что удобнее использовать. Может, появится желание взять RGB сигнал с какого-нибудь STM32f469 или STM32H750VB. Или что-нибудь изменить в проекте.
Поэтому мк ставить на плату не будем. Просто выведем SPI и нужные сигналы на удобный разъём.
Переходные платы для экранов будем соединять с основной через удобный разъём.
На момент проектирования меня интересуют экраны:
1. От китАйфона 6(S).
Разрешение экрана 540 x 960. 2 пары данных.
Диагональ измерил – 119 мм (4,68 дюйма).
LED-, LED+. Напряжение подсветки 17,09 В. Ток 20 мА?
Питание 1,8 В; 2,8 В. 3 Дифф пары: D0, D1, CLK. Сброс (Reset).
2. От Explay A351.
LED-, LED+. Напряжение подсветки LED+ 17,1В
Питание 1,8 В; 2,8 В. 2 Дифф пары: D0, CLK. Сброс (Reset).
3. От Prestigio PSP3502 DUO.
854х480. Диагональ измерил – 129 мм (5,07 дюйма)
LED-, LED+. Напряжение подсветки 14,8 В
Питание 1,8 В; 2,8 В. 3 Дифф пары: D0, D1, CLK. Сброс (Reset).
На шлейфе 3 пары, в сервис мануале 5. Видимо, разные модели экранов. Выведем все 5 пар для универсальности.
4. От китАйфона 8+.
1280х720. Диагональ измерил – 139 мм (5,47 дюйма)
LED-, LED+. Напряжение подсветки LED+ 22,0 В
22/7= 3,14 В. Т е 7 светодиодов (прямое падение в районе 3 В)
Скорее всего, 5 дифф. пар: D0…D3, CLK. Сброс (Reset)
Питание предположительно тоже +1,8 В и +2,8 В.
5. И другие.
Видно, что нужно на дочернюю платы передать 5 дифф пар: D0…D3, CLK (разделённые землёй); питание подсветки (LED-, LED+); питание экрана +1,8 В и +2,8 В и сброс (Reset).
Вывести ещё +3,3 или +5 В (входное питание), если нужно будет получить какое-то специфичное питание для конкретного экрана.
Драйвер подсветки возьмём с запасом по напряжению и току ключа, чтобы подходил ко всем экранам. Например, до 30…38 В.
Как вариант, STLD40D [8]. Есть много предложений на Али.
Остановимся на MAX8595XETA. Расчёт по даташиту. Можно посмотреть демо плату [9] MAX8596XEVKIT.

Позже захотелось заказать компоненты с LCSC. MAX8595XETA там не оказалось.
Хочется 8-9 светодиодов. Поэтому на LCSC ищем с вых. напряжением примерно 30 В.
Переделаем на TPS61161 [10].
В данном случае подойдёт типовая схема из даташита.

MBR0540 на 40 В – маловато, я бы взял запас. Падение у него 510 мВ при 500 мА.
SSL16PL нет на LCSC. Есть в Чип Дипе. Нашёл похожий 60 В диод на LCSC – SK16WA.
У платы с Али есть решение с резисторами 22 Ом на линиях RGB интерфейса.

В SSD2828 Getting Start User Guide [11] предлагается 2 варианта тактирования: активный генератор

и пассивный кристалл.

Пусть будет пассивный. Мне нравится такой SMD резонатор:

Подбираем на LCSC [12].
Как рассчитать нагрузочные конденсаторы (С11, С12)?

В данном случае нагрузочная ёмкость Cload = 12 пФ.

Берём load capacitance, вычитаем паразитную ёмкость 2…5 пФ, и умножаем на 2. (12-5)*2 = 14 пФ. Это и будет номинал конденсаторов (берём ближайший).
Последовательно с выходом генератора резистор 0 Ом. На случай, если нужно будет снизить уровень возбуждения. Следуем лучшим практикам.
1. Есть документ от ST как выбирать элементы схемы и т д (с примерами разводки). AN2867 Application note Oscillator design guide for STM8S, STM8A and STM32 microcontrollers [13]
2. Короткая заметка по расчёту ёмкостей Calculating crystal load capacitor [14]
3. App note: Pierce oscillator fundamentals [15]

Есть множество вариантов, к чему можно подключить MIPI DSI экран.
Если под рукой оказался одноплатник с DSI видеовыходом, можно подключить к нему экран напрямую. Нужно необходимое количество полос данных и драйвер для Линукса.
Иногда удобнее преобразовать другие видеоинтерфейсы одноплатного компьютера в MIPI DSI. Например, с помощью доступной микросхемы SSD2828.
Существуют готовые платы и проекты на этой микросхеме. Часто из имеющихся решений берут какие-то идеи и рождается новый проект, более подходящий к текущим условиям.
Так получилось и у нас.
Автор: Kopcheniy
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/timeweb_stat-i/423593
Ссылки в тексте:
[1] даташит: https://www.buydisplay.com/download/ic/SSD2828.pdf
[2] один: https://www.internetsomething.com/lcd/ssd2828/SSD2828%20Getting%20Start%20User%20Guide%20v02.pdf
[3] два: https://www.internetsomething.com/lcd/ssd2828/SSD2828%20Debug%20step%20Guide%20line.pdf
[4] LT8918: https://www.lcsc.com/datasheet/lcsc_datasheet_2211151030_LONTIUM-SEMICONDUCTOR-LT8918_C5261041.pdf
[5] проект: https://github.com/jlywxy/project-display/tree/main/mipi-lcd-sharp-ssd2828
[6] Схема: https://github.com/dartcom/ssd2828-dev/blob/master/hardware/schematics.pdf
[7] JLC04161H-7628 JLCPCB: https://jlcpcb.com/impedance
[8] STLD40D: https://www.st.com/content/ccc/resource/technical/document/datasheet/5b/92/e8/f8/41/e5/43/59/CD00098098.pdf/files/CD00098098.pdf/jcr:content/translations/en.CD00098098.pdf
[9] демо плату: https://www.analog.com/media/en/technical-documentation/data-sheets/MAX8596ZEVKIT.pdf
[10] TPS61161: https://www.lcsc.com/datasheet/lcsc_datasheet_1811061825_Texas-Instruments-TPS61161DRVR_C324075.pdf
[11] User Guide: http://www.internetsomething.com/lcd/ssd2828/SSD2828%20Getting%20Start%20User%20Guide%20v02.pdf
[12] на LCSC: https://www.lcsc.com/product-detail/Crystals_YXC-span-style-background-color-ff0-Crystal-span-Oscillators-X322524MOB4SI_C70590.html
[13] AN2867 Application note Oscillator design guide for STM8S, STM8A and STM32 microcontrollers: https://www.raltron.com/webproducts/technical/technical_notes/Oscillator-design-guide-for-STM8S-STM8A-and-STM32-microcontrollers-ST-MICRO-1.pdf
[14] Calculating crystal load capacitor: https://microchip.my.site.com/s/article/Calculating-crystal-load-capacitor
[15] App note: Pierce oscillator fundamentals: http://dangerousprototypes.com/blog/2023/10/15/app-note-pierce-oscillator-fundamentals/
[16] Источник: https://habr.com/ru/companies/timeweb/articles/919430/?utm_campaign=919430&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.