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

SD Card - програмная реализация интерфейса

Клоком, конечно подергиваю. И ловлю стартовый бит, который перед crc-стутусом должен быть. Но его нету, на DAT0 висит единица..

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


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

Все, я разобрался наконец...столько времени ушло, а проблема была как всегда мелкая. Я по недосмотру конфигурировал ногу как выход, и при чтении не настраивал ее входом. Спасибо что откликнулись!

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


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

...Пересмотрю все что написал и напаял.

 

Чего-то надо ворошить. Сама не заработает.

 

Результат отпишу....

 

Разобрался. :rolleyes:

С питанием сложности были и

шлейфы длинноваты.

 

SD Standard пишется читается стабильно.

SDHC Менее стабильна в работе почему-то,

хотя и пишется и читается.

Может кто советом поможет почему так?

Может у кого похоже было?

 

Спасибо.

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


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

Рискну предположить, что виноваты все те же шлейфы. А SDHC ведет себя хуже по причине наличия более высокоскоростных драйверов.

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


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

Рискну предположить, что виноваты все те же шлейфы. А SDHC ведет себя хуже по причине наличия более высокоскоростных драйверов.

 

Спасибо.

 

Пробую бороться и с тем и с тем :rolleyes:

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


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

Вылезла проблема неожиданно с SD-картами. До недавнего времени использовались карты Transcend, Apacer. А тут начали поставлять карты Silicon power. И работают они, мягко говоря странно. В компе читаются, пишутся, а на девайсе не проходят инициализацию, не устанавливается бит power-up в OCR. Может быть кто-то сталкивался с такими проблемами?

Код на всякий случай:

sendCmd(CMD0,0,R1);

ocr_rca=0;

do	{

sendCmd(CMD55,0,R1);
resp=sendCmd(ACMD41,ocr_rca,R1);
ocr_rca =resp|(1 << 30);
}while((resp&0x80000000)==0)

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


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

Силикон - тормозная карта.

Вот мой код. Есть отличия в наличии задержек и CMD8. Силикон работает.

  unsigned short code=5000; 
  unsigned int ocr_rca;

  send_comstr( CMD_0, 0, 6);      // R1
  ocr_rca = HC = 0;
  send_comstr( CMD_8, 0x1AA, 17);      // R1
  if (comstr->com == 8) HC = 1;

  do {
    WDT_Reset();
    wait_ms(1);
    send_comstr(CMD_55, 0, 6);    // R1
    wait_ms(1);
    send_comstr(ACMD_41, ocr_rca, 6);
    ocr_rca = (comstr->arg3)|(comstr->arg2<<8)|(comstr->arg1<<16)|(comstr->arg0<<24);
    ocr_rca |= (1 << 30);
    if (code) code--;
    else return 0;
  }  while (!(comstr->arg0 & 0x80));

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


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

Хм...добавил задержки, увеличил кол-во циклов ожидания до 5000, а потом и до 10 000, но не завелась :(

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


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

Тогда проблема не в программе.

Смотри фронты сигналов.

 

У меня на DAT0-3 кроме подтяжек еще стоят проходные резисторы по 1к.

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


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

Так ведь команда и ответ идут по CMD-line. Или Там тоже помимо подтяжек проходные резисторы? С остальными картами работает на ура, засада прям...

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


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

По CMD только подтяжка 51к.

А как реализован интерфейс с картой? Встроенный?

У меня полностью софтверный, сам пинами дергаю. В этой ветке выкладывал исходник.

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


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

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

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

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

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

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

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

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

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

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