Перейти к содержанию
    

Тестировалось со всеми картами что удалось купить в магазинах, 1-64Гб, несколько десятков шт, и проблем не было.

Спасибо, попробую. Для какого процессора код?

 

Указанный мной тип/производитель был?

 

---------------

 

Ещё интересует вопрос. С режимом SPI = 3 (0-активный SCK) SD-карты нормально дружат?

Изменено пользователем GetSmart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, попробую. Указанный мной тип+производитель был?

Не помню.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не помню.

Не помогло.

 

Скорость SPI в них корректная (50 МГц), но размер карты видимо ограничивается 1 гигом.

Слегка ошибся. 25 МГц.

 

И произошло чудо. Вторая карточка уже другого производителя начала себя так же вести, хотя до этого идеально работала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, SD от microSD вообще ни чем не отличается ? Если все microSD работают по SPI , то и SD будут ? Не будет такого что у какой-нибудь SD не окажется SPI интерфейса ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не будет такого что у какой-нибудь SD не окажется SPI интерфейса ?

Насколько мне известно, в стандарте нигде не сказано, что карта имеет права не поддерживать SPI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, SD от microSD вообще ни чем не отличается ? Если все microSD работают по SPI , то и SD будут ? Не будет такого что у какой-нибудь SD не окажется SPI интерфейса ?

 

Там есть SPI, но по сбросу она находится в режиме MMC и чтобы перевести ее в режим SPI для начала все равно придется пройти процедуру инициализации.

Изменено пользователем octobus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2MiklPolikov, у Вас в коде массив определен как unsigned char cmd_ansver[6]; а записываете в него 17 элементов:

for(j=1;j<=16;j++)

ansver[j]=SD_SPI_TRANSMIT(0xFF);

Мина замедленного действия.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем добрый день! Начали работать с SD картой(microSDHC), хотим выполнив команду ACMD13 получить 512 бит статуса карты на шине DAT. ДЛя этого мы выполнzем такую последовательность команд: CMD9(приходит ответ, что все ок), CMD7(приходит ответ, что все ок), CMD13(приходит ответ, что все ок), CMD55(приходит ответ, что все ок),CMD6(приходит ответ, что все ок), CMD55(приходит ответ, что все ок), CMD13(приходит ответ, что все ок), но данные на шину DAT не выдает. При всем при этом в response карта отвечает, что находится в режиме tran, как того и требует команда ACMD13. Не подскажите, где мы могли ошибиться в нашем алгоритме или чего не учли при инициализации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем доброго дня! Вопрос по 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 .

Во-вторых из текста очень трудно воспринимать, напишите хотя бы в столбик, или без русских букв между кодами команды....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну во-первых непонятно, по какому интерфейсу выработаете, SD или SPI , и включена ли в последнем случае CRC .

Во-вторых из текста очень трудно воспринимать, напишите хотя бы в столбик, или без русских букв между кодами команды....

Сорри, за неполную информацию. Работаем в режиме SD, инициализация была проведена и были произведены одиночные обмены и блочные обмены с использованием команды CMD12. Пробуем команду CMD23 последовательность следующая в HEX:

8'h57

8'h00

8'h00

8'h00

8'h03

8'h19

 

В итоге карточка не отвечает на эту последовательность и мы выходим по таймауту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо за помощь, извините за потраченное время, оказалось все гораздо тривиальнее, из 5 карточек, которые пробовали, только 4 поддерживают команду CMD23.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И произошло чудо. Вторая карточка уже другого производителя начала себя так же вести, хотя до этого идеально работала.

Проблема прояснилась. Переходник глючный. Карточки обе питалась от паразитного питания и не могли полноценно проинициализироваться. Сейчас обе нормально работают по SPI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Разобрался с инициализацией SD карты по SPI. Попробовал писать, читать данные. Теперь компьютер не вилит карту ни через один кард ридер. Видимо я сбил в ней какие то сектора или что то там еще. При этом карта рабочая, т.к. на микроконтроллере проходит и инициализация и чтение/запись.

Подскажите, можно ли как то вернуть карту к такому состоянию, чтобы ее увидел ПК?

 

-----------------

 

Как только задал вопрос, сам сразу и разобрался :)

Скачал с сайта www.sdcard.org утилиту SDformatter. Она увидела карту и отформатировала ее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...