|
Дисплеи OLED на S6E63D6, Обновление данных на экране |
|
|
|
Mar 19 2010, 14:12
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Привет всем! Я пытаюсь освоить такой дисплей. Если записывать данные в ОЗУ дисплея, то эти изменения сразу видны на экране, т.е. экран непрерывно обновляется читая данные из своего ОЗУ. Нет ли в этих дисплеях команды остановки обновления, чтобы можно было сперва записать кучу данных в ОЗУ, а потом единожды обновить по новым данным экран? С уважением!
|
|
|
|
|
Mar 22 2010, 16:16
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Вот, не знаю, я пытаюсь использовать параллельный интерфейс, а SPI не пробовал. У меня ПДФ на контроллер версия 1.10
|
|
|
|
|
Mar 22 2010, 16:50
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(fiim @ Mar 22 2010, 20:16)  Вот, не знаю, я пытаюсь использовать параллельный интерфейс, а SPI не пробовал. У меня ПДФ на контроллер версия 1.10 У меня тоже даташит 1.10 - значит, он последний. А чем управляете дисплеем, каким контроллером? Какой ширины используете параллельную шину? Какова получается макс. скорость записи? У меня по SPI на 10 мегабитах заливка всего дисплея занимает на глаз около 0.2 секунды (16 битный цвет). Слишком медленно, имхо... Надо будет тоже в параллель идти. По поводу Вашего вопроса - может быть, стоит воспользоваться чтением регистра статуса? Он должен указывать текущую позицию "луча", таким образом можно синхронизироваться и начать вывод в GRAM пропустив "луч" дисплея вперёд... Но в этом случае скорость записи должна быть такой, чтобы успеть передать весь кадр быстрее, чем дисплей начнёт формирование следующего кадра. Например, если кадровая частота дисплея 60 Гц, то надо уложиться в 1/60 секунды - 16 миллисекунд, что соответствует скорости в ~73 мегабита для 16 битного цвета...
|
|
|
|
|
Mar 24 2010, 06:38
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Нет, конечно это недостижимо, да и нет смысла: если я смог бы сформировать картинку настолько быстро, то не было бы необходимости задерживать обновление экрана. Может народу не совсем понятно, зачем мне это надо? Поясню. Вот, вы, положим, выводите на экран картинку в качестве фона. Сверху на этом фоне пишете цифру, которая постоянно меняется. Т.е. чтобы написать новую цифру, вам необходимо перерисовать весь фон(цифра в этот момент "затирается"), а сверху написать заново измененную цифру. Из за этого получается мигание цифры, а этого быть конечно не должно. Выйти из этого положения можно с помощью внешнего ОЗУ на 153кБайта-очень не хочется его городить. Опять же дорого. Я использую 16бит ширину. Скорости мне хватает, получается примерно 10 кадров в секунду. Можно и быстрее(~15 раз в сек), но это если картинку из ОЗУ читать, а не с флэшки.
|
|
|
|
|
Mar 24 2010, 14:46
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Если под цифрой просто какой-то цвет, то и проблем нет)) А вот если под цифрами сложная картинка, скачанная с компьютера 320х240, тады ой! Представьте картинку на весь экран-какую-нибудь фотографию. А на ней, положим, три цифры в разных местах: одна в верхнем левом углу, другая посреди экрана, и третья в нижнем правом. Для каждой цифры надо читать свой кусочек картинки. Т.е. если печатать цифры вместе с картинкой, то выбрать необходимые пикселы из картинки очень сложно, т.к. чтение картинки с флэш идет с кучей разных прерываний и с использованием ДМА. Вот если бы картинка была просто на ОЗУ, то проблем было бы меньше. Да где ж взять 153кБайта ОЗУ?))
Сообщение отредактировал fiim - Mar 24 2010, 14:55
|
|
|
|
|
Mar 24 2010, 15:26
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Дисплей с несколькими страницами видеопамяти - было бы хорошее решение. Я знаю такие дисплеи только НЕ цветные. Может быть кто подскажет есть ли такие цветные?
|
|
|
|
|
Mar 26 2010, 17:37
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Даа, кажется никто не подскажет. Ну, ничего, у меня вроде и без этого получается сделать цифирь поверх картинки. Только очень сложно получается, и медленнее работает, чем могло бы..
|
|
|
|
|
Mar 26 2010, 18:02
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(fiim @ Mar 26 2010, 21:37)  Даа, кажется никто не подскажет. Ну, ничего, у меня вроде и без этого получается сделать цифирь поверх картинки. Только очень сложно получается, и медленнее работает, чем могло бы.. Наверное, подгружаете картинку с флешки?  У Вас чистый синий цвет (RGB: 0x00 0x00 0xff) как выглядит? У меня кажется несколько светловатым. Использую вот такие настройки гаммы (дисплей WEGO320240BCNN11XX00): Код _WriteRegister(AMR_GAMMA_TBC_R, 0x2580); _WriteRegister(AMR_GAMMA_TBC_G, 0x2780); _WriteRegister(AMR_GAMMA_TBC_B, 0x3380); _WriteRegister(AMR_GAMMA_CTRL_R_12, 0x1d18); _WriteRegister(AMR_GAMMA_CTRL_R_34, 0x1f11); _WriteRegister(AMR_GAMMA_CTRL_G_12, 0x2419); _WriteRegister(AMR_GAMMA_CTRL_G_34, 0x1a14); _WriteRegister(AMR_GAMMA_CTRL_B_12, 0x211a); _WriteRegister(AMR_GAMMA_CTRL_B_34, 0x2013); Сегодня запустил "родной" бустер питания матрицы 4.6 и -4.4 вольт - NCP5810. Потребление огромное - при общем питании дисплея и бустера от 3.3 вольт и полностью залитым белым экране ток достигает 400 ма!! Этот дисплей однозначно не для мобильных девайсов...
|
|
|
|
|
Mar 27 2010, 18:14
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
Ой-йёй! Чет многовато кушает! Наверно очень большой дисплей? У меня РРТ9999 кушает 30 ма при засветке наполовину. Яркость цветов надо подбирать в зависимости от напряжения бустера. Я подбирал сам методом втыка. Получилось так: _WriteRegister(AMR_GAMMA_TBC_R, 0x3А00); _WriteRegister(AMR_GAMMA_TBC_G, 0x3А00); _WriteRegister(AMR_GAMMA_TBC_B, 0x3А00); _WriteRegister(AMR_GAMMA_CTRL_R_12, 0x3932); _WriteRegister(AMR_GAMMA_CTRL_R_34, 0x2С0D); _WriteRegister(AMR_GAMMA_CTRL_G_12, 0x3932); _WriteRegister(AMR_GAMMA_CTRL_G_34, 0x2С0D); _WriteRegister(AMR_GAMMA_CTRL_B_12, 0x3932); _WriteRegister(AMR_GAMMA_CTRL_B_34, 0x2С0D); Как видите,я не очень заморачивался , подобрал 1 цвет и сделал два других такими же.. Да, запихал несколько картинок на флешку и читаю аттудава. Сейчас вожусь с тачпанелью
|
|
|
|
|
Mar 27 2010, 18:23
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(fiim @ Mar 27 2010, 22:14)  Ой-йёй! Чет многовато кушает! Наверно очень большой дисплей? У меня РРТ9999 кушает 30 ма при засветке наполовину. Яркость цветов надо подбирать в зависимости от напряжения бустера. Я подбирал сам методом втыка. Дык, у меня аппликуха от производителя, все параметры инициализации оттуда. А напруги бустера в даташите жёстко заданы. Дисплей не особо большой - 2.8 дюйма. Но потребление вроде соответствует опять же указанному в даташите - там 400mw для 30% включенных пикселей. Насколько я понял, мощность дана для напряжения бустера - 9 вольт (4.6 + 4.4)... А что за РРТ9999? Что-то в поисковике не нашёл
|
|
|
|
|
Mar 28 2010, 11:18
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291

|
 Не нашли, потому что скопировали из моего текста, а у меня русскими буквами было написано))) Попробуйте еще раз, тока аглицкими)) PPT9999-A003-08-Q Вы не экспериментируете? Я из даташита беру только принцип. Значения в проге менять легче, чем напряжение бустера. У меня тоже 2,8. Вместе с управляющим контроллером(stm32f103VC -48MHz)кушает 70ма. Да, извиняюсь, это потребление дано в цепи +5В, до стабилизаторов, а дальше, в цепи 3.3В оно конечно больше, наверно около 120, я не мерил. Но мне кажется, что у Вас все в порядке, просто у Вас настройка регистров на максимум, а мне для экспериментов достаточно гораздо меньшей яркости. Я сейчас больше занимаюсь программой, нежели подбором цветов и яркости.
Сообщение отредактировал fiim - Mar 28 2010, 11:33
|
|
|
|
|
Mar 28 2010, 13:26
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(fiim @ Mar 28 2010, 16:18)  Вы не экспериментируете? Я из даташита беру только принцип. Значения в проге менять легче, чем напряжение бустера. У меня тоже 2,8. Вместе с управляющим контроллером(stm32f103VC -48MHz)кушает 70ма. Да, извиняюсь, это потребление дано в цепи +5В, до стабилизаторов, а дальше, в цепи 3.3В оно конечно больше, наверно около 120, я не мерил. У меня тоже по 5 вольтам, около 100 ма потребляет LPC1768 на 100 МГц + KS8721, и почти 400 дисплей - это максимум. Так Вы засветите весь дисплей белым цветом - сколько "кушать" будет? Цитата Но мне кажется, что у Вас все в порядке, просто у Вас настройка регистров на максимум, а мне для экспериментов достаточно гораздо меньшей яркости. Ну, судя по значениям регистров гаммы - 0x3f00 - у Вас гораздо выше яркость, чем у меня. ЗЫ: да, с Вашими параметрами гаммы мой дисплей стал кушать ещё на 100 ма больше! Приведите, пожалуйста, полностью процедуру инициализации? Может, я там где-то накосячил? Или у Вас напряжения бустера (AR_VDD и AR_VSS) сильно отличаются от +4.6 и -4.4...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|