Низкая скорость записи SD на STM32 через SDIO(FatFs)
Низкая скорость записи SD на STM32 через SDIO(FatFs)
Добрый день. Воспользовавшись примерами ST написал STM32F2+FatFs+SDIO. Получил достаточно низкую скорость записи на SD карту. Чем это может быть обусловлено? Может кто то с таким сталкивался
- Реклама
Re: Низкая скорость записи SD на STM32 через SDIO(FatFs)
День добрый!
Непосредственно с STM32 и FatFs не работал, подключал SD карточку через SPI к ADuc7061MKZ.
Как я помню по исходникам, FatFs работает следующим образом: отослать\принять один байт по SPI, подозреваю что с SDIO тоже самое.
Соответственно у FatFs большие накладные расходы на отсылку одного байта, типа: загнать байт в регистр отослать, подождать что все хорошо и т.п., потом снова...
Мой опыт, пишу на SD карту поблоково, сразу формирую буфер из 512 байтов и перегоняю на карточку.
То есть в обработчике прерываний, как только приходит irq что байт отослан, сразу отсылается новый, пока буфер не исчерпается.
В принципе 32 кбайт/сек (8 кГц ADC х 4 байта данных) пролетают свободно, а у Вас какие скорости?
Непосредственно с STM32 и FatFs не работал, подключал SD карточку через SPI к ADuc7061MKZ.
Как я помню по исходникам, FatFs работает следующим образом: отослать\принять один байт по SPI, подозреваю что с SDIO тоже самое.
Соответственно у FatFs большие накладные расходы на отсылку одного байта, типа: загнать байт в регистр отослать, подождать что все хорошо и т.п., потом снова...
Мой опыт, пишу на SD карту поблоково, сразу формирую буфер из 512 байтов и перегоняю на карточку.
То есть в обработчике прерываний, как только приходит irq что байт отослан, сразу отсылается новый, пока буфер не исчерпается.
В принципе 32 кбайт/сек (8 кГц ADC х 4 байта данных) пролетают свободно, а у Вас какие скорости?
