-
Постов
2 582 -
Зарегистрирован
-
Победитель дней
2
Сообщения, опубликованные repstosw
-
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
Запустил дисплей от телефона Philips Xenium X503, который по описанию должен быть IPS.
Но что-то не похож на IPS: картинка деградирует на углах: пересвечивается. Качество картинки субъективно намного хуже чем у LQ035NC111.
Кроме того, в этом дисплее не выведены ноги VSYNCO или FMARK, что делает невозможной синхронизацию с олвиннеровским TCON для движущихся изображений. Проще говоря, пригоден только для статической картинки. Для динамических картинок, чтобы синхронизировать - надо опрашивать соответствующий регистр, что неудобно, так как срывает DMA обмен или аппаратный обмен кадром через TCON.
Контроллер в дисплее ILI9328 (читается ID чипа), а не ILI9325, как это было указано в отладочной инфе в прошивке телефона.
И пришлось ещё отреверсить распиновку этого дисплея, так как схемы телефона нет, есть только мануал на трабл-шотинги.
Обмен с дисплеем пока идёт через ногодрыг, следующий шаг - разобраться с TCON в режиме i8080 и попытаться проинитить дисплей через него и сделать вывод кадра.
Знания даром не пропадут, так как можно потом поставить дисплей по-лучше. Наличие i8080 расширяет поле выбора качественного дисплея, так как на разрешение 320x240 подавляющая часть дисплеев с i8080 интерфейсом, и лишь только малая часть с RGB интерфейсом.
Распиновка дисплея от телефона Philips Xenium X503: 1,2 GND 3 VCI (до 3,3V) 4 IOVCC (до 3,3V) 5 ~CS 6 RS 7 ~WR 8 ~RD 9..24 D0..D15 25 ~Reset 26 IM0 27 IM3 28..31 тач: D,L,U,R (отсутствует) 32..34 LEDK (-) три светодиода подсветки параллельно 35 LEDA (+) 36 LEDK (-) четвёртый светодиод подсветки 37,38 ? на плате телефона подключены к GND (проверял их на наличие сигналов VSYNCO и FMARK - неудачно). 39 GND
8-битная шина (D8..D15) IM3=0, IM0=1
16-битная шина (D0..D15) IM3=0, IM0=0
-
2 hours ago, mantech said:
подождем, пока такие вот 100ask и подобные сделают по 3р за шт.)))))))))
Главное, чтобы детали уместили только на одной стороне. Иначе дырку делать придётся на плате.
Ну и чтоб от флюса отмыта были. И с отдельной аналоговой землёй )))
-
2 hours ago, sasamy said:
куда такие дисплейчики с почтовую марку ?
На нано-терминал. Только не с почтовую марку, диагональ 3,5" - полностью в ладонь помещается. Но вы правы - мне нужен дисплей ещё меньше. Остановился на 2,4".
2 hours ago, sasamy said:На али и озоне навалом матриц за копейки от старых планшетов, например prestigio
Нужна IPS матрица с разрешением 320x240, не больше чем 2,4 дюйма диагональ, поддерживающая Serial RGB или i8080 в режиме 8 или 9 бит.
-
Сделал фоту картинки на LQ035NC111, который запустил:
Оригинал картинки:
Всё бы ничего, но мне не нравится малый угол снизу - цвета деградируют. При наклонах влево-вправо цвета сохраняются.
P.S. Я вижу рисование горизонтальных полосок на этом дисплее, если внимательно присмотреться. Если увеличить частоту обновления с 60 до 90 или 120 Гц, то рисование полосок уже незаметно.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
1 hour ago, mantech said:Ну дык, надо выбирать соотв. ценовую категорию, за условные 100-200р качества не получишь))
Вот как раз за 100 руб. отдали весь телефон GX500 с этим превосходным дисплеем )))
На али я сделал две удачных покупки с LCD: это маленький OLED 160x128 и большущий LCD от Мерседеса - за 5000 рублей.
Остальные дисплеи попадались какие-то трешовые. Особенно из ценовой категории 500 - 1500 р.
И ещё, когда брал LCD в маазинах запчастей от телефонов - того же K800i, то качество оптики было настолько ужасным, что я вынужден был взять и найти б/у телефон с оригинальным дисплеем хорошего качества оптики. Ну тоесть китайцы хорошо копируют только контроллер дисплея, а оптику делают говённую, по сравнению с дисплеями от оригинальных телефонов.
Найди отличия, как говорится:
Вот ещё расписал все списки дефектов в алишных дисплеях, которые на шилдах идут, часто совмещаемые с разъемами на SD-карту:
1 hour ago, GenaSPB said:Это не на этом сервере?
Нет. Форум игровой тематики.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
1 hour ago, repstosw said:Выбираю дисплеи по двум основным критериям: сочная картинка под любым углом - без пересветов и деградаций цветов.
Возвращаясь к теме качества картинки и без пересветов чёрного.
Вот как минимум должна выглядеть картинка на LCD, чтобы она радовала мои глаза:
Без пересвета чёрного. Отличные насыщенные цвета. Нет полосчатости, под разными углами цвет одинаковый. Анти-бликовое покрытие без переотражений.
На фотах - IPS дисплей снятый с телефона GX500. А вы говорите телега... 🤩
Дай такое качество дисплеев, купленных с Али ! 🤣
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
1 minute ago, mantech said:Зачем? Чтобы к телику подключать что-ли? Если к матрицам, так 2х канальный LVDS вполне катит на большое разрешение, есть и в edp переходники...
Пока к счастью, просили HDMI формат с цифровой камеры по MIPI CSI, что я уже научился делать. ))) Захват с камеры, кодирование в H264, упаковка в контейнер (AVI,MP4), мультиплексирование с аудио-потоком...
Лично мне хватит 320x240 с камеры ))
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
20 minutes ago, Vasily_ said:Таких современных IPS в продаже полно.
И это радует!
Только на фото уровень чёрного сильно пересвечен. Этим грешат практически все покупные диплеи - не стоит ждать от них супер-характеристик по оптике.
Дисплеи круче и за 100 рублей, я снимал с телефонов, которые скупал пачками на барахолках. Там такого безобразия с пересветом чёрного (из-за плохой системы подсветки) нету.
20 minutes ago, Vasily_ said:Какой то возврат к телеге запряженной наоборот.
Ну это для хобби, а не для масс-штампинга. )))
Выбираю дисплеи по двум основным критериям: сочная картинка под любым углом - без пересветов и деградаций цветов.
И чтобы динамика была не хуже, чем Th, Td <=15 ms (лучше 10 ..12 ms). Потому что мне нужны анимирующиеся изображения.
Для масс-штампинга HDMI всякие просят - приходится их тоже делать, чтобы не умереть с голоду...
На счёт пикселя с размером кулак )) порадовало такое высказывание)))
Покопался у себя в запасах, нашёл LCD 320x240 от телефона, рядом с ним дисплей, который запустил на предыдущей странице.
Оба дисплея имеют одинаковое разрешение, но у того что слева - пикселы не с размером кулак )))
Да и вообще, эти брожжения на счёт старой или не старой телеги, или пикселей с размером кулак - это всё второстепенно для обитателей технического форума.
К чему вообще такие брожжения?
Я к примеру, не критикую элементную базу, кем-то используемую. Потому что как минимум мне это неинтересно, плюс это не моего ума дело.
Так почему тогда другие обитатели позволяют себе эти брожжения в адрес меня?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
1 hour ago, mantech said:Доступно-то доступно, но с пикселем размером с кулак)))
Это смотря какая диагональ дисплея. Те дисплеи, с телефонов старых, с которыми я работал, у них очень маленькая диагональ (для разрешения 320x240).
К тому же есть ряд приложений, где нужны крупные пикселы. Например, при разработке своих игровых консолей с Pixel-Art играми: там чем крупнее пиксел, тем лучше.
1 hour ago, mantech said:Вот как раз об этом и хотел сказать, все это слишком завязано на конкретный дисплей и контроллер, почему и отказался в свое время, ибо заказчики покупают матрицы разных фирм и размеров, а работать должно все одинаково, привязка к конкретной матрице не гуд, ИМХО.
У телефона K800i прошивка могла определять тип контроллера дисплея. Есть двa способа - отдельная ножка или регистр с ID.
По моему, там вторая модификация с контроллером Epson, и она уже не может аппаратно масштабировать.
1 hour ago, mantech said:ЗЫ. Единственное, что было б полезно, это поворот картинки, но только, если б эта фишка была стандартизована и доступна в любой матрице... Хотя... это к.м.к. должна быть функция TCON, но видимо не охота напрягать мозги разработчикам, пусть кодеры сами изгаляются))))
Swirl. Это есть не у всех Allwinner. G2D в T113-s3 может поворачивать на ортогональные углы.
А вообще, в другом форуме меня вдохновили вернуться к LCD от телефонов с i8080 интерфейсом. Они бывают сильно мелкими - 320x240 не с 3,5", а меньше раза в 2...3.
И просто обалденное качество! Анти-бликовое покрытие, и изображение как-будто насыщенными чернилами нарисовано! По-моему это IPS. Но они все i8080 : 8/9/16/18 бит.
Я покурил китайскую доку на TCON от Allwinner и понял, что по ходу наклёвывается нехилый шанс запустить дисплей с i8080 интерфейсом через олвиннеровский TCON.
При этом, сохраняются все преобразования при выводе картинки с видеобуфера на LCD (преобразование YUV в RGB через CSC, альфа-блендинг видео-плоскостей и приоритеты).
Как я понял из той доки, инит контроллера делается традиционно - через пару адресов: Index/Data.
А изображение отрисовывается из памяти Allwinner в LCD командой TCON_CPUIF_FLUSH.
Конечно, можно заполнять через Index/Data/Data/... и даже натравив DMA. Но это будет только одна плоскость без аппаратного блендинга слоёв и преобразования YUV в RGB.
Интересно, откуда он возмёт тайминги - ширина стробов и прочее? Возможно, это завязано на параметры развёртки.
И придётся городить двойную синхронизацию (это только для анимированных картинок, чтобы избежать эффекта разрезания изображения) - ловить сигнал VSYNCO от ноги LCD, затем включать TCON FLUSH на отрисовку однократно 1 кадра, затем отловить завершение отрисовки от TCON и отключить отрисовку. И так по кругу по мере надобности.
Аналогично так сделал с OLED 160x128, у которого своя память и развёртка, в режиме RGB TCON. Тоесть - нужно 2 прерывания(внешнее от LCD и внутреннее от TCON). Дисплей на таких маленьких разрешениях можно сделать не 60, а 120 или 180 Гц развёртку.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
Кстати, вспомнил.
Гамма-коррекцию настраивал в дисплее от K800i LCD. По умолчанию цвета были несколько темнее.
Дополнительная фича: контроллер (только Тошибовский! Их две вариации!) поддерживает аппаратный скейлинг в 2 раза по обоим осям (без сглаживания).
Тоесть кроме 320x240, доступно ещё и 160x120 - что очень привлекательно для нано-поделок
-
1 minute ago, mantech said:
Вот мне и интересно, для чего, в TN такая "цветопередача", что ее уже ничего не исправит, ибо не для красивости она, а IPS прекрасная цветопередача по-умолчанию, править ничего не надо... Ну а для эстетов, в видеокконтроллере вроде, как должна быть своя гамма-коррекция, ИМХО.
По своему опыту скажу, что иногда хочется цвета по-насыщеннее вывести, это гамма выше чем по умолчанию. Визуально это видно.
-
19 minutes ago, mantech said:
Лучшая цветопередача в TN матрице?? Смеетесь))))
Не обязательно матрица TN. Контроллеры универсальны: тот же самый контроллер может быть в дисплеях с другими типами матриц.
19 minutes ago, mantech said:Ну а для IPS это в принципе не нужно, там и так все прекрасно передает...
Вы сами себе противоречите.
Для TN - смеётесь, а для IPS - не надо. Так для чего тогда надо?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
52 minutes ago, GenaSPB said:Коннекторы разумеется есть. Интересовала именно та плата что на фото а не множество на али
Посмотрел у себя в заказах на Али: не нашёл лота. Очевидно, заказывал в другом месте, не помню где именно.
Эта же плата на Али - но я у него не покупал ничего : https://aliexpress.ru/item/1859102902.html
С одной стороны - чётные шаги между выводами, с другой стороны - нечётные.
На плате надписи:
FPC-DIP Board v 1.0
Qifei
Мой переходник: два коннектора + две платы + шлейф FPC 54 контакта, укороченный с одной стороны до 40 контактов.
-
13 minutes ago, GenaSPB said:
А можно ссылку на такой переходник для fpc?
Ссылку на что? На печатные платы и коннекторы?
Коннекторы на платы сам паял.
Коннекторы и сами платы есть на aliexpress в несчётных количествах.
-
7 minutes ago, mantech said:
Т.е. его еще и инитить надо, а-ля DSI-шный что-ли? Жуть какая, у меня хоть LVDSные таким не страдают)))
Для LQ035NC111 инит не нужен. Интерфейс выбирается ногами IF 0,1,2.
Инит нужен только в случае, если надо подкорректировать Гамма-коррекцию цвета. А также для отражения изображения по горизонтали или вертикали. Также инит может активировать нужный интерфейс обмена данными с дисплеем.
Для TM035KDH03 инит нужен, чтобы установить всё вышеперечисленное + интерфейс. Мне неизвестно, в каком режиме работает этот дисплей по умолчанию, но предполагаю что Parallel RGB.
11 minutes ago, mantech said:Вот честно не понимаю, для дисплеев, на которые подается raw-видео (H+V+Sync), зачем вообще какой-то инит? Типа тех же DSI, например, ну для тех, у кого процессорная шина - это понятно...
Как интерфейс выбрать, если ноги, отвечающие за режим, запрятаны? А гамма-таблицу как скорректировать для лучшей цветопередачи? А как перевернуть изображение? А?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
11 minutes ago, mantech said:Но даже и на нем в случае такой вот лапши, тоже начинает срывать синхру, муарить и пр бяка..
Такое было только с камерой на параллельном DVP, когда макароны были сильно длинными.
С дисплеями по RGB интерфейсу такого не наблюдал. Было дрожание отдельных пикселей в некоторых дисплеях, но инверсия фазы сигнала CLK исправляла ситуацию.
Кстати , этот дисплей который применил (LQ035NC111) хорош тем, что позволяет выставить режим Serial RGB выводами IF 0,1,2 (контакты 48,49,50). Без всяких инитов по SPI или TWI. А сами ноги SPI там внутри подтянуты к Vcc, что упрощает схему.
А вот аналогичный дисплей TM035KDH03 с таким же 54-контактным шлейфом, уже не имеет IF0,1,2 и чтобы его запустить в Serial RGB режиме, нужен инит по SPI/TWI.
Там на фотке шлейфа видно что не все дорожки подведены к внешним контактам: https://aliexpress.ru/item/1005003996065387.html
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
4 minutes ago, mantech said:Везет вам, требуется маленькое разрешение и пиксельклок, у меня вот фулл ХД такие выкрутасы не прощает((
Иногда не прокатывает. Но ферритовая втулка, надетая на макарон с CLK спасает.
Кстати, в режиме Serial RGB у T113-s3 максимальное разрешение залимитировано до 800x480. Ограничение по пиксельклоку - он втрое выше в Serial RGB.
2 hours ago, repstosw said:Лот продавца, продающего LCD с битыми пикселами: https://aliexpress.ru/item/1005004040683505.html
Он уже подкорректировал название товара (битые пикселы).
И создал новый лот: https://aliexpress.ru/item/1005004040786588.html
Не думаю, что он их все проверяет и сортирует.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
On 1/17/2024 at 4:06 PM, mantech said:Если не секрет, зачем такие маленькие экранчики?
Не везде нужно 10000x10000
Siglen SDG805.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
2 hours ago, aaarrr said:И где недобросовестность? Продавец честно пишет, что экраны с дефектами.
На момент покупки этих дисплеев, в описании не было ничего сказано о том, что есть битые пикселы.
Хороший, "серый" ход продавца, которого пнули за дефект.
P.S. Этот же продавец создал новый лот с этими же дисплеями : https://aliexpress.ru/item/1005004040786588.html
Не думаю, что он их проверяет и сортирует по наличию дефекта...
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
1 hour ago, dimka76 said:3D монтаж ? 😀
Это макетные макароны, с целью запустить и проверить дисплей как можно быстро. На что-то бОльшее для макета - мне лень и нет времени.
Получен работающий код и составлена схема соединений - для релиза. Более ничего от этих макарон мне не нужно.
В релизе планируется один коннектор на печатной плате.
P.S. Вот ещё аналогичное решение с целью проверить другой дисплей:
Spoiler -
-
On 1/14/2024 at 6:12 PM, repstosw said:
Остаётся проверить это всё на практике, когда придут шлейфы FPC05-54 (для макета надо делать переходник для подключения LCD к плате mangoPi с 40-pin на 54-pin).
На релизе всё будет проще: сразу 54-пиновый коннектор для LCD LQ035NC111 (320x240).
Сделал плату-переходник и запустил этот дисплей в режиме Serial RGB (D0..D7, DCLK,HSYNC,VSYNC,DE).
Рабочие параметры развёртки (взял из даташита):
pdat.timing.pixel_clock_hz = 19241280; //Serial RGB - need 3x Clock: (19241280/3)/(320+30+38+20)/(240+3+15+4) = 60 FPS (real: 61.7 Hz) pdat.timing.h_sync_len = 30; pdat.timing.h_back_porch = 38; pdat.timing.h_front_porch = 20; pdat.timing.v_sync_len = 3; pdat.timing.v_back_porch = 15; pdat.timing.v_front_porch = 4; pdat.timing.h_sync_active = 0; pdat.timing.v_sync_active = 0; pdat.timing.den_active = 0; //!!! DEN not invert for LQ035NC111 LCD pdat.timing.clk_active = 0;
Подправил код, связанный с TCON для режима Serial RGB:
static void t113_tconlcd_set_timing(struct fb_t113_rgb_pdata_t * pdat) { //... //Serial RGB total*=3; write32((virtual_addr_t)&tcon->timing1, ((total - 1) << 16) | ((bp - 1) << 0)); //... //Serial RGB write32((virtual_addr_t)&tcon->hv_intf,8UL<<28); //... }
Дисплеи оказались с битыми пикселами (заказывал два дисплея - оба с битыми пикселами):
Лот продавца, продающего LCD с битыми пикселами: https://aliexpress.ru/item/1005004040683505.html
Покупал их в прошлом году. Позже появился соответствующий отзыв от ещё одного несчастного:
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
36 minutes ago, mantech said:Ну да, и привязать к серийнику проца
Это хорошо. Потому что можно усложнить задачу реверса и трассировки кода. Но : рано или поздно задача решается, главное: время и желание. На серийник можно завязать даже вычисления, и не один раз: вплести проверки как сорняки на грядки...
36 minutes ago, mantech said:Более профессиональная защита - через подписывание загружаемого файла, тут вроде кто-то пытался это освоить, но инфы далее не было, поэтому х.з. Все либы, которые есть, либо phoenix suite - непонятно, что там делать, либо жутко линуксовые, с кучей всяких телодвижений, скриптов питона и пр. "прелестями" линуксоидов, ну и доки нет от слова вообще...
Не знал об этом. Где можно про это почитать?
36 minutes ago, mantech said:Вероятно отключается через efuse, но вы знаете способ их прошивать?
Не знаю. Но интересно.
36 minutes ago, mantech said:А самое главное, какая ячейка за что отвечает))) Я попробовал, чуть не запорол проц, ибо функция от Н3 пишет куда попало...
Жаль.
КМК, самое уязвимое место - связь микросхемы паяти с микроконтроллером: всегда можно получить дамп, сняв его логическим анализатором. Чтобы потом приступить к его реверсу в эмуляторе или пошагово на реальной копии железки (пусть даже и с другим серийным номером).
Жаль что встроенный Flash они не сделали... В этом случае оставалась только декапсуляция чипа (с восстановлением содержимого flash/rom), но не по карману каждому "пионеру".
-
Защита кода для Allwinner T113-s3 от копирования - возможна?
Допустим, код программы находится в SPI NOR или NAND. Есть ли способ защитить код от копирования?
Первое, что приходит на ум - сильно зашифрованный бинарник, который загружается в DDR, расшифровывается там и исполняется.
Попутный вопрос: есть ли способ пережечь JTAG, чтобы не лезли через него?
Другие пути решения?
Allwinner T113-s3 уделал HiFi4 DSP. Смеяться или плакать?
в TI, Allwinner, GigaDevice, Nordic, Espressif и другие
Опубликовано · Пожаловаться
Учёл конечно! Отдаю себе отчёт в том, что дисплей 240x320. А не 320x240. И это надо учитывать при синхронизации вывода кадра из TCON в GRAM LCD.