Перейти к содержанию
    

Привет всем! Я пытаюсь освоить такой дисплей.

Если записывать данные в ОЗУ дисплея, то эти изменения сразу видны на экране,

т.е. экран непрерывно обновляется читая данные из своего ОЗУ.

Нет ли в этих дисплеях команды остановки обновления,

чтобы можно было сперва записать кучу данных в ОЗУ,

а потом единожды обновить по новым данным экран?

С уважением! :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже собираюсь поработать с дисплеем на этом контроллере.

Не подскажете, в режиме SPI обязательно с каждым 16 битным словом данных дёргать CS и передавать байт ID (как показано в даташите), или достаточно одного ID и потом просто битовый поток данных?

 

Какая последняя доступная версия даташита на этот контроллер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот, не знаю, я пытаюсь использовать параллельный интерфейс, а SPI не пробовал.

У меня ПДФ на контроллер версия 1.10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот, не знаю, я пытаюсь использовать параллельный интерфейс, а SPI не пробовал.

У меня ПДФ на контроллер версия 1.10

У меня тоже даташит 1.10 - значит, он последний.

 

А чем управляете дисплеем, каким контроллером?

Какой ширины используете параллельную шину?

Какова получается макс. скорость записи?

 

У меня по SPI на 10 мегабитах заливка всего дисплея занимает на глаз около 0.2 секунды (16 битный цвет).

Слишком медленно, имхо...

Надо будет тоже в параллель идти.

 

По поводу Вашего вопроса - может быть, стоит воспользоваться чтением регистра статуса?

Он должен указывать текущую позицию "луча", таким образом можно синхронизироваться и начать вывод в GRAM пропустив "луч" дисплея вперёд...

 

Но в этом случае скорость записи должна быть такой, чтобы успеть передать весь кадр быстрее, чем дисплей начнёт формирование следующего кадра.

Например, если кадровая частота дисплея 60 Гц, то надо уложиться в 1/60 секунды - 16 миллисекунд, что соответствует скорости в ~73 мегабита для 16 битного цвета...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, конечно это недостижимо, да и нет смысла: если я смог бы сформировать картинку настолько быстро, то не было бы необходимости задерживать обновление экрана.

Может народу не совсем понятно, зачем мне это надо? Поясню. Вот, вы, положим, выводите на экран картинку в качестве фона. Сверху на этом фоне пишете цифру, которая постоянно меняется. Т.е. чтобы написать новую цифру, вам необходимо перерисовать весь фон(цифра в этот момент "затирается"), а сверху написать заново измененную цифру. Из за этого получается мигание цифры, а этого быть конечно не должно. Выйти из этого положения можно с помощью внешнего ОЗУ на 153кБайта-очень не хочется его городить. Опять же дорого.

Я использую 16бит ширину. Скорости мне хватает, получается примерно 10 кадров в секунду. Можно и быстрее(~15 раз в сек), но это если картинку из ОЗУ читать, а не с флэшки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему бы сразу при печати не выводить картинку в места, где у цифр должен быть цвет фона?

Пропустите этап "стирания", то есть объедините его вместе с текстом в одну операцию.

 

Как у вас работает процедура печати, какой цвет присваивается пикселям, которые должны быть фоновыми под текстом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если под цифрой просто какой-то цвет, то и проблем нет))

А вот если под цифрами сложная картинка, скачанная с компьютера 320х240, тады ой!

Представьте картинку на весь экран-какую-нибудь фотографию. А на ней, положим, три цифры в разных местах: одна в верхнем левом углу, другая посреди экрана, и третья в нижнем правом. Для каждой цифры надо читать свой кусочек картинки. Т.е. если печатать цифры вместе с картинкой, то выбрать необходимые пикселы из картинки очень сложно, т.к. чтение картинки с флэш идет с кучей разных прерываний и с использованием ДМА. Вот если бы картинка была просто на ОЗУ, то проблем было бы меньше. Да где ж взять 153кБайта ОЗУ?))

Изменено пользователем fiim

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да где ж взять 153кБайта ОЗУ?))

Ну, если у Вас такие большие картинки - ставьте ОЗУ :)

 

Или ищите дисплей с несколькими страницами видеопамяти - не думаю, что на S6E63D6 можно что-то замутить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дисплей с несколькими страницами видеопамяти - было бы хорошее решение.

Я знаю такие дисплеи только НЕ цветные.

Может быть кто подскажет есть ли такие цветные?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Наверное, подгружаете картинку с флешки? ;)

 

У Вас чистый синий цвет (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 ма!! :cranky:

Этот дисплей однозначно не для мобильных девайсов...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой-йёй! Чет многовато кушает! Наверно очень большой дисплей? У меня РРТ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 цвет и сделал два других такими же..

Да, запихал несколько картинок на флешку и читаю аттудава. Сейчас вожусь с тачпанелью :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой-йёй! Чет многовато кушает! Наверно очень большой дисплей? У меня РРТ9999 кушает 30 ма при засветке наполовину.

Яркость цветов надо подбирать в зависимости от напряжения бустера. Я подбирал сам методом втыка.

Дык, у меня аппликуха от производителя, все параметры инициализации оттуда.

А напруги бустера в даташите жёстко заданы.

Дисплей не особо большой - 2.8 дюйма.

Но потребление вроде соответствует опять же указанному в даташите - там 400mw для 30% включенных пикселей.

Насколько я понял, мощность дана для напряжения бустера - 9 вольт (4.6 + 4.4)...

 

А что за РРТ9999? Что-то в поисковике не нашёл :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:biggrin: Не нашли, потому что скопировали из моего текста, а у меня русскими буквами было написано))) Попробуйте еще раз, тока аглицкими))

PPT9999-A003-08-Q

Вы не экспериментируете? Я из даташита беру только принцип. Значения в проге менять легче, чем напряжение бустера.

У меня тоже 2,8. Вместе с управляющим контроллером(stm32f103VC -48MHz)кушает 70ма.

Да, извиняюсь, это потребление дано в цепи +5В, до стабилизаторов, а дальше, в цепи 3.3В оно конечно больше, наверно около 120, я не мерил.

Но мне кажется, что у Вас все в порядке, просто у Вас настройка регистров на максимум, а мне для экспериментов достаточно гораздо меньшей яркости.

Я сейчас больше занимаюсь программой, нежели подбором цветов и яркости.

Изменено пользователем fiim

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы не экспериментируете? Я из даташита беру только принцип. Значения в проге менять легче, чем напряжение бустера.

У меня тоже 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...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...