К микроконтроллеру STM32F407 карты памяти SD/MMC [1] можно подключить двумя способами. Первый широко известный, хорошо изученный способ - через SPI [2]. Второй способ подразумевает использование специального аппаратного интерфейса для карт памяти SDIO. Рассмотрим оба способа подключения на примере микроконтроллера STM32F407ZGT6, установленного на макетной плате Olimex STM32-P407 [3].
[Подключение карт SD через SPI]
Так карты памяти часто подключают к многим микроконтроллерам, начиная с AVR. По умолчанию именно так сконфирована плата STM32-P407. Схема подключения и фотография установленных перемычек R29.. R32 показаны ниже.
Готовый проект с файловой системой, работающей через SPI, можно найти в примерах от Olimex [4]. Обратите внимание, что для подключения к карте памяти используется SPI3, который также выведен и на коннектор UEXT. Поэтому если Вы управляете через UEXT каким-то SPI-устройством (например, сетевой картой на чипе ENC28J60), то нужно организовать корректное программное управление выборками для подчиненных устройств SPI, подключенных к одной шине (PF8 для UEXT и PD2 для слота карт microSD). Кроме того, эти устройства должны поддерживать одинаковые настройки SPI, чтобы не нужно было постоянно менять режим работы SPI.
[Подключение карт SD через SDIO]
Для подключение через SDIO нужно выпаять перемычки R29.. R32, и установить перемычки R22, R24, R24..R27. В результате получится схема, приведенная ниже.
SDIO теоретически позволит получить скорость обмена с картой памяти на порядок выше, чем при работе через SPI. При использовании SDIO не получится подключить следующие модули: видеокамера (потому что будут заняты сигналы DCMI_D2 и DCMI_D3), коннектор RS232_2 (из-за того, что будет занят USART3_TX) и SPI3 на коннекторе UEXT.
[Ссылки]
1. Как использовать карты памяти MMC/SDC. 2. Интерфейс SPI. 3. Olimex STM32-P407. 4. 140808STM32F407.zip - документация по микроконтроллерам STM32F40x/41x, по плате Olimex STM32-P407, схема, примеры кода. |
Комментарии
По линии D3 определяется SD карта. Описание пина: "Card detect / Data line [bit3]". наверно поэтому там резистор другой
microsin: не знаю, не изучал вопрос. Схема взята из описания Olimex.
RSS лента комментариев этой записи