ситуация: F407 ацп дисплей 128*64 i2c частота 168мгц Ацп - 48кгц 16бит = 96кбайт (юзаю дма) дисплей i2c 327кбайт(дма для кадров, 40фпс) = мк умирает, а точнее AHB1 шина. а я тут надеялся прошивку на F042 портировать.

Комментарии: 16

  1. 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 не зависел от рисованию в буферу - был стабилен.

  2. Valerin

    У STM32 I2C блок содержит много эрраты

    • Obscure

      Не думаю что она влияет на производительность.

Не нашли ответ?

Вам также может быть интересно