Это видео недоступно.
Сожалеем об этом.
Подключение к микроконтроллеру STM32 SD карты по SPI c DMA: stm32f401ccu6 + sd card spi dma
HTML-код
- Опубликовано: 30 мар 2022
- Подключение к микроконтроллеру STM32 SD карты по SPI c DMA. Микроконтроллер stm32f401ccu6 имеет ограниченный набор периферии. Например, у него нет интерфейса SDIO для подключения SD карты. Однако SD может быть подключена тремя способами: по SPI, по 1 каналу данных SDIO и по 4 каналам данных SDIO. Т.е. для stm32f401ccu6 доступно подключение карты памяти по spi. В видео показываю построение проекта и рассказываю про настройки.
Проект доступен для скачивания по ссылке: drive.google.c...
В приложении картинка со схемой подключения.
Поддержать канал:
donate.qiwi.co...
yoomoney.ru/to...
Покупал на Алиэкспресс:
программатор ST-Link alii.pub/6fdujg
плата разработки stm32f401ccu6 alii.pub/6fdumy
плата разработки stm32f411ceu6 alii.pub/6fduop
аудио-ЦАП pcm5102a alii.pub/6fdurf
макетная плата alii.pub/6fduuq
провода для макетной платы alii.pub/6fduwo
3.2" дисплей с тачскрином ILI9341 spi alii.pub/6fdvcf
1.3" дисплей ST7789 spi alii.pub/6fdvks
модуль микро SD карты alii.pub/6fdvoh
stm32, стм32, stm32f401ccu6, spi, sd, stm32 sd, stm32 sd spi, sd spi, spi dma, sd spi dma, stm32 sd spi dma, stm32f401ccu6 sd spi dma, подключение sd карты к stm32, sd + spi + dma, stm32+sd+spi+dma
Резервные явки, если явка на ютуб будет провалена:
Канал на Дзене: zen.yandex.ru/...
Группа в ВК: vadrov
#stm32
#программирование
#sdcard
Подключение дисплея st7789 по spi c dma на CMSIS и LL рассмотрено в видео ruclips.net/video/8tIJ16riJqo/видео.html
Подключение SD-карты по spi с dma на CMSIS и LL рассмотрено в видео ruclips.net/video/z99bLhlnukM/видео.html
Подключение кнопок на таймере с прерыванием на CMSIS и LL с устранением дребезга, автоповтором и буферов ввода (прямо как на PC 😉) рассмотрено в видео ruclips.net/video/e-w5HS75neg/видео.html
Файловый менеджер (структура и код) рассмотрен в видео ruclips.net/video/4c_PwnasQvs/видео.html
Подключение аудио-цап (audio dac) по интерфейсу i2s на CMSIS и LL рассмотрено в видео ruclips.net/video/p0IhX-XiiiQ/видео.html
К каждому из перечисленных видео есть ссылка в описании на проект для скачивания.
Поддержать канал:
donate.qiwi.com/payin/VadRov
yoomoney.ru/to/4100117522443917
Покупал на Алиэкспресс:
программатор ST-Link alii.pub/6fdujg
плата разработки stm32f401ccu6 alii.pub/6fdumy
плата разработки stm32f411ceu6 alii.pub/6fduop
аудио-ЦАП pcm5102a alii.pub/6fdurf
макетная плата alii.pub/6fduuq
провода для макетной платы alii.pub/6fduwo
3.2" дисплей с тачскрином ILI9341 spi alii.pub/6fdvcf
1.3" дисплей ST7789 spi alii.pub/6fdvks
модуль микро SD карты alii.pub/6fdvoh
Про подключение SD по SPI DMA к STM32, но без HAL (LL, регистры): ruclips.net/video/z99bLhlnukM/видео.html
Архив проекта из этого видео: drive.google.com/file/d/1TKiM8Gg1zN2MfJmGmefi3pn52UlcGUFG
Резервные явки, если явка на ютуб будет провалена:
Канал на Дзене: zen.yandex.ru/vadrov
Группа в ВК: vk.com/vadrov
Здравствуйте. будет работать этот код на stm32f411ceu6?
Здравствуйте. Будет. Стройте проект для 411 и подключайте к нему драйвер.
Если МК поддерживает SDIO, в чем его преимущество перед SPI, кроме скорости? Уменьшает занятость процессора, или при использовании DMA нет разницы? Или если скорость не важна, то что лучше выбрать?
Преимущество в скорости (от 4 раз выше при использовании 4-разрядного sdio). Меньше загрузка ядра в сравнении со spi независимо от использования или неиспользования DMA: контроллер аппаратный и по командам сам формирует соответствующие запросы к карте в отличие от подключения по spi, где мы формируем запросы ввода/вывода к карте по соответствующей спецификации. Что выбрать, выбирает разработчик в зависимости от специфики проекта. К слову, sdio более "капризна" в обвязке: требуется подтяжка на линиях, желательна равнозначность длин проводников, особенно, при больших скоростях обмена, но легко реализуема на современных микроконтроллерах. spi проще в аппаратной реализации, да, и программный драйвер тоже проще.
Понял, спасибо. Все хочу попробовать :)
Эс Пи Ай ❌
Спи ✅
Лэйбл ❌
Лабел ✅
Thank You VADROV
Добрый день, очень хороший и полезный метод. К сожалению у меня не работает. У меня версия STM cubide 1.10.11 а девайс Nucleo L452. Как изменить этот код для моей случии ? спосибо !
Приветствую.
Конечно, не работает. Там (stm32l4xxx) DMA иное, как в серии g0 (да, и spi тоже). Набросал, попробуйте:
drive.google.com/file/d/1054SpgjxuxivH0yIga5SmuDCfkYfv_zX/view
SD_MOSI -> PC3, SD_MISO -> PC2, SD_CLK -> PB10, SD_CS -> PC1. Ну, и питание к модулю SD (3.3 v) не забудьте подключить. На карте создайте в корневой директории файл test.txt При успешном открытии файла на плате должен мигать зеленый светодиод (подключен к выводу PA5) с частотой 3 раза в секунду, а при ошибке - один раз в секунду. Сам проверить не могу - нет "отладки" с такой серией МК в наличии. Код драйвера SD написан на CMSIS, так что, сам основной проект может быть хоть на HAL, хоть на LL.
Возможно ли записывать информацию на SD-карту в while(1)? До цикла запись производится без проблем, в цикле никак записи достичь не могу.
Если цикл пустой, то попробуйте вставить в него хотя бы одну строку __NOP()
Что здесь чёрт возьми происходит😅
Таинство. Он (микроконтроллер) и она (sd карта) решили сочетать себя узами вечного коннектинга.