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 надо разобраться с прямой адресацией в ОЗУ дисплея и все будет не так страшно, после этого мы получим возможность иметь доступ к каждому пикселю.
У монохромных дисплеев (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
Фото сделаю попозже.
lcd.rar
В сети есть много описания, но главным является идентификация контроллера и наличие даташита к нему. Контроллер 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 надо разобраться с прямой адресацией в ОЗУ дисплея и все будет не так страшно, после этого мы получим возможность иметь доступ к каждому пикселю.
К примеру для вывода символа 5х7 (40 пикселей) надо отправить 5 байт данных, Бит 0 будет пустым, бит 1 установит пиксель на экране.
К примеру для вывода символа 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
Фото сделаю попозже.



