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

repstosw

Участник
  • Постов

    2 582
  • Зарегистрирован

  • Победитель дней

    2

Весь контент repstosw


  1. Учёл конечно! Отдаю себе отчёт в том, что дисплей 240x320. А не 320x240. И это надо учитывать при синхронизации вывода кадра из TCON в GRAM LCD.
  2. Запустил дисплей от телефона 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
  3. Главное, чтобы детали уместили только на одной стороне. Иначе дырку делать придётся на плате. Ну и чтоб от флюса отмыта были. И с отдельной аналоговой землёй )))
  4. На нано-терминал. Только не с почтовую марку, диагональ 3,5" - полностью в ладонь помещается. Но вы правы - мне нужен дисплей ещё меньше. Остановился на 2,4". Нужна IPS матрица с разрешением 320x240, не больше чем 2,4 дюйма диагональ, поддерживающая Serial RGB или i8080 в режиме 8 или 9 бит.
  5. Сделал фоту картинки на LQ035NC111, который запустил: Оригинал картинки: Всё бы ничего, но мне не нравится малый угол снизу - цвета деградируют. При наклонах влево-вправо цвета сохраняются. P.S. Я вижу рисование горизонтальных полосок на этом дисплее, если внимательно присмотреться. Если увеличить частоту обновления с 60 до 90 или 120 Гц, то рисование полосок уже незаметно.
  6. Вот как раз за 100 руб. отдали весь телефон GX500 с этим превосходным дисплеем ))) На али я сделал две удачных покупки с LCD: это маленький OLED 160x128 и большущий LCD от Мерседеса - за 5000 рублей. Остальные дисплеи попадались какие-то трешовые. Особенно из ценовой категории 500 - 1500 р. И ещё, когда брал LCD в маазинах запчастей от телефонов - того же K800i, то качество оптики было настолько ужасным, что я вынужден был взять и найти б/у телефон с оригинальным дисплеем хорошего качества оптики. Ну тоесть китайцы хорошо копируют только контроллер дисплея, а оптику делают говённую, по сравнению с дисплеями от оригинальных телефонов. Найди отличия, как говорится: Вот ещё расписал все списки дефектов в алишных дисплеях, которые на шилдах идут, часто совмещаемые с разъемами на SD-карту: Нет. Форум игровой тематики.
  7. Возвращаясь к теме качества картинки и без пересветов чёрного. Вот как минимум должна выглядеть картинка на LCD, чтобы она радовала мои глаза: Без пересвета чёрного. Отличные насыщенные цвета. Нет полосчатости, под разными углами цвет одинаковый. Анти-бликовое покрытие без переотражений. На фотах - IPS дисплей снятый с телефона GX500. А вы говорите телега... 🤩 Дай такое качество дисплеев, купленных с Али ! 🤣
  8. Пока к счастью, просили HDMI формат с цифровой камеры по MIPI CSI, что я уже научился делать. ))) Захват с камеры, кодирование в H264, упаковка в контейнер (AVI,MP4), мультиплексирование с аудио-потоком... Лично мне хватит 320x240 с камеры ))
  9. И это радует! Только на фото уровень чёрного сильно пересвечен. Этим грешат практически все покупные диплеи - не стоит ждать от них супер-характеристик по оптике. Дисплеи круче и за 100 рублей, я снимал с телефонов, которые скупал пачками на барахолках. Там такого безобразия с пересветом чёрного (из-за плохой системы подсветки) нету. Ну это для хобби, а не для масс-штампинга. ))) Выбираю дисплеи по двум основным критериям: сочная картинка под любым углом - без пересветов и деградаций цветов. И чтобы динамика была не хуже, чем Th, Td <=15 ms (лучше 10 ..12 ms). Потому что мне нужны анимирующиеся изображения. Для масс-штампинга HDMI всякие просят - приходится их тоже делать, чтобы не умереть с голоду... На счёт пикселя с размером кулак )) порадовало такое высказывание))) Покопался у себя в запасах, нашёл LCD 320x240 от телефона, рядом с ним дисплей, который запустил на предыдущей странице. Оба дисплея имеют одинаковое разрешение, но у того что слева - пикселы не с размером кулак ))) Да и вообще, эти брожжения на счёт старой или не старой телеги, или пикселей с размером кулак - это всё второстепенно для обитателей технического форума. К чему вообще такие брожжения? Я к примеру, не критикую элементную базу, кем-то используемую. Потому что как минимум мне это неинтересно, плюс это не моего ума дело. Так почему тогда другие обитатели позволяют себе эти брожжения в адрес меня?
  10. Это смотря какая диагональ дисплея. Те дисплеи, с телефонов старых, с которыми я работал, у них очень маленькая диагональ (для разрешения 320x240). К тому же есть ряд приложений, где нужны крупные пикселы. Например, при разработке своих игровых консолей с Pixel-Art играми: там чем крупнее пиксел, тем лучше. У телефона K800i прошивка могла определять тип контроллера дисплея. Есть двa способа - отдельная ножка или регистр с ID. По моему, там вторая модификация с контроллером Epson, и она уже не может аппаратно масштабировать. 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 Гц развёртку.
  11. Кстати, вспомнил. Гамма-коррекцию настраивал в дисплее от K800i LCD. По умолчанию цвета были несколько темнее. Дополнительная фича: контроллер (только Тошибовский! Их две вариации!) поддерживает аппаратный скейлинг в 2 раза по обоим осям (без сглаживания). Тоесть кроме 320x240, доступно ещё и 160x120 - что очень привлекательно для нано-поделок
  12. По своему опыту скажу, что иногда хочется цвета по-насыщеннее вывести, это гамма выше чем по умолчанию. Визуально это видно.
  13. Не обязательно матрица TN. Контроллеры универсальны: тот же самый контроллер может быть в дисплеях с другими типами матриц. Вы сами себе противоречите. Для TN - смеётесь, а для IPS - не надо. Так для чего тогда надо?
  14. Посмотрел у себя в заказах на Али: не нашёл лота. Очевидно, заказывал в другом месте, не помню где именно. Эта же плата на Али - но я у него не покупал ничего : https://aliexpress.ru/item/1859102902.html С одной стороны - чётные шаги между выводами, с другой стороны - нечётные. На плате надписи: FPC-DIP Board v 1.0 Qifei Мой переходник: два коннектора + две платы + шлейф FPC 54 контакта, укороченный с одной стороны до 40 контактов.
  15. Ссылку на что? На печатные платы и коннекторы? Коннекторы на платы сам паял. Коннекторы и сами платы есть на aliexpress в несчётных количествах.
  16. Для LQ035NC111 инит не нужен. Интерфейс выбирается ногами IF 0,1,2. Инит нужен только в случае, если надо подкорректировать Гамма-коррекцию цвета. А также для отражения изображения по горизонтали или вертикали. Также инит может активировать нужный интерфейс обмена данными с дисплеем. Для TM035KDH03 инит нужен, чтобы установить всё вышеперечисленное + интерфейс. Мне неизвестно, в каком режиме работает этот дисплей по умолчанию, но предполагаю что Parallel RGB. Как интерфейс выбрать, если ноги, отвечающие за режим, запрятаны? А гамма-таблицу как скорректировать для лучшей цветопередачи? А как перевернуть изображение? А?
  17. Такое было только с камерой на параллельном 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
  18. Иногда не прокатывает. Но ферритовая втулка, надетая на макарон с CLK спасает. Кстати, в режиме Serial RGB у T113-s3 максимальное разрешение залимитировано до 800x480. Ограничение по пиксельклоку - он втрое выше в Serial RGB. Он уже подкорректировал название товара (битые пикселы). И создал новый лот: https://aliexpress.ru/item/1005004040786588.html Не думаю, что он их все проверяет и сортирует.
  19. На момент покупки этих дисплеев, в описании не было ничего сказано о том, что есть битые пикселы. Хороший, "серый" ход продавца, которого пнули за дефект. P.S. Этот же продавец создал новый лот с этими же дисплеями : https://aliexpress.ru/item/1005004040786588.html Не думаю, что он их проверяет и сортирует по наличию дефекта...
  20. Это макетные макароны, с целью запустить и проверить дисплей как можно быстро. На что-то бОльшее для макета - мне лень и нет времени. Получен работающий код и составлена схема соединений - для релиза. Более ничего от этих макарон мне не нужно. В релизе планируется один коннектор на печатной плате. P.S. Вот ещё аналогичное решение с целью проверить другой дисплей:
  21. Продаёт дисплеи с битыми пикселами: https://aliexpress.ru/item/1005004040683505.html
  22. Сделал плату-переходник и запустил этот дисплей в режиме 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 Покупал их в прошлом году. Позже появился соответствующий отзыв от ещё одного несчастного:
  23. Это хорошо. Потому что можно усложнить задачу реверса и трассировки кода. Но : рано или поздно задача решается, главное: время и желание. На серийник можно завязать даже вычисления, и не один раз: вплести проверки как сорняки на грядки... Не знал об этом. Где можно про это почитать? Не знаю. Но интересно. Жаль. КМК, самое уязвимое место - связь микросхемы паяти с микроконтроллером: всегда можно получить дамп, сняв его логическим анализатором. Чтобы потом приступить к его реверсу в эмуляторе или пошагово на реальной копии железки (пусть даже и с другим серийным номером). Жаль что встроенный Flash они не сделали... В этом случае оставалась только декапсуляция чипа (с восстановлением содержимого flash/rom), но не по карману каждому "пионеру".
  24. Защита кода для Allwinner T113-s3 от копирования - возможна? Допустим, код программы находится в SPI NOR или NAND. Есть ли способ защитить код от копирования? Первое, что приходит на ум - сильно зашифрованный бинарник, который загружается в DDR, расшифровывается там и исполняется. Попутный вопрос: есть ли способ пережечь JTAG, чтобы не лезли через него? Другие пути решения?
×
×
  • Создать...