реклама на сайте
подробности

 
 
> STM32F4Discovery + SD карта через SDIO, Кто-нибудь делал?
hd44780
сообщение Jan 21 2013, 19:21
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Собственно тема.

Примеров именно под Discovery я не нашёл, пришлось выдирать и переправлять из примеров к плате STM3240G-EVAL.
Получившийся код прилагаю.

Сама карта подключена проводками к соответствующим ногам проца:
PC8 - DAT0
PC9 - DAT1
PC10 - DAT2
PC11 - DAT3
PC12 - CLK
PD2 - CMD

На всех ногах, кроме CLK стоят pull-upы 47к на +3в. Как собственно нарисовано в схеме STM3240G-EVAL rolleyes.gif .
Выключателей CardDetect и ReadOnly нет вообще (разъём коряво припаяли, они всё время замкнуты на корпусе biggrin.gif ). Соответственно от проца они отключены и не опрашиваются.

Опрос:
Код
      // Init SD card
      sdErr = SD_Init ( );
      
      if ( sdErr == SD_OK )
      { // Карта инициализирована
        isSdPresent = true;
        STM_EVAL_LEDOn ( LED_GREEN );       // Светодиодик

        strcpy ( buffer, "Card init OK\r\n" );
      } // if
      else
      {
        isSdPresent = false;
        STM_EVAL_LEDOn ( LED_RED );         // Ошибка инициализации карты

        sprintf ( buffer, "Card init FAIL, code = %d\r\n", (int)sdErr );
      } // if


Результат - код ошибки 2 - CRC Error. buffer выводится на комп через виртуальный USB COM-порт.
Пытался регулируовать скорость макросом SDIO_TRANSFER_CLK_DIV - вообще виснет.
Сама карта (даже 2) рабочая. В картридерах работают и по SPI (на проце AT91SAM7S256) тоже.

Помогите, кто может.

Ещё непонятно, что такое
#define SDIO_FIFO_ADDRESS ((uint32_t)0x40012C80)

Буфер обмена с картой? Тогда чего адрес фиксированый? Может не туда улетает?

Спасибо.
Прикрепленные файлы
Прикрепленный файл  sdio_sd.zip ( 19.47 килобайт ) Кол-во скачиваний: 48
 


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
flopix
сообщение Aug 31 2013, 16:25
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 21-06-12
Пользователь №: 72 429



В режиме SDIO 1 бит читает без сбоев на максимальной скорости. Значит все таки проблема в проводах.

При этом файл размером 20 мбайт читает при размере блока чтения
512 42c
1024 21c
2048 13c
4096 11c
8192 9c
16384 9c
32768 8c

При этом скорость чтения получается около 2,5МБайта в секунду.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.03217 секунд с 7
ELECTRONIX ©2004-2016