Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Скорость вывода пикселей на TFT 3.5" 320x480 (ili9486)?

Пн фев 11, 2019 18:14:11

Присмотрел такой экранчик: http://ali.onl/1dtP
TFT 3.5" 320x480, вроде как на ili9486

Вопросы:

Что означает ili9486/ili9488 в описании у продавца (это какое то мошенничество, пришлют более дешевую модель)?

С за сколько времени можно попиксельно заполнить весь экран, при использовании 16 битной шины данных, на максимуме
скорости интерфейса, без разгона, по датащиту. Например, для передачи произвольного пикселя TFT 320x240 на ili9341 в
варианте 8 битной шины данных и двухбайтового цвета, надо отправить 13 байт на экранчик(!), (на STM32F105RBT6 удалось
выжать около 0,4 сек на заполнение экрана, пичалька), тут как этим?

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

Какие ещё есть интересные варианты покупки этого экранчика?

Re: Скорость вывода пикселей на TFT 3.5" 320x480 (ili9486)?

Пт мар 29, 2019 19:12:47

Извините, я тут в соседней теме про ILI9341. Брал 2,4", теперь хочу купить 3,2" но 240х320

Вряд ли смогу ответить на ваши вопросы в полной мере, но про скорость работы хотел бы выразить свое мнение. :
Чаще всего полное заполнение нужно только один раз, а потом только перерисовка некоторых участков. И тут уже дело вкуса и как организовано это программно. Например перерисовка с предварительной очисткой строки, программно пропускаем пиксель background - а, если перерисовываем например цифру по цифре, то с пикселями background-а.
Я гнался за скоростью отрисовки, но потом её немного снизил, оставив небольшие деликатные "переходные процессы".

Суть всей этой гонки за скоростью для, в большем случае, приборов со статической индикацией?

Re: Скорость вывода пикселей на TFT 3.5" 320x480 (ili9486)?

Сб мар 30, 2019 08:23:20

Например. При частоте ядра 48 МГц С Level O3 ili9325 320х240 заполняется за 14.75 мс

Re: Скорость вывода пикселей на TFT 3.5" 320x480 (ili9486)?

Вт окт 22, 2019 08:40:38

Для размышлений:

Появилось время опять заняться подобными дисплеями. Эксперименты провожу с ST7735 128x160.
МК атмега8, 8Mhz.
Вырезал из кода все лишние движения (asm), установил максимальную частоту SPI. Проверяю полное заполнение: визуальный эффект - как будто шторка закрывается, но причём не на протяжении всего заполнения, а только в конце заполнения.
Повысил частоту до 16 MHz. Заполнение происходит в момент, но вот на изображении появились дополнительные ненужные "артефакты" в виде косых ... не знаю как описать.

Открываю даташиты: ну так и есть!
10. Tearing Effect Information
The Tearing Effect output supplies to the MCU a Panel synchronization information (= Tearing Effect information) which is telling the position of the refreshing on the display panel, to the MCU which can decide when it can send image information to ILI9486L (Mainly used for a moving image e.g. video clips) that there can avoid the abnormal visual effect on the display panel of ILI9486L.
This information can be enabled or disabled by the Tearing Effect Line Off & On commands. The mode of the Tearing Effect Signal is defined by the parameter of the Tearing Effect Line Off & On commands.
This Tearing Effect information can be sent in two different ways:
• Separated Line, which is so-called Tearing Effect (TE) line.
• Bus, which is so-called Tearing Effect (TEE) Bus Trigger, when ILI9486L is sending a trigger to the MCU.
The TE line is used in MCU parallel interface. The TE line can also be used in DSI case if the tearing Effect (TEE) Bus Trigger is not possible to use.The Tearing Effect (TEE) Bus Trigger is only used in DSI case.

Это из даташита на ili9486, но на остальные контроллеры (ST7735) также есть разделы типа "9.12 Tearing Effect Output Line" и "9.12.2 Tearing Effect Line Timings".

Вывод: быстро закинуть данные в дисплей можно, но нужно делать это не абы как, а с умом и с синхронизацией.

На данный момент моё мнение по поводу скорости вывода не изменилась. В своей одной конструкции на ILI9341 я разогнал только скорость первой заливки, но заливка идёт до подачи сигнала на LED (или BL), и её никак нельзя созерцать. Потом только обновление некоторых участков. На одном участке, при выводе одной строки я специально забил код лишними циклами, чтобы получился более плавный вывод, типа с "переходными эффектами" - глазу приятнее, чем резкая смена строки.

Видео с tearing effect:


PS Для синхронизации развёртки дисплея с MCU должен присутствовать пин "TE" (выход), которого на панелях дисплеев нет.
TE - Tearing effect output pin to synchronies MCU to frame rate, activated by S/W command.
Так что за скоростью гнаться на стандартных панелях не имеет смысла.

Re: Скорость вывода пикселей на TFT 3.5" 320x480 (ili9486)?

Чт дек 26, 2019 23:12:54

Я такой дисплей использовал для своего VNA

Точных цифр не помню, но на STM32F405 получалось немногим больше 50-ти кадров в секунду.
Всетаки параллельная шина это круто!
Ответить