|
Спецификации (все) на SD карты нужны), Пишу драйвер MCI LPC24x8 |
|
|
|
Jan 22 2013, 10:46
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Добрый день! Друзья, если у кого есть именно все спецификации на карты, выложите пожалуйста У меня сейчас есть 1.0 от 2001 года, и 3.01 с официального сайта. Слышал, что еще есть 2.xx, которой у меня нет Дело в том, что где-то слышал, что на тривильную CMD0 карта должна ответить 0x01 (в IDLE режиме). Но новейшая спецификация с сайта sdcard.org говорит о том, что ответа не будет. У меня под руками пока одна SD на 4Гб. Она не отвечает на CMD0. На CMD8 отвечает 1AA, что соответствует новой спецификации, но не соответствует старой. В общем хотелось бы написать "интеллектуальный, творческий" драйвер, способный работать с разными картами. То, что есть в инете не устраивает: задержки в виде пустых циклов, где-то нет проверок ошибок и откликов. Да и пишу я на Си++ с использованием ООП, да под замечательную РТОС scmRTOS Спасибо!
--------------------
Выбор.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 16)
|
Jan 22 2013, 12:00
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(haker_fox @ Jan 22 2013, 14:46)  Дело в том, что где-то слышал, что на тривильную CMD0 карта должна ответить 0x01 (в IDLE режиме). Но новейшая спецификация с сайта sdcard.org говорит о том, что ответа не будет. У меня под руками пока одна SD на 4Гб. Она не отвечает на CMD0. На CMD8 отвечает 1AA, что соответствует новой спецификации, но не соответствует старой. не совсем так - на тривиальную CMD0 карта отвечает 0x01 в SPI-режиме, в SD-режиме ответа не будет
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Jan 22 2013, 12:38
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 7-12-05
Из: 77
Пользователь №: 11 952

|
Цитата(MrYuran @ Jan 22 2013, 16:25)  Только добавить, что с некоторых пор SPI режим не у всех карт, и чем дальше, тем меньше Откуда такие сведения? Согласно спецификации на физический уровень SD-карты (вплоть до 4й версии спецификации включительно) режим SPI является обязательным и должен присутствовать во всех картах
--------------------
Не, ну наболело, капитан - он выступает как директор пляжа, посол! (с) Ширли-Мырли
|
|
|
|
|
Jan 23 2013, 02:34
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (Mikhalych @ Jan 23 2013, 02:17)  В 4й версии добавляются XC-карты размером от 64 ГБ Чтож, такие объемы нам не светят. Буду искать полную 3 версию в закромах. Если не найду, упрощенная тоже пойдет. Спасибо! Upd: ага, есть полная третья спецификация, и еще куча всего)
--------------------
Выбор.
|
|
|
|
|
Jan 25 2013, 16:09
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (vladimir_orl @ Jan 25 2013, 20:08)  Здравствуйте.
Подскажите, как определить объём подключаемой SD карты. какой командой CMD? А то в интернете особо не нашёл. Заранее благодарен. Я пока не знаю  Еще не дошел до этого пункта.  Всем новичкам типа меня : не ждите правильной CRC от ACMD41. Ее нужно просто игнорировать. Промаялся часов 5, пока не нашел на просторах интернета подсказку о том, что ответ R3 содержит поле КС 'reserved'. Интересно, почему? QUOTE (vladimir_orl @ Jan 25 2013, 20:08)  Заранее благодарен. Товарищ, а Вы зачем кросс-постингом занимаетесь? Размещение одного и того же вопроса в нескольких темах форума строго карается по закону (правилам форума)
--------------------
Выбор.
|
|
|
|
|
Jan 26 2013, 08:46
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Ну вот, я застрял(
Инициализирую так: cmd0, cmd8, acmd41, cmd2, cmd3, cmd7 и здесь все "виснет". После команды 7 карта говорит, что она в stand-by режиме, хотя должна быть в trans.
Команда 7 отрабатывается успешно. Но после нее попытка дать любую команду оборачивается таймаутом.
Карта определилась как SDHC (вроде так и должно быть, это сдшка на 4 Гб).
Почему cmd7 не переводит карту в режим trans? Почему после этого все замирает?
Спасибо!
--------------------
Выбор.
|
|
|
|
|
Jan 27 2013, 10:09
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Господа, помогите, пожалуйста. На CMD17 карта не дает данных. Пытаюсь вычитать один блок (512 байт). Команда отрабатывается MCI успешно. В ответ тишина. В регистре статуса: Data Timeout. Пытался данные вычитывать на частоте < 400 КГц, на однобитной шине. Все одно... Уже бодаюсь не один день. Эти карты какие-то не простые, хотя в спецификации все просто... Спасибо! Поистине волшебный форум) Только напишешь, как проблема решается! Подглядывая в драйвера, раздаваемые с FatFS, переписал код. Там дается CMD17, затем модуль MCI натравливается на ожидание данных. Возникает таймаут. Я сделал наоборот. Сначала подготовил MCI к ожиданию данных от карты. Потом дал CMD17. Данные пришли))) Правда я пока без DMA принимаю, возникает RX Overrun. Но это уже дело техники. CODE MCI_DATA_TMR = 5 * 6000000; // 5 sec at 6000 000 Hz MCI_DATA_LEN = 512;
uint8_t buffer[ 512 ];
MCI_DATA_CTRL = 1 | ( 1 << 1 ) | ( 9 << 4 ); do { retVal = sendCmd( 17, 2048, FMCIShortResp ); if( ( retVal == FOk ) && ( ( response.resp0 & ( 0x0f << 8 ) ) == 0x900 ) ) break; FHAL::sleep( 100 ); timeout -= 100; } while( timeout );
--------------------
Выбор.
|
|
|
|
|
Feb 1 2013, 01:58
|

Гуру
     
Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702

|
Работаю в SPI mode с любыми картами от 1 до 16 Гб. Некоторые карты отвечают на CMD0 со второго раза. Можно по подробнее про новую спецификацию, в практическом аспекте : скоро появятся новые карты, с которыми мой код перестанет работать ? Инициализирую вот так. CMD7 ни где не применяю и даже не знаю зачем она.
Эскизы прикрепленных изображений
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|