Работа с LCD Nokia 1616, C1-00

  • Автор темы
P

pavel-pervomaysk

Команда форума
  • 3 Июн 2017
Давно лежали такие дисплеи с разрешением 128 х 160 пикселей.
В сети есть много описания, но главным является идентификация контроллера и наличие даташита к нему. Контроллер SPFD54124B глубина цвета 12, 16, 18 бит.Вот пришло их время ATmega328P & SPFD54124B (NokiaC1-00).

Рассмотрим режим 16 бит. Про остальные писать не буду из-за их нецелесообразности.
Подключение - 9bit SPI.
Подсветка у оригинала - 7V 5mA; У китайца 2,7V 10-15mA, работает от 3,3V.

1) Как и с дисплеем Nokia 1110i в 2009м году я взял как обыно логический анализатор, подключил его к телефону но уже Nokia1616, шина имеет питание 1,8V, не каждый анализатор с этим справится, но Saleae logic pro 16 отлично это все делает. Записал несколько логов в разных режимах, убедился в том, что телефони обновляют экран полностью отправляя на дисплей 40960 байт каждой посылкой, первым мнением будет печалька конечно, найти контроллер с таким объемом ОЗУ и постоянно копаться в этих 40кБ, но как и с 1110i надо разобраться с прямой адресацией в ОЗУ дисплея и все будет не так страшно, после этого мы получим возможность иметь доступ к каждому пикселю.

:up: У монохромных дисплеев (Nokia 1110i и его собратьев) 1 бит данных равен 1 пикселю но мы имеем возможность выводить 8 столбцов одновременно!
К примеру для вывода символа 5х7 (40 пикселей) надо отправить 5 байт данных, Бит 0 будет пустым, бит 1 установит пиксель на экране.

:one: У цветного дисплея каждый пиксель "съедает" 2 байта данных и каждый пиксель может иметь свой цвет в формате RRRRRGGGGGGBBBBB но зато мы имеем доступ к каждому пикселю независимо!
К примеру для вывода символа 5х7 (40 пикселей) надо отправить 80 байт данных при этом данные бита 1 заполнять в цвете, данные бита 0 заполнять задним планом (Background).

Пожалуй самые первые грабли, которые отнимают много времени.

init_lcd: ; SPFD54124B Initializing


ATmega328P Osc. 22.1184MHz ; Mcu_clock = 0.0452 us ;
Замеры
Заполение ЖКИ одним цветом (20480 пикселей) - 3 672 741 тактов; 166049.90us
Вывод пикселя в ЖКИ - 171 такт
Вывод символа 5х7 - 8940 тактов; 404,19us
Вывод символа 9х16 - 29338 тактов; 1328.03us
Вывод символа 15х22 - 71666 тактов; 3239.66us

Фото сделаю попозже.







lcd.rar
 

Что это ? Прошивки Схемы Справочники Маркировка Корпуса Программаторы Аббревиатуры Частые вопросы Обмен ссылками Ссылки дня

  • Это информационный блок по ремонту
    Содержит основные технические рекомендации и советы поиска по разделам сайта необходимые для ремонта - принципиальные схемы, файлы прошивок, программ, маркировку компонентов, ссылки на базы данных. Обратите внимание и на другие темы где расположены советы и секреты мастеров, измерения, принцип работы и методы диагностики.
    Предназначен для тех, кто случайно попал на эту страницу, периодически обновляется и отображается только гостям.
  • Прошивки в разделах:
    Прошивки телевизоров (запросы)
    Прошивки телевизоров (хранилище)
    Прошивки мониторов (хранилище)
    Различные прошивки (запросы)
  • Схемы в разделах:
    Схемы телевизоров (запросы)
    Схемы телевизоров (хранилище)
    Схемы мониторов (запросы)
    Различные схемы (запросы)
  • Справочники в разделах:
    Справочник по транзисторам
    ТДКС - распиновка, ремонт, прочее
    Газовые котлы Termomax
    Справочники по микросхемам
  • Marking (маркировка) - обозначение на электронных компонентах
    Справочники по SMD компонентам
    Опознать элемент в телевизоре (вопросы)
    Справочники по SMD кодам компонентов
    Маркировка SMD транзисторов от PHILIPS
  • Package (корпус) - вид корпуса электронного компонента
    SOT-89 - пластковый корпус для поверхностного монтажа
    SOT-23 - миниатюрный пластковый корпус для поверхностного монтажа
    TO-220 - корпус для монтажа (пайки) в отверстия
    SOP (SOIC, SO, TSSOP) - миниатюрные корпуса для поверхностного монтажа
  • Programmer (программатор) - устройство для записи (считывания) информации в память или другое устройство
    Ниже список некоторых программаторов:
    Postal-2,3 - универсальный программатор по протоколам I2C, SPI, MW, IСSP и UART. Подробно - Postal - сборка, настройка
    TL866 (TL866A, TL866CS) - универсальный программатор через USB интерфейс
    CH341A - самый дешевый (не дорогой) универсальный программатор через USB интерфейс
  • SCL (Serial Clock) - Шина интерфейса I2C для передачи тактового сигнала
    SDA (Serial Data) - Шина интерфейса I2C для обмена данными
    ICSP (In-Circuit Serial Programming) – Протокол для внутрисхемного последовательного программирования
    IIC, I2C (Inter-Integrated Circuit) - Двухпроводный интерфейс обмена данными между микросхемами
    PCB (Printed Circuit Board) - Печатная плата
  • Как мне задать свой вопрос ?

    После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.

    Кто отвечает на вопросы ?

    Ответ в тему Работа с LCD Nokia 1616, C1-00 как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.

    Как найти нужную информацию ?

    Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.

    По каким маркам можно спросить ?

    По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.

    Что еще я смогу здесь скачать ?

    При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям - схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.

K

Konstantin_18

  • 6 Июн 2017
pavel-pervomaysk, Может стОит перенести эту тему сюда: http://monitor.net.ru/forum/viewforum.php?f=91
равно как и эту: https://monitor.net.ru/forum/threads/611704/

Процессор 5 вольтовый и чтение из индикатора не предполагается ?

ПС. Плата изготовленная промышленным способом
предполагает коммерческое использование конструкции ?
 
P

pavel-pervomaysk

Команда форума
  • 6 Июн 2017
Можно перенести. Кстати это "рестайл" предыдущей версии, не черно-белый не влазит вся желаемая информация крупным шрифтом, а щуриться не охота.

Процессор может быть и 3,3V, тогда можно читать ID, RAM, только зачем тебе читать RAM дисплея?, точнее куда ее пихать будешь? Нам надо выводить. Примеры.
Знакогенератор 5х7 занимает 5 байт, в lcd он будет иметь 80 байт.
Знакогенератор 15*22 имеет 45 байт на символ, а RAM lcd на его месте имеет 15* 24 * 2 = 720 байт.
Что тебе даст эта информация для AVR с его 20 MHz?
Для полноценной работы и открытия всего потенциала этих дисплеев надо что-то с частотой свыше 100MHz и 64kB RAM.
Кстати NOKIA в него только пишет, наснимал 2 GB логов, начитался, убедился в этом.

Допилил и окультурил библиотеку под 3 шрифта: 5х7, 12х16, (15х22 только цифры). Пробовал другие, не поперло ;) .

Никакой коммерции не планируется, заказал 3 образца, впадло было паять без металлизации 2 стороны. Проект будет Open source, кому надо - пусть запускают по кругу :bigok: .
 
K

Konstantin_18

  • 6 Июн 2017
pavel-pervomaysk сказал(а):
зачем тебе читать RAM дисплея?
А как тогда писать по уже написанному ? Например поверх текста линию провести ...
Или еще пример:
У тебя текстовые строки по высоте кратны 8 точкам, и начинаешь их выводить в строго фиксированные позиции по вертикали ( кратные 8 ) . А если нужно писать между "строк" ?
То есть вывести символ с позиции х0,у5 например.
Это нужно для произвольных вертикальных интервалов.

Добавлено 06-06-2017 18:59

pavel-pervomaysk сказал(а):
заказал 3 образца
а я хотел платку выпросить для экспериментов :)

Добавлено 06-06-2017 19:04

pavel-pervomaysk сказал(а):
Что тебе даст эта информация для AVR с его 20 MHz?
Это, на самом деле ОГРОМНАЯ частота,
Кстати какая макс частота SPI индикатора ?
Ты используешь аппаратный SPI меги ?
 
P

pavel-pervomaysk

Команда форума
  • 6 Июн 2017
У меня ногодрыг используется. Попозже попробую как-то аппаратный SPI, если получится 9й клок впереди придрючить...
Сейчас вызов отправки пикселя занимает на ногодрыге
; 171 tacts
; Fast send 16 bits color
Адресация может быть любой хоть 1 пиксель и где угодно, я рисую поверх уже готового.
Индикатор держит такую частоту см. фото.
Более подробное описание есть в даташите. По моему 30ns тактирование клока для него вполне нормально.
По остальным вопросам пиши в скайп или почту, решим.

Немного исправил.



 
K

Konstantin_18

  • 7 Июн 2017
Адресация может быть любой хоть 1 пиксель и где угодно, я рисую поверх уже готового.

pavel-pervomaysk, МСМ ты не совсем понял меня. Попробуй поверх уже написанного текста ( например крупным шрифтом ) написать что-то еще мелким шрифтом. Так чтобы было видно оба.
 
P

pavel-pervomaysk

Команда форума
  • 7 Июн 2017
Я не знаю возможно ли это сделать одним цветом в принципе... Другим скорее всего что да...
В любом случае надо попробовать.
 
L

LDZ

  • 8 Июн 2017
давно это было...
циклы, время... никогда не считаю... почти...
на глазок... либо устраивает, либо нет...

1.rar
 
K

Konstantin_18

  • 9 Июн 2017
LDZ, Как - то очень уж топорно.

Чтобы нарисовать пиксель по SPI передается 14 байт в индикатор.
Чтобы нарисовать символ 7х12 нужно нарисовать 84 пиксела - или задвинуть в индикатор 1176 байт.
При максимальной (теоретически ) частоте SPI в 10 МГц - это где то 1 мксек на байт.
То есть символ рисуется ~ 1.2 миллисек.
Весь экран 16 х 13 = 250 миллисек - это очень уж неспешно будет.

А в общем, в любом случае спасибо, по Сишному исходнику я легко понял процесс адресации.
 
L

LDZ

  • 9 Июн 2017
Konstantin_18 сказал(а):
LDZ, Как - то очень уж топорно.
а это, как бы, заготовка... :)
под разные дисплеи использую... для поиграть с тем, или иным стеклышком... как правило на этом и финиш...
согласен, лишку там есть... :)
 
P

pavel-pervomaysk

Команда форума
  • 9 Июн 2017
Немного переделал свой... Циклы повторно не пересчитывал.
Занят пока-что другими делами...

Но в целом мои задачи выполняются четко и без багов. :cool:

lcd_C1-00.rar
 
L

LDZ

  • 9 Июн 2017
pavel-pervomaysk, а я чуток недопонял... у тебя на фото китаец? или оригинал?
и что, китаец есть замена оригиналу? как такое может быть, если подсветка разная?
у меня, кажется, есть NokiaC1-00... я его еще не разбирал... думал, там разъем, как у Nokia2330... сильно мелкий...
помню, с Nokia2330 помучился... и дороги перетравил, и чуть запаял... никакого желания нет переносить его на другую монтажку...

ре... соврал... NokiaС3-01 у меня... и еще Nokia6300...
 
P

pavel-pervomaysk

Команда форума
  • 9 Июн 2017
Это китаец, 65грн (2,5$). Цвета конечно не очень таки как на ретине, но для начала пойдет :p .
Ставятся и работают в телефонах нормально.
Я вижу ты включил у себя 18 бит цвета и 3 байта на пиксель, чувствуешь разницу между 16 бит?
 
L

LDZ

  • 9 Июн 2017
нокиевский 2330 сам по себе не очень... например, надо желтый... вывожу красный и зеленый, получаю нечто ядовитое...
короче, этот режим у меня для подбора нужного кОлера... :)
если подобрать тот оттенок, который не будет раздражать, то и разница не будет заметна...
хотя углы обзора никакие... особо нечего стараться с подбором...
 

Верх Низ