Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

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

Список форумов » Разработка цифровых устройств
АвторСообщение
pavel-pervomaysk
Your editor
Сообщения: 8034




03-06-2017 10:04

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

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

У цветного дисплея каждый пиксель "съедает" 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

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

Теплый пол_2017.GIF


5x7_15x22.jpg


  lcd.rar  12,46 КБ  Скачано: 40 раз(а)
  8x16.jpg  73,32 КБ  Скачано: 38 раз(а)

Konstantin_18
Участник
Сообщения: 3370




06-06-2017 18:28

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

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

ПС. Плата изготовленная промышленным способом
предполагает коммерческое использование конструкции ?
pavel-pervomaysk
Your editor
Сообщения: 8034




06-06-2017 19:45

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

Процессор может быть и 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, кому надо - пусть запускают по кругу .
Konstantin_18
Участник
Сообщения: 3370




06-06-2017 19:57

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 меги ?
pavel-pervomaysk
Your editor
Сообщения: 8034




06-06-2017 20:38

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

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

clk.JPG


4_fonts_cut.jpg



Konstantin_18
Участник
Сообщения: 3370




07-06-2017 14:47

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

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




07-06-2017 15:04

Я не знаю возможно ли это сделать одним цветом в принципе... Другим скорее всего что да...
В любом случае надо попробовать.
LDZ
Участник
Сообщения: 903




08-06-2017 19:54

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

  1.rar  14,34 КБ  Скачано: 29 раз(а)

Konstantin_18
Участник
Сообщения: 3370




09-06-2017 02:16

LDZ, Как - то очень уж топорно.

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

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




09-06-2017 09:29

Konstantin_18 писал:
LDZ, Как - то очень уж топорно.

а это, как бы, заготовка... улыбка
под разные дисплеи использую... для поиграть с тем, или иным стеклышком... как правило на этом и финиш...
согласен, лишку там есть... улыбка
pavel-pervomaysk
Your editor
Сообщения: 8034




09-06-2017 13:31

Немного переделал свой... Циклы повторно не пересчитывал.
Занят пока-что другими делами...

Но в целом мои задачи выполняются четко и без багов. Крутой!

  lcd_C1-00.rar  12,3 КБ  Скачано: 35 раз(а)

LDZ
Участник
Сообщения: 903




09-06-2017 16:14

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

ре... соврал... NokiaС3-01 у меня... и еще Nokia6300...
pavel-pervomaysk
Your editor
Сообщения: 8034




09-06-2017 16:27

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




09-06-2017 16:46

нокиевский 2330 сам по себе не очень... например, надо желтый... вывожу красный и зеленый, получаю нечто ядовитое...
короче, этот режим у меня для подбора нужного кОлера... улыбка
если подобрать тот оттенок, который не будет раздражать, то и разница не будет заметна...
хотя углы обзора никакие... особо нечего стараться с подбором...
Список форумов » Разработка цифровых устройств » Работа с LCD Nokia 1616, C1-00
Перейти:  
Текущий раздел » Разработка цифровых устройств (FPGA, CPLD, PLD, ARM, AVR и т.д.)







Электроника
Прошивки и схемы на телевизоры, мониторы, dvd, телефоны. Schematic, Service Manual (mode), eeprom dumps Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы поиск и продажа электронных компонентов, магазины, datasheet, pdf, размещение в интернете рекламы на сайтах электронной тематики
Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!