Форум разработчиков электроники ELECTRONIX.ru: STM32F429 Discovery / uGFX - Форум разработчиков электроники ELECTRONIX.ru

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

STM32F429 Discovery / uGFX работа с LCD 7'' 800x480

#1 User is offline   nanorobot Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 244
  • Joined: 29 февраля 08

Posted 23 сентября 2018 - 11:11

Провожу эксперименты на Дискавери 429 . Использую uGFX, при работе с родным LCD все устраивает. Но хочется большего. Подключил внешний LCD 800х480. Очень заметно мерцание. Повысил в два раза частотту тактирования интерфейса LTDC процессора. Мерцание снизилось до приемлемого, но при перерисовке ГУИ появились серьезные артефакты. Далее действовал методом научного тыка, а именно запретил UGFX использовать DMA2D, было интересно узнать насколько все ухудшится. Но, странно, артефакты пропали, хотя скорость перерисовки заметно снизилас. Во всех случаях RGB565 и максимальный уровень оптимизации.

This post has been edited by nanorobot: 23 сентября 2018 - 15:39

0

#2 User is offline   mantech Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Участник
  • Posts: 2 219
  • Joined: 16 августа 12

Posted 23 сентября 2018 - 20:23

Цитата(nanorobot @ Sep 23 2018, 11:11) <{POST_SNAPBACK}>
Но, странно, артефакты пропали, хотя скорость перерисовки заметно снизилас.


А что тут странного-то?? Там узкое место скорость памяти, снизили загрузку шины, уменьшилась скорость отрисовки и стало стабильнее изображение - все логично laughing.gif
0

#3 User is offline   nanorobot Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 244
  • Joined: 29 февраля 08

Posted 24 сентября 2018 - 13:26

Цитата(mantech @ Sep 23 2018, 22:23) <{POST_SNAPBACK}>
А что тут странного-то?? Там узкое место скорость памяти, снизили загрузку шины, уменьшилась скорость отрисовки и стало стабильнее изображение - все логично laughing.gif



Если свою плату делать с 32 битовой SDRAM то можно ожидать удовлетворительной работы с разрешением 800х480? Или сразу смотреть в сторону STM32F7xx/ STM32H7xx ?
0

#4 User is offline   mantech Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Участник
  • Posts: 2 219
  • Joined: 16 августа 12

Posted 24 сентября 2018 - 15:31

Цитата(nanorobot @ Sep 24 2018, 13:26) <{POST_SNAPBACK}>
Если свою плату делать с 32 битовой SDRAM то можно ожидать удовлетворительной работы с разрешением 800х480? Или сразу смотреть в сторону STM32F7xx/ STM32H7xx ?


И что вы там увидите? Правильно, ту же сд-рам biggrin.gif

32бита это максимум, как можно увеличить скорость, дальше только контроллеры с ДДР, но это уже не к СТМу...
0

#5 User is offline   scifi Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Свой
  • Posts: 3 020
  • Joined: 07 февраля 07

Posted 24 сентября 2018 - 15:36

Некоторые делают двойной буфер кадра, чтобы не мерцало.
0

#6 User is offline   Aner Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Свой
  • Posts: 4 869
  • Joined: 29 февраля 08

Posted 24 сентября 2018 - 15:40

QUOTE (nanorobot @ Sep 24 2018, 13:26) <{POST_SNAPBACK}>
Если свою плату делать с 32 битовой SDRAM то можно ожидать удовлетворительной работы с разрешением 800х480? Или сразу смотреть в сторону STM32F7xx/ STM32H7xx ?

с разрешением 800х480, ... смотреть только в сторону старших армов с DDR3/4, под линуксами и там где есть нормальный GUI и тп.
C STM32H7xx не все алё.
0

#7 User is offline   mantech Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Участник
  • Posts: 2 219
  • Joined: 16 августа 12

Posted 24 сентября 2018 - 15:56

Цитата(scifi @ Sep 24 2018, 15:36) <{POST_SNAPBACK}>
Некоторые делают двойной буфер кадра, чтобы не мерцало.


Тут не в буферах дело, а пропускной способности шины памяти. Если только отрисовка и работает нормально, то при одновременной интенсивной записи уже идет просадка по скорости и вылезают артефакты.
0

#8 User is offline   scifi Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Свой
  • Posts: 3 020
  • Joined: 07 февраля 07

Posted 24 сентября 2018 - 15:58

Цитата(Aner @ Sep 24 2018, 15:40) <{POST_SNAPBACK}>
с разрешением 800х480, ... смотреть только в сторону старших армов с DDR3/4, под линуксами и там где есть нормальный GUI и тп.
C STM32H7xx не все алё.

Не горячитесь вы так. Если кино не надо показывать, то и не нужны все эти старшие.
Статическую картинку кто угодно отрисует. Главное, чтобы совсем уж не тормозило. А от мерцания - двойной буфер в помощь.

Цитата(mantech @ Sep 24 2018, 15:56) <{POST_SNAPBACK}>
Тут не в буферах дело, а пропускной способности шины памяти. Если только отрисовка и работает нормально, то при одновременной интенсивной записи уже идет просадка по скорости и вылезают артефакты.

Ну как бы надо соотносить желания и возможности, наверное. Кстати, а темп прорисовки контролировать не вариант?
0

#9 User is offline   Arlleex Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 492
  • Joined: 12 ноября 11

Posted 24 сентября 2018 - 17:23

Как было уже озвучено - все упирается в пропускную способность шины.
И никакая двойная буферизация не поможет - даже статичная картинка все равно вычитывается из памяти и отрисовывается с отображением прямо на пиксели.
Я поднимал частоту и делал другой формат: не RGB888, а ARGB565. Никаких мерцаний на дисплее 800x480.
0

#10 User is offline   nanorobot Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 244
  • Joined: 29 февраля 08

Posted 24 сентября 2018 - 17:46

Цитата(Arlleex @ Sep 24 2018, 19:23) <{POST_SNAPBACK}>
Как было уже озвучено - все упирается в пропускную способность шины.
И никакая двойная буферизация не поможет - даже статичная картинка все равно вычитывается из памяти и отрисовывается с отображением прямо на пиксели.
Я поднимал частоту и делал другой формат: не RGB888, а ARGB565. Никаких мерцаний на дисплее 800x480.


Картинка близка к статичной, таблицы, менюшки, текстовые поля. Формат у меня тоже 565б Я бы готов и и 8 битный CLUT использовать, но, насколько я понимаю, в этом случае придется попрощаться со сглаживанием шрифтов, что меня не устраивает.
И да, проблема не в мерцании, оно лечится повышением частоты, а в возникающих при этом повышении артефактах.

This post has been edited by nanorobot: 24 сентября 2018 - 17:50

0

#11 User is offline   Arlleex Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 492
  • Joined: 12 ноября 11

Posted 24 сентября 2018 - 19:02

Ну покажите артефакты тогда. У меня артефакты были при некачественом питании SDRAM.
0

#12 User is offline   nanorobot Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 244
  • Joined: 29 февраля 08

Posted 24 сентября 2018 - 19:16

Цитата(Arlleex @ Sep 24 2018, 21:02) <{POST_SNAPBACK}>
Ну покажите артефакты тогда. У меня артефакты были при некачественом питании SDRAM.

Если только завтра. Все дела на работе, а я уже дома. Пока могу описать словами. Артефакты очень серьезные. при перемещении курсора - выделенной цветом строки по таблице, рваное изображение этой же таблицы мелькает в стороне от нее. Как то так. В принципе при отключении DMA2D все почти приемлемо, но оставляет неприятное впечатление начальное прорисовывание экрана, сравнительно медленное. Тем более что картинка пока осталась от прежнего LCD 320x240, после того как я переделаю ее на весь 800х480 это станет еще более заметным

This post has been edited by nanorobot: 24 сентября 2018 - 19:17

0

#13 User is offline   mantech Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Участник
  • Posts: 2 219
  • Joined: 16 августа 12

Posted 24 сентября 2018 - 19:19

Цитата(nanorobot @ Sep 24 2018, 19:16) <{POST_SNAPBACK}>
Если только завтра. Все дела на работе, а я уже дома. Пока могу описать словами. Артефакты очень серьезные. при перемещении курсора - выделенной цветом строки по таблице, рваное изображение этой же таблицы мелькает в стороне от нее. Как то так. В принципе при отключении DMA2D все почти приемлемо, но оставляет неприятное впечатление начальное прорисовывание экрана, сравнительно медленное. Тем более что картинка пока осталась от прежнего LCD 320x240, после того как я переделаю ее на весь 800х480 это станет еще более заметным


У меня подобное было, когда кэш был неправильно настроен, но в данном МК его нет, поэтому странно, как-будто что-то с таймингами.
0

#14 User is offline   nanorobot Icon

  • Местный
  • PipPipPip
  • Group: Участник
  • Posts: 244
  • Joined: 29 февраля 08

Posted 26 сентября 2018 - 11:54

Цитата(scifi @ Sep 24 2018, 17:36) <{POST_SNAPBACK}>
Некоторые делают двойной буфер кадра, чтобы не мерцало.


двойной буфер кадра не чтоб не мерцало, а чтоб не было артефактов? То есть имеем две копии экранов, перерисовываем в теневом, а потом переключаем? Интересно, uGFX поддерживает такую технику? Ухожу читать...

This post has been edited by nanorobot: 26 сентября 2018 - 11:55

0

#15 User is offline   scifi Icon

  • Гуру
  • PipPipPipPipPipPip
  • Group: Свой
  • Posts: 3 020
  • Joined: 07 февраля 07

Posted 26 сентября 2018 - 12:27

Цитата(nanorobot @ Sep 26 2018, 11:54) <{POST_SNAPBACK}>
двойной буфер кадра не чтоб не мерцало, а чтоб не было артефактов? То есть имеем две копии экранов, перерисовываем в теневом, а потом переключаем? Интересно, uGFX поддерживает такую технику? Ухожу читать...

Двойной буфер, чтобы не раздражала медленная прорисовка. Если артефакты от затыка на шине, двойной буфер не в тему - второй буфер на той же шине, что и первый.
0

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1
0