|
Инициализация SD, SDHC |
|
|
|
Feb 5 2014, 18:08
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(MiklPolikov @ Feb 5 2014, 23:17)  Тестировалось со всеми картами что удалось купить в магазинах, 1-64Гб, несколько десятков шт, и проблем не было. Спасибо, попробую. Для какого процессора код? Указанный мной тип/производитель был? --------------- Ещё интересует вопрос. С режимом SPI = 3 (0-активный SCK) SD-карты нормально дружат?
Сообщение отредактировал GetSmart - Feb 5 2014, 18:27
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Feb 14 2014, 16:08
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(MiklPolikov @ Feb 6 2014, 00:26)  Не помню. Не помогло. Цитата(GetSmart @ Feb 5 2014, 22:57)  Скорость SPI в них корректная (50 МГц), но размер карты видимо ограничивается 1 гигом. Слегка ошибся. 25 МГц. И произошло чудо. Вторая карточка уже другого производителя начала себя так же вести, хотя до этого идеально работала.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Mar 2 2014, 02:56
|
Частый гость
 
Группа: Guests
Сообщений: 122
Регистрация: 9-10-13
Из: Дубна
Пользователь №: 78 671

|
Цитата(MiklPolikov @ Mar 2 2014, 02:18)  Интересно, SD от microSD вообще ни чем не отличается ? Если все microSD работают по SPI , то и SD будут ? Не будет такого что у какой-нибудь SD не окажется SPI интерфейса ? Там есть SPI, но по сбросу она находится в режиме MMC и чтобы перевести ее в режим SPI для начала все равно придется пройти процедуру инициализации.
Сообщение отредактировал octobus - Mar 2 2014, 02:56
|
|
|
|
|
Apr 7 2014, 08:42
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 6-02-11
Пользователь №: 62 740

|
2MiklPolikov, у Вас в коде массив определен как unsigned char cmd_ansver[6]; а записываете в него 17 элементов: for(j=1;j<=16;j++) ansver[j]=SD_SPI_TRANSMIT(0xFF); Мина замедленного действия.
|
|
|
|
|
Aug 19 2014, 12:17
|
Группа: Участник
Сообщений: 14
Регистрация: 10-08-11
Пользователь №: 66 648

|
Всем добрый день! Начали работать с SD картой(microSDHC), хотим выполнив команду ACMD13 получить 512 бит статуса карты на шине DAT. ДЛя этого мы выполнzем такую последовательность команд: CMD9(приходит ответ, что все ок), CMD7(приходит ответ, что все ок), CMD13(приходит ответ, что все ок), CMD55(приходит ответ, что все ок),CMD6(приходит ответ, что все ок), CMD55(приходит ответ, что все ок), CMD13(приходит ответ, что все ок), но данные на шину DAT не выдает. При всем при этом в response карта отвечает, что находится в режиме tran, как того и требует команда ACMD13. Не подскажите, где мы могли ошибиться в нашем алгоритме или чего не учли при инициализации?
|
|
|
|
|
Jan 30 2015, 15:16
|
Группа: Участник
Сообщений: 14
Регистрация: 10-08-11
Пользователь №: 66 648

|
Всем доброго дня! Вопрос по SD Host: Пытаемся подать команду CMD23 : последовательность байт такая 1-й байт -8'h57, 2-й байт -8'h00, 3-й байт -8'h00, 4-й байт -8'h00, 5-й байт -8'h03, 6-й байт -8'h19(CRC вместе с стоп битом). Карточка на это ничего не отвечает, в чем может быть причина ? Другие команды проходят на ура.
|
|
|
|
|
Jan 30 2015, 15:23
|

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

|
Цитата(mekashikuta @ Jan 30 2015, 18:16)  Всем доброго дня! Вопрос по SD Host: Пытаемся подать команду CMD23 : последовательность байт такая 1-й байт -8'h57, 2-й байт -8'h00, 3-й байт -8'h00, 4-й байт -8'h00, 5-й байт -8'h03, 6-й байт -8'h19(CRC вместе с стоп битом). Карточка на это ничего не отвечает, в чем может быть причина ? Другие команды проходят на ура. Ну во-первых непонятно, по какому интерфейсу выработаете, SD или SPI , и включена ли в последнем случае CRC . Во-вторых из текста очень трудно воспринимать, напишите хотя бы в столбик, или без русских букв между кодами команды....
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
|
Feb 2 2015, 06:08
|
Группа: Участник
Сообщений: 14
Регистрация: 10-08-11
Пользователь №: 66 648

|
Цитата(MiklPolikov @ Jan 30 2015, 18:23)  Ну во-первых непонятно, по какому интерфейсу выработаете, SD или SPI , и включена ли в последнем случае CRC . Во-вторых из текста очень трудно воспринимать, напишите хотя бы в столбик, или без русских букв между кодами команды.... Сорри, за неполную информацию. Работаем в режиме SD, инициализация была проведена и были произведены одиночные обмены и блочные обмены с использованием команды CMD12. Пробуем команду CMD23 последовательность следующая в HEX: 8'h57 8'h00 8'h00 8'h00 8'h03 8'h19 В итоге карточка не отвечает на эту последовательность и мы выходим по таймауту.
|
|
|
|
|
Feb 2 2015, 10:44
|
Группа: Участник
Сообщений: 14
Регистрация: 10-08-11
Пользователь №: 66 648

|
Всем спасибо за помощь, извините за потраченное время, оказалось все гораздо тривиальнее, из 5 карточек, которые пробовали, только 4 поддерживают команду CMD23.
|
|
|
|
|
Jul 8 2015, 11:24
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 13-07-06
Пользователь №: 18 791

|
Добрый день! Разобрался с инициализацией SD карты по SPI. Попробовал писать, читать данные. Теперь компьютер не вилит карту ни через один кард ридер. Видимо я сбил в ней какие то сектора или что то там еще. При этом карта рабочая, т.к. на микроконтроллере проходит и инициализация и чтение/запись. Подскажите, можно ли как то вернуть карту к такому состоянию, чтобы ее увидел ПК? ----------------- Как только задал вопрос, сам сразу и разобрался  Скачал с сайта www.sdcard.org утилиту SDformatter. Она увидела карту и отформатировала ее.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|