|
STM342F4 и FSMC, эксплуатация |
|
|
|
Jul 6 2018, 10:11
|

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

|
Всё просто замечательно! Подключил дисплей к 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 мегабайт )
Кол-во скачиваний: 34
|
|
|
|
|
Jul 6 2018, 12:24
|

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

|
Цитата(jcxz @ Jul 6 2018, 13:18)  При FPS=24 вообще нет смысла тратить столько ног на LCD - можно по SPI подключить и получить такую же скорость. 24 FPS - это общий FPS: рендеринг картинки в буфер + перекидывание буфера на дисплей, а не чисто-перекидывание на дисплей Если перекидывание буфера на экран через SPI даст 24 FPS, то общий FPS программы упадёт до 10 и меньше.
|
|
|
|
|
Jul 6 2018, 12:29
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 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 не снизит эту скорость.
|
|
|
|
|
Jul 6 2018, 13:26
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 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.
|
|
|
|
|
Jul 7 2018, 04:10
|

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

|
Цитата(jcxz @ Jul 6 2018, 17:37)  320*240/4=19200 - должно хватать на бОльшее. 2 байта на пиксел. 16bpp. 320x240x2=150 кБ два буфера - уже 300 кБ < 192 кБ в stm32f407
|
|
|
|
|
Jul 7 2018, 06:35
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(__inline__ @ Jul 7 2018, 07:10)  2 байта на пиксел. 16bpp. 320x240x2=150 кБ два буфера - уже 300 кБ < 192 кБ в stm32f407  Я понимаю, что можно и 4 байта на пиксел положить, но зачем если памяти мало?? У меня 320x240x4 (4bpp конечно-же) в STM32F429 во внутренней памяти и буфер прекрасно влазит в CCM.
|
|
|
|
|
Jul 7 2018, 06:47
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 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 , не угробив при этом цветопередачу текстуры.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|