реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> STM342F4 и FSMC, эксплуатация
__inline__
сообщение Jul 6 2018, 10:11
Сообщение #31


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Всё просто замечательно! rolleyes.gif

Подключил дисплей к FMC, настроил времянки. Задействовал кеширование. Вышло 41 FPS.

Потом сделал двойную буферизацию, задействовал ДМА память-память. В итоге пока процессор рендерит один кадр, ДМА отправляет на LCD готовый кадр.
Путём таких ухищрений удалось выжать 63 FPS.

Видео (по сравнению с видео выше с STM32F407, скорость намного выше 63 vs. 24 FPS): http://www.youtube.com/watch?v=4VpX5UfkmWA

Исходники для STM32H743 Ниже. Просьба не ругаться(за кало-Куб), нужно было оценить отладочную плату и процессор STM32H743.

Прикрепленный файл  Tunnel_STM32H743_DMA.rar ( 1.2 мегабайт ) Кол-во скачиваний: 33



Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 6 2018, 12:18
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 5 179
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(__inline__ @ Jul 6 2018, 13:11) *
Видео (по сравнению с видео выше с STM32F407, скорость намного выше 63 vs. 24 FPS): http://www.youtube.com/watch?v=4VpX5UfkmWA

При FPS=24 вообще нет смысла тратить столько ног на LCD - можно по SPI подключить и получить такую же скорость.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Jul 6 2018, 12:24
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(jcxz @ Jul 6 2018, 13:18) *
При FPS=24 вообще нет смысла тратить столько ног на LCD - можно по SPI подключить и получить такую же скорость.

24 FPS - это общий FPS: рендеринг картинки в буфер + перекидывание буфера на дисплей, а не чисто-перекидывание на дисплей

Если перекидывание буфера на экран через SPI даст 24 FPS, то общий FPS программы упадёт до 10 и меньше.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 6 2018, 12:29
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 5 179
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(__inline__ @ Jul 6 2018, 15:24) *
24 FPS - это общий FPS: рендеринг картинки в буфер + перекидывание буфера на дисплей, а не чисто-перекидывание на дисплей

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

Цитата(__inline__ @ Jul 6 2018, 15:24) *
Если перекидывание буфера на экран через SPI даст 24 FPS, то общий FPS программы упадёт до 10 и меньше.

"Перекидывание" даёт FPS=~36 при 45МГц SCLK и 16 бит цвета. А рисование не должно ему мешать если идёт в это время в другой буфер. Таким образом если у вас только рисование даёт 24Гц, то передача по SPI не снизит эту скорость.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Jul 6 2018, 13:26
Сообщение #35


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(jcxz @ Jul 6 2018, 13:29) *
Я это понял. Я и говорю, что с такой скоростью отрисовки, не нужна параллельная шина, можно использовать SPI.

"Перекидывание" даёт FPS=~36 при 45МГц SCLK и 16 бит цвета. А рисование не должно ему мешать если идёт в это время в другой буфер. Таким образом если у вас только рисование даёт 24Гц, то передача по SPI не снизит эту скорость.


Там где 24 Гц - это на STM32F407. У него 128+64 кБ памяти, хватает только на один буфер 320x240x2 и то, он реализован кусками!

Двойная буферизация в STM32H743. Но там 63 FPS.


Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 6 2018, 16:37
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 5 179
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(__inline__ @ Jul 6 2018, 16:26) *
Там где 24 Гц - это на STM32F407. У него 128+64 кБ памяти, хватает только на один буфер 320x240x2 и то, он реализован кусками!

320*240/4=19200 - должно хватать на бОльшее.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Jul 7 2018, 04:10
Сообщение #37


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(jcxz @ Jul 6 2018, 17:37) *
320*240/4=19200 - должно хватать на бОльшее.


2 байта на пиксел. 16bpp.

320x240x2=150 кБ
два буфера - уже 300 кБ < 192 кБ в stm32f407 biggrin.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 7 2018, 06:35
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 5 179
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(__inline__ @ Jul 7 2018, 07:10) *
2 байта на пиксел. 16bpp.
320x240x2=150 кБ
два буфера - уже 300 кБ < 192 кБ в stm32f407 biggrin.gif

Я понимаю, что можно и 4 байта на пиксел положить, но зачем если памяти мало??
У меня 320x240x4 (4bpp конечно-же) в STM32F429 во внутренней памяти и буфер прекрасно влазит в CCM.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Jul 7 2018, 06:47
Сообщение #39


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(jcxz @ Jul 7 2018, 07:35) *
Я понимаю, что можно и 4 байта на пиксел положить, но зачем если памяти мало??
У меня 320x240x4 (4bpp конечно-же) в STM32F429 во внутренней памяти и буфер прекрасно влазит в CCM.

Видите ли, в чём дело... Вы со своей колокольни смотрите на проблему. Я же со своей. Тот туннель, что я выкладывал - ну никак не смотрится в 16 цветах - слишком убого. И в 256 цветах тоже будет плохо смотреться. Поэтому было принято решение использовать 65536 цветов.

Цель была - перенести алгоритм построения трёхмерного туннеля из этой программы: http://www.sulaco.co.za/opengl_project_racing_tunnel.htm , не угробив при этом цветопередачу текстуры.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 7 2018, 06:56
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 5 179
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(__inline__ @ Jul 7 2018, 09:47) *
Тот туннель, что я выкладывал - ну никак не смотрится в 16 цветах - слишком убого. И в 256 цветах тоже будет плохо смотреться. Поэтому было принято решение использовать 65536 цветов.

Туннель - это конечно хорошо. Но зачем он в плане embedded? Какой практический прок? Для всяких смартфонных девайсов - спору нет, но там вроде как и процы немного другие....
А вот для GUI какого-нить девайса 16 цветов - обычно вполне достаточно.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Jul 7 2018, 07:10
Сообщение #41


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(jcxz @ Jul 7 2018, 07:56) *
Туннель - это конечно хорошо. Но зачем он в плане embedded? Какой практический прок? Для всяких смартфонных девайсов - спору нет, но там вроде как и процы немного другие....
А вот для GUI какого-нить девайса 16 цветов - обычно вполне достаточно.

Готовлю плацдарм для прыжка в будущее rolleyes.gif
Если быть точным, то у меня чисто академический интерес - пощупать Cortex-M7, посмотреть его достоинства и недостатки.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Jul 9 2018, 09:37
Сообщение #42


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 5-09-17
Пользователь №: 99 126



Собственно, что мы затеваем: http://vrtp.ru/index.php?showtopic=30174&st=0&

Но хочется большего sm.gif
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd September 2018 - 08:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01068 секунд с 7
ELECTRONIX ©2004-2016