ситуация: F407 ацп дисплей 128*64 i2c частота 168мгц Ацп - 48кгц 16бит = 96кбайт (юзаю дма) дисплей i2c 327кбайт(дма для кадров, 40фпс) = мк умирает, а точнее AHB1 шина. а я тут надеялся прошивку на F042 портировать.
ситуация: F407 ацп дисплей 128*64 i2c частота 168мгц Ацп - 48кгц 16бит = 96кбайт (юзаю дма) дисплей i2c 327кбайт(дма для кадров, 40фпс) = мк умирает, а точнее AHB1 шина. а я тут надеялся прошивку на F042 портировать.
Комментарии: 16
Fedor
чет пиздец. У нас на F407 100мбит в FullDuplex(т.е.200мБит суммарно) летает. USB <-> Ethernet
Obscure
ну, у меня там еще FFT целочисленное (флоат не надо так как на другом мк нужна эта прошивка) Как вобще можно оценить загруженность МК, есть какие то советы?
Fedor
как делал Di. Какой нибудь пин дергай в процедурах или в мэйне
Valerin
Я по I2C в экранчик 64*32 что ли под 100 fps получал, OLED медленее свою развертку проворачивал, на STM32F030
Fedor
ты без DMA, а выше человек пишет что с DMA загрузку AHB наверно сложновато оценить
Valerin
Так с DMА
Fedor
но можно пробовать с BURST играться полагаю для дисплея нужно побольше выставлять хотя не, там же своя частота I2C
Obscure
По больше чего? хз, я больше 40фпс не выжал с SSD1603, при увеличении кол. кадров, картинку рвать начинает (или плыть, что говорить о том, что буфер не отправился полносью)
Fedor
там же мастер захатывает шину и передает какую то порцию данных burst параметры, если не ошибаюсь, указывают размеры этих порций но опять же - I2C. Там нет своего FIFO и наверно шина захватывается DMA ради каждого одного байта для дисплеев с динамичной картинкой видимо лучше параллельные интерфейсы)
Obscure
Они то указывают, но так или иначе, буфер в I2C 1байт.
Fedor
да, я о том же
Obscure
но в любом случае, это вышло быстрее чем програмное "дерганье" I2C
Fedor
у нас в проекте то есть свои буферы у переферии слушай, а в этом SSD1603 там же свая развертка какой смысл пытаться накачивать FPS?
Obscure
Ну, екранный буфер у меня есть, он содержит кадр, и по таймеру отправляется по I2С, но, из за ограниченной скорости i2c всёравно быстро с ним не поработаешь. Смысла никакого, просто нужно что бы fps не зависел от рисованию в буферу - был стабилен.
Valerin
У STM32 I2C блок содержит много эрраты
Obscure
Не думаю что она влияет на производительность.