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

  • Автор темы pavel-pervomaysk
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
 
K

Konstantin_18

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

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

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

Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки

  • Справочная информация

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

    • Диагностика
    • Определение неисправности
    • Выбор метода ремонта
    • Поиск запчастей
    • Устранение дефекта
    • Настройка

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

  • Неисправности

    Все неисправности по их проявлению можно разделить на два вида - стабильные и периодические. Наиболее часто рассматриваются следующие:

    • не включается
    • не корректно работает какой-то узел (блок)
    • периодически (иногда) что-то происходит

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

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

    На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.


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

    Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:


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

    На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).


    Информация размещена в каталогах, файловых архивах, и отдельных темах, в зависимости от типов элементов.

  • Marking (маркировка) - обозначение на электронных компонентах

    Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.


  • Package (корпус) - вид корпуса электронного компонента

    При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:

    • DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
    • SOT-89 - пластковый корпус для поверхностного монтажа
    • SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
    • TO-220 - тип корпуса для монтажа (пайки) в отверстия
    • SOP (SOIC, SO) - миниатюрные корпуса для поверхностного монтажа (SMD)
    • TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
    • BGA (Ball Grid Array) - корпус для монтажа выводов на шарики из припоя

  • Краткие сокращения

    При подаче информации, на форуме принято использование сокращений и аббревиатур, например:

      Сокращение   Краткое описание
    LEDLight Emitting Diode - Светодиод (Светоизлучающий диод)
    MOSFETMetal Oxide Semiconductor Field Effect Transistor - Полевой транзистор с МОП структурой затвора
    EEPROMElectrically Erasable Programmable Read-Only Memory - Электрически стираемая память
    eMMCembedded Multimedia Memory Card - Встроенная мультимедийная карта памяти
    LCDLiquid Crystal Display - Жидкокристаллический дисплей (экран)
    SCLSerial Clock - Шина интерфейса I2C для передачи тактового сигнала
    SDASerial Data - Шина интерфейса I2C для обмена данными
    ICSPIn-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования
    IIC, I2CInter-Integrated Circuit - Двухпроводный интерфейс обмена данными между микросхемами
    PCBPrinted Circuit Board - Печатная плата
    PWMPulse Width Modulation - Широтно-импульсная модуляция
    SPISerial Peripheral Interface Protocol - Протокол последовательного периферийного интерфейса
    USBUniversal Serial Bus - Универсальная последовательная шина
    DMADirect Memory Access - Модуль для считывания и записи RAM без задействования процессора
    ACAlternating Current - Переменный ток
    DCDirect Current - Постоянный ток
    FMFrequency Modulation - Частотная модуляция (ЧМ)
    AFCAutomatic Frequency Control - Автоматическое управление частотой

  • Частые вопросы

    Как мне дополнить свой вопрос по теме Работа с LCD Nokia 1616, C1-00?

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

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

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

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

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

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

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

    Какие еще файлы я смогу здесь скачать ?

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


  • Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.



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 сам по себе не очень... например, надо желтый... вывожу красный и зеленый, получаю нечто ядовитое...
короче, этот режим у меня для подбора нужного кОлера... :)
если подобрать тот оттенок, который не будет раздражать, то и разница не будет заметна...
хотя углы обзора никакие... особо нечего стараться с подбором...
 

Верх Низ