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

 
 
> SD card on SPI, как организовать общение c SD картой по SPI ?
Zlo
сообщение Aug 6 2009, 17:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 29-09-05
Из: Москва
Пользователь №: 9 094



Вопрос таков: все ли SPI у SD карт одинаковые ?
Столкнулся со следующей проблемой: пытался инициализировать SD карту (взял 2 разные, как оказалось ответы на команды инициализации CMD8, ACMD41 и CMD55 у них тоже разные).

одна (от NOKIA) говорит что много ошибок
а вот от Kingston на CMD55 (55+0x40) выдаёт 5 (Idle + Error Comand)
так же как и на ACMD41 и CMD1

(может я что не так делаю) ?

Алгоритм инициализации следующий:

1. отправляю 16 байт 0xFF
2. отправляю CMD0 получаю 1
3. отправляю CMD1 или CMD55 + ACMD41(0xC0+41) - получаю 5 на каждую команду

при отправке всех команд CS опускается и поднимается
после нескольких опытов карточка стала возвращать 0xe0 на все команды

Вопрос: может проще MMC использовать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ruslan-maniak
сообщение Feb 20 2016, 06:17
Сообщение #2


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

Группа: Участник
Сообщений: 92
Регистрация: 27-12-12
Из: Томск
Пользователь №: 74 999



Взял библиотеку от Техасов (на их отладке с разъёмом под карту всё норм работает), переношу библиотеку на отладку STM с внешним SD card адаптером и абсолютно такой же код не инициализирует карту.
Инициализация следующая:
1) 74 импульса SCK
2) Отправка CMD0, ответ 0x01
3) Отправка CMD8 с аргументом 0x01AA, ответ 0x01 и 0x000001AA
4) Отправка CMD55 (ответ 0х01) и CMD41 c аргументом 0x04000000, И ВОТ ТУТ на STM всё время приходит ответ 0x01, а ожидается 0х00.
Хотя на техасе всё проходит нормально. Осцилограммы SPI буквально идентичны на 2 отладках. В чём причина - ума не приложу.
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 20 2016, 08:17
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Ruslan-maniak @ Feb 20 2016, 09:17) *
CMD41 c аргументом 0x04000000

Это неверно. Посмотрите внимательно аргументы команды ACMD41.

Цитата
Followings are general rules of the argument of ACMD41:
(1) If the voltage window field (bit 23-0) in the argument is set to zero, it is called "inquiry CMD41" that
does not start initialization and is use for getting OCR. The inquiry ACMD41 shall ignore the other
field (bit 31-24) in the argument.
(2) If the voltage window field (bit 23-0) in the argument is set to non-zero at the first time, it is called
"first ACMD41" that starts initialization. The other field (bit 31-24) in the argument is effective.
(3) The argument of following ACMD41 shall be the same as that of the first ACMD41.

При нулевом OCR инициализация не должна стартовать.
Нулевой OCR можно использовать для получения правильного OCR.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Zlo   SD card on SPI   Aug 6 2009, 17:46
- - sergeeff   Зайдите на сайт Atmel'а. Там в разделе 32-разр...   Aug 6 2009, 18:47
|- - Zlo   Цитата(sergeeff @ Aug 6 2009, 22:47) Зайд...   Aug 7 2009, 06:47
- - aaarrr   Цитата(Zlo @ Aug 6 2009, 21:46) 1. отправ...   Aug 6 2009, 20:01
- - petrovichs   Я как раз тоже занялся изучением SD и мини-SD карт...   Aug 24 2009, 15:17
|- - zltigo   Цитата(petrovichs @ Aug 24 2009, 17:17) Ш...   Aug 24 2009, 15:41
- - head_sk   Держи, парень.   Aug 24 2009, 20:52
- - petrovichs   Огромное вам спасибо. Просто опытному разработчик...   Aug 24 2009, 21:09
|- - AlexandrY   microSD Kingston-ы на 2 Гб поддерживают SPI. Прове...   Aug 25 2009, 05:59
- - petrovichs   Все-таки задам маленький последний вопросик. Если ...   Aug 25 2009, 19:25
|- - aaarrr   Цитата(petrovichs @ Aug 25 2009, 23:25) В...   Aug 25 2009, 19:28
- - petrovichs   Я понял, значит если нет аппаратного SD-интерфейса...   Aug 25 2009, 22:06
- - Ndf   Есть вопрос относительно скорости записи/чтения MM...   Sep 8 2009, 11:59
|- - zltigo   Цитата(Ndf @ Sep 8 2009, 13:59) Подскажит...   Sep 8 2009, 14:54
|- - Ndf   Цитата(zltigo @ Sep 8 2009, 18:54) ...чит...   Sep 9 2009, 11:15
|- - zltigo   Цитата(Ndf @ Sep 9 2009, 13:15) Может как...   Sep 9 2009, 11:23
|- - Ndf   Хм...в SPI-mode эта команда имеет параметры Argume...   Sep 9 2009, 12:36
|- - zltigo   Цитата(Ndf @ Sep 9 2009, 14:36) Хм...в SP...   Sep 9 2009, 12:41
- - Ndf   Прочитал еще раз spec... да, действительно, после ...   Sep 10 2009, 12:36
|- - MiklPolikov   Цитата(Ndf @ Sep 10 2009, 16:36) Прочитал...   Jan 19 2013, 12:09
- - Ndf   Отвечу сам себе... причину нашел , и она кроется ...   Sep 11 2009, 13:04
- - polyname   может поможет - вот рабочий код: Кодenum sd_type {...   Jan 20 2013, 11:58
- - ohmjke   Пишу на SDHC блок и после этого читаю его. После з...   Jul 23 2014, 11:19
|- - adnega   Цитата(ohmjke @ Jul 23 2014, 15:19) Пишу ...   Jul 23 2014, 19:46
|- - Ndf   Цитата(ohmjke @ Jul 23 2014, 15:19) Пишу ...   Jul 25 2014, 06:41
- - ohmjke   Пришлось городить кольцевой буфер в RAM. Пока всё ...   Jul 24 2014, 15:33
- - Ruslan-maniak   Помогите, товарищи. Третий день не могу запустить ...   Feb 19 2016, 09:21
|- - doom13   Цитата(Ruslan-maniak @ Feb 19 2016, 12...   Feb 19 2016, 10:24
- - Ruslan-maniak   Так в том то и дело, что это именно ответ. До него...   Feb 19 2016, 10:42
- - doom13   У меня так работало: CODE void SDCard::SendCmd(SDC...   Feb 19 2016, 11:00
- - Ruslan-maniak   Команды отправляются правильно. Так как инициализа...   Feb 19 2016, 11:03
- - Ruslan-maniak   Почему-то все остальные источники, например Чэн та...   Feb 24 2016, 03:26
- - p_kav   Здравствуйте. Чтобы не плодить темы, напишу сюда....   Jul 28 2016, 17:17


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

 


RSS Текстовая версия Сейчас: 6th September 2025 - 13:06
Рейтинг@Mail.ru


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