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

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

5 минут назад, jcxz сказал:

А почему всего 14 МГц?

Глянул даташит на ILI9486, там картинка с времянкой по SPI

image.png.e8a83da174e3f0b5de5b42f1ef295caa.png

 

14МГц - это при условии автоинкремента внутреннего счетчика пикселя в экране. Ну то есть если просто гнать данные в экран (пока что в подробности не вдавался, плохо будет, если промежуточные команды надо посылать).

По картинке - в лучшем случае 30нс на период клока SPI это 33МГц. А 14МГц - это мои расчетные. В идеале - натравить DMA на постоянный вывод в дисплей сплошного потока видеобуфера (как в модуле LTDC), а в МК при отрисовке программно подпихивать разные адреса видеобуферов с подготовленными виджетами.

SDRAM да, поставить придется. Ладно, думаю тупо заказать еще дисплеев с SPI на ILI-подобном контроллере и потестировать вживую.

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


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

По моему вы не понимаете, что Serial Clock Cycle(Write) это максимальная частота  передачи бита а не байта или 16 битного цвета.

 

Т.е. если задать прямоугольник во весь экран и заливать его двумя байтами на пиксель:

 

480*320*2*8*0,000'000'066= 0,162'201'6 секунд на кадр по SPI

 

480*320*1*0,000'000'050=0,007'68 секунд на кадр по 16 битной шине

(или в 21 раз быстрее (130 кадров в секунду(кажется матрица из видеопамяти обновляется медленнее)))

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

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


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

2 часа назад, Donker сказал:

По моему вы не понимаете, что Serial Clock Cycle(Write) это максимальная частота  передачи бита а не байта или 16 битного цвета.

Точняк. Посыпаю голову пеплом. Значит все еще хуже. Один фиг уже заказал экран - жду приезда. Буду экспериментировать и разгонять.

А подключать по 16-битной шине уже смысла нет, потому что с таким успехом я мог бы подключиться к LTDC контроллера, а там плюшек побольше будет, нежели от простой шины FSMC или, что еще хуже, ногодрыжного варианта (помимо ногодрыга, работы для CPU с головой).

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


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

11 часов назад, Arlleex сказал:

Глянул даташит на ILI9486, там картинка с времянкой по SPI

14МГц - это при условии автоинкремента внутреннего счетчика пикселя в экране.

А Вы уверены, что в том модуле что заказали с али стоит именно тот контроллер, который у них указан на странице? :wink: Я вот нет. Потому что китайса очень часто там пишут не то что реально стоит, а то что при поиске выдаст страницу с их товаром. Там вполне возможно совсем другой чип, совместимый по интерфейсу с ILI9xxx, но с другими времянками.

По-крайней мере как я заметил: многие ставят в своих проектах частоты SCLK >= 40МГц и не видел отзывов чтобы из-за этого переставало работать. Если-б максимальная частота STM32F429 не была бы ограничена 180 МГц, я бы попробовал и выше 45 МГц SCLK поднять. И вполне возможно что работало бы нормально.

А если посчитать для вашего разрешения: 480*320*16/45000000 = ~55мс, примерно fps==18 - не очень конечно, но может вам и хватит для анимации. В реальности там будет ещё немного хуже из-за межсловных пауз в битовом потоке, которые нельзя убрать в STM32.

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


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

Только что, jcxz сказал:

А Вы уверены, что в том модуле что заказали с али стоит именно тот контроллер, который у них указан на странице? :wink: Я вот нет.

А если посчитать для вашего разрешения: 480*320*16/45000000 = ~55мс, примерно fps==18 - не очень конечно, но может вам и хватит для анимации. В реальности там будет ещё немного хуже из-за межсловных пауз в битовом потоке, которые нельзя убрать в STM32.

Печалька какая-то:smile:

В общем что: жду из Китая дисплеи IPS с SPI- и RGB-интерфейсами, платы для их подключения есть. Сравню скорости отрисовки анимаций, но уже склоняюсь снова к первоначальному варианту с LTDC:paint2:

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


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

20 минут назад, Arlleex сказал:

В общем что: жду из Китая дисплеи IPS с SPI- и RGB-интерфейсами, платы для их подключения есть. Сравню скорости отрисовки анимаций, но уже склоняюсь снова к первоначальному варианту с LTDC:paint2:

Можно попробовать взять Infineon XMC4700 или XMC4800 у него 352КБ ОЗУ и SPI может работать на SCLK до 72МГц и попробовать вдуть поток с него. Рисовать картинку придётся по частям (например - верх рисуется, низ - отправляется в это время по SPI). И хранить в формате 16бит на пиксель. Правда почти вся ОЗУ на это уйдёт. Ну или поискать другой МК с примерно такой же частотой SPI, но с бОльшей ОЗУ.

Очень жаль что все эти ILI почему-то не поддерживают dual- и quad-SPI. Странно, ведь это было бы логично.

 

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

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


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

1 час назад, Donker сказал:

Это будет разгон SPI интерфейса экрана в 5 раз.

Почему именно в 5, а не в 6?

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


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

7 часов назад, Donker сказал:

75000000/(1/0,000000065)=4,875

Ещё раз: А с чего вы взяли, что в заказанном на али модуле стоит чип именно с 0.000000065, а не чем то другим? Можно любое значение с потолка взять.

 

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


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

1 час назад, Donker сказал:

Там 400 заказов 200 отзывов , по поводу подмены чипа претензий нет.

Ага, 200 отзывов "всё получил быстро, упаковано классно в пупырку"  :biggrin:

В моём модуле что-то находится под большой чёрной кляксой, подскажите: как определить что именно там находится?

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


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

Обычно, чтение из контроллерного регистра 0 даёт идентификатор контроллера; как минимум, один из признаков "живого" чипа.

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


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

On 2/14/2019 at 8:19 PM, Arlleex said:

Экран у меня 480x320. Глубина цвета - ну на сегодняшний момент 24 бита (RGB666) (именно хранение пикселей). Вот и думаю, 480*320*30fps*3Bpp = ~14МГц обмена по SPI

 

RGB666 -> 6+6+6 = 18 бит и это совсем не 24 бита, а дальше как вы считаете - вообще загадка

480*320*30fps*3Bpp - 3 бита на пиксель ? для 18 бит нужна частота SPI в 6 раз больше, для 24 - в 8 раз.

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


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

1 минуту назад, sasamy сказал:

 

RGB666 -> 6+6+6 = 18 бит и это совсем не 24 бита, а дальше как вы считаете - вообще загадка

480*320*30fps*3Bpp - 3 бита на пиксель ? для 18 бит нужна частота SPI в 6 раз больше, для 24 - в 8 раз.

RGB666 - это физический формат. Кодируется он целым числом байтов.

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


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

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

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

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

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

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

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

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

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

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