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

Потянет ли STM32H7 дисплей 1280х720 (24bit) ?

7 hours ago, AleksBak said:

Получается, что тут идет просто "перекачка байтов(?)" по такой схеме: SDRAM----->дисплей? А LTDC не лопнет тут от переизбытка? Как-то не так все тут рассчитывается вроде.

(откуда именно '110МГц' взялось тоже покамест никак не пойму - честно).

Так говорит даташит на STM32H743 (стр. 272) -   110 МГц это максимально разрешенная частота клока FMC (ревизия V). Через FMC подключен SDRAM  IS42S16160G

Скриншот

Если объясните как можно посчитать заранее какой можно ожидать FPS буду очень рад.

Приложение работает под FreeRTOS + TouchGFX. Сейчас дисплейчик 320х240 (24bit), а хотим поставить 1280x720(24bit).

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


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

13 минут назад, TOG сказал:

Так говорит даташит на STM32H743 (стр. 272) -   110 МГц это максимально разрешенная частота клока FMC (ревизия V)

Все. Понял. Думал, что 125МГц для 'V'. Но тут вообще-то не только FMC участвует так сказать. Все гораздо комплекснее и поэтичнее.

15 минут назад, TOG сказал:

Если объясните как можно посчитать заранее какой можно ожидать FPS буду очень рад.

Приложение работает под FreeRTOS + TouchGFX. Сейчас дисплейчик 320х240 (24bit), а хотим поставить 1280x720(24bit).

Попробую немного прояснить тут - насколько знаю. У Вас тут уже 1280х720. А какая номинальная частота у дисплея (PCLK)? Допустим 32МГц. Тогда посчитаем примерно:

Время отрисовки LTDC = [(1280(длина строки) + ~130(всякие "бекпорчи")) * 31.25нс(период 32МГц)] * [720(кол-во строк) + ~125(всякие "бекпорчи")] = ~37.23мс.

Т.е. частота прерывания LTDC и вызова его HAL-овского колбека 'HAL_LTDC_LineEventCallback' (а 'TouchGFX' его использует насколько понял) будет ~26.9 кадров в сек. Т.е. уже LTDC наложил ограничения макс. в 27fps (и FMC тут не при чем пока что). Если у Вас дисплейчик сможет по более 32МГц, то соотв. пересчет, но пока такая цифра. Но дальше начинается самое сложное и попробуем хоть немного разобраться. Этот LTDC является "master"-ом(!) и сидит в 64-ти битном AXI Bus домене (у его шины (наверное просто "выводов" прямо из него на кристалле процессора) есть соотв. наименование - ASIB6 и я как покамест понял это просто назвали так). Главное тут, что этот LTDC с частотой 27fps "захватывает" шину AXI Bus и "имеет контакт" с внешней SDRAM через FMC. А эта внешняя SDRAM отвечает взаимностью с частотой 110Мслов как у Вас тут. Но еще нужен другой "master"! И появляется на сцене он - монстр DMA2D. Он тоже "насилует" внешнюю SDRAM, "захватывая" опять-таки шину AXI Bus домена(у DMA2D шины (наверное просто "выводов" прямо из него на кристалле процессора) есть соотв. наименование - ASIB5 и я как покамест понял это просто назвали так) (я вот так все понимаю - если кто-то знает лучше, то пожалуйста не стесняйтесь и поправьте). Но делает он это вроде бы тоже с частотой 27fps, но это может быть не совсем и так! Т.к. он должен же "откуда-то" брать видеоданные и "успеть" их подготовить. И если он берет их скажем с внешней QUADSPI, то теперь смотрим на нее и проверяем успеет ли она "отдаться" быстрее чем нужно тут (а это тоже целая запутанная головомка (для меня по-крайней мере) узнать как тут все работает). Захватывая при этом (!) опять-таки шину AXI Bus точно такого же (!) домена D1. Они все тут сидят в этом домене D1 и имеют друг с другом "половые связи" через одну и ту же шину AXI Bus (я вот так все понимаю - если кто-то знает лучше, то пожалуйста не стесняйтесь и поправьте). Т.е. пока один "насильник" не закончит свое дело, то шина занята получается и другой "master" ждет и нехера не сможет делать (я вот так все понимаю - если кто-то знает лучше, то пожалуйста не стесняйтесь и поправьте). Т.е. магическое 27fps делается все меньше и меньше. Это если не учитывать "главного маньяка" - ядра M7. Он тоже сидит в этом домене D1 (неужели??). И он тоже может "взбеситься" и всех "обломать" своей "работой" захватывая при этом (!) опять-таки шину AXI Bus (я вот так все понимаю - если кто-то знает лучше, то пожалуйста не стесняйтесь и поправьте). Как-то так вроде.

Для полноты картины попробую сейчас приложить картину (блок-схему) этого "бедлама"

STM32H72x, STM32H73x, and single-core_02.png

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


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

Не учитываете, скорее всего, многослойность шинной матрицы. Там много чего может работать параллельно, если друг другу не мешает.

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


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

Еще, вот подумал, все таки может у Вас, у дисплея, частота (PCLK) больше 32МГц очень возможно. А какая все-таки? Т.е. число 27fps тут соотв-но линейно увеличивается.

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

Не учитываете, скорее всего, многослойность шинной матрицы

Многослойность - это как? Пожалуйста проясните. Она (он) 64-битная (ый) тут. Т.е. этот домейн. и его проводники тянутся между "красными" кружками (шинными формирователями/демультиплексорами и т.п.) - на приведенной блок-схеме. Т.е. все они "общие" как бы для всех тут? Или у каждого свои линии что ли?

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

Там много чего может работать параллельно, если друг другу не мешает.

Тут, все эти модули, находятся в одном вроде домене D1 и у них одни и те общие трассы между их "красными" кружками?

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


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

14 minutes ago, AleksBak said:

Еще, вот подумал, все таки может у Вас, у дисплея, частота (PCLK) больше 32МГц очень возможно. А какая все-таки? Т.е. число 27fps тут соотв-но линейно увеличивается.

Вопрос конечно интересный. Дисплейчик который мы хотим поставить Winstar WF50DSYA3MNN0  имеет интерфейс MIPI DSI (4 lanes).

И мы собирались подключить его к нашему STM32H743 (LTDC параллельный RGB) через "RGB_to_DSI_bridge SSD2828" или ему подобный.

Так, что про частоту вообще даже не знаю что сказать...

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


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

10 минут назад, TOG сказал:

про частоту вообще даже не знаю что сказать...

Надо пересчитывать. Про MIPI DSI вообще ничего не знаю. LVDS - да (тоже заложил его отдельно у себя), а до этого не дошел пока что. Тут ILI9881C получается.

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

Там много чего может работать параллельно

А какой fps у Вас получилось "выжать"? У меня пока что все очень скромно и где-то 14fps на 1024*600. Покамест с QUADSPI до конца не разобрался и как только разберусь, надеюсь, то сообщу еще что получилось. Я пока что изучаю тут (плату сделал, спаял, но пока изучаю).

У кого-нибудь получился "достойный" fps тут? На H7-м и дисплее больше/равно чем 800*600? (25fps на 800*600 вроде теоретически возможен тут)

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


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

У меня экран был 640*480, цветность RGB565, FPS не измерял ибо было не нужно. МК был другой, правда - F429.

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


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

4 часа назад, TOG сказал:

Сейчас дисплейчик 320х240 (24bit), а хотим поставить 1280x720(24bit).

А в чём тогда проблема посчитать? Поделить текущую частоту на (1280*720)/(320*240) = 12. И умножить на разницу частот памяти.

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


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

3 hours ago, TOG said:

Так, что про частоту вообще даже не знаю что сказать...

66МГц, половина полосы памяти.

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


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

31 minutes ago, aaarrr said:
3 hours ago, TOG said:

Так, что про частоту вообще даже не знаю что сказать...

66МГц, половина полосы памяти.

image.png.ba3c37fa234fd296bf61c1d5edc0b1cc.png

 

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


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

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

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

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

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

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

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

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

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

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