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

11 minutes ago, Integro said:

Нужно смотреть disk_read() , попробуййте в ручную вычитать пару первых блококов и сравнить данные, под виндой карту можно посмотреть через WinHex->F9-> Выборать карту(если не ошибаюсь)

И плюсую к посту:

Тоже, после "оптимизации" рабочего драйвера часть карт переставала работать, одним лишнего клока не хватало, других состояние пинов не устраивало, таймауты плыли...
Если проблема четко воспроизводится с первого блока, я бы подпаялся к шише и посмотрел анализатором разницу между рабочим и кодом с DMA

Ну вот пока что уменьшением частоты тактирования SDIO до 1МГц добился того, что работают все карты которые у меня сейчас есть. И это на макете с проводами. Поэтому дальше посмотрим что будет с нормальной печатной платой.

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

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


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

1 hour ago, Arxi said:

Ну вот пока что уменьшением частоты тактирования SDIO до 1МГц добился того, что работают все карты которые у меня сейчас есть. И это на макете с проводами. Поэтому дальше посмотрим что будет с нормальной печатной платой.

Скорее всего на разъём карты, который на проводах - надо ёмкость по питанию повесить, ну и резисторы все что для карточки - туда перенести.

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


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

7 часов назад, Arxi сказал:

Ну вот пока что уменьшением частоты тактирования SDIO до 1МГц добился того, что работают все карты которые у меня сейчас есть. И это на макете с проводами. Поэтому дальше посмотрим что будет с нормальной печатной платой.

Явно дело не в проводах. Вешал SD и на лапшу на отладочной плате и работало на гораздо бОльших частотах. Правда по SPI.

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


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

18 minutes ago, jcxz said:

Явно дело не в проводах. Вешал SD и на лапшу на отладочной плате и работало на гораздо бОльших частотах. Правда по SPI.

Ток потребления моих карт по даташиту: 100мА чтение 200мА запись.

Провода были сантиметров 20. Пока не перенёс всё на разъём - тоже мучался...

 

PS ток зависит от частоты и количества линий + типа карты

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


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

1 hour ago, _4afc_ said:

PS ток зависит от частоты и количества линий + типа карты

Не только. 
Вот на моей платформе на проводах скорость стабильно была 17.0 Мбайт/сек на карте 4-го класса и потребление всего 7 мА при этом.
Но! Потребление  вырастает в два раза при чтении 1000-го файла. Так же и с записью. Чем дальше файл тем больше потребление. 

 

SD_card_test.PNG

 

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


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

1 hour ago, AlexandrY said:

Не только. 
Вот на моей платформе на проводах скорость стабильно была 17.0 Мбайт/сек на карте 4-го класса и потребление всего 7 мА при этом.
Но! Потребление  вырастает в два раза при чтении 1000-го файла. Так же и с записью. Чем дальше файл тем больше потребление. 

 

SD_card_test.PNG

 

Проводами что вы привели - можно пренебречь

Емкость у вас стоит

 

Дело не в номере файла, а в его расположении.

 

Почитайте сектора от нуля до конца - заметите периодическую разницу в задержке чтения и всплеске потребления - это обращение к следующему региону флеш

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


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

14 hours ago, _4afc_ said:

Скорее всего на разъём карты, который на проводах - надо ёмкость по питанию повесить, ну и резисторы все что для карточки - туда перенести.

По питанию емкость стоит, резисторы подтяжки тоже. Длина проводов сантиметров 5...Может быть дело в питании у меня, с увеличением частоты тактирования растет и потребление. Просто питается МК и карта у меня от линейного стабилизатора 3,3В с максимальным током 100мА...Может быть в этом дело...

Хотя по спецификации SanDisk ток потребления в режиме Read/Write заявлен 100mA.

 

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

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


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

1 hour ago, Arxi said:

Длина проводов сантиметров 5...Может быть дело в питании у меня

Если нет ёмкости непосредственно на выводах разъема карты, то весьма вероятно, что дело в питании.

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


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

8 minutes ago, aaarrr said:

Если нет ёмкости непосредственно на выводах разъема карты, то весьма вероятно, что дело в питании.

Стоит электролит 100мкФ непосредственно на выводах разъема карты...

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

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


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

9 часов назад, _4afc_ сказал:

Ток потребления моих карт по даташиту: 100мА чтение 200мА запись.

Так это - типичные значения. На моих столько же указано. Но не факт что будет столько в реале, скорей всего - значительно меньше.

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


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

3 часа назад, Arxi сказал:

Просто питается МК и карта у меня от линейного стабилизатора 3,3В с максимальным током 100мА...Может быть в этом дело...

Ну ясен пень! С этого и надо было начинать. С обеспечения нормального питания. Я ещё в начале треда советовал Вам прочитать инфу и CSD и проанализировать.

1 час назад, Arxi сказал:

Стоит электролит 100мкФ непосредственно на выводах разъема карты...

А керамика?  :wink:

"Непосредственно на выводах" ставят керамику, а электролиты - могут быть где угодно на плате. Или вообще не нужны.

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


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

1 hour ago, jcxz said:

Непосредственно на выводах" ставят керамику, а электролиты - могут быть где угодно на плате. Или вообще не нужны.

Про электролиты не согласен. Все таки потребление большое, и я думаю электролит точно не помешает.

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


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

6 минут назад, Arxi сказал:

Про электролиты не согласен. Все таки потребление большое, и я думаю электролит точно не помешает.

У электролитов также большая и индуктивность. Поэтому ставить их "непосредственно на выводах" большого смысла нет. Короткие глитчи они не уберут.

Кроме того - внутри карт есть свои довольно большие ёмкости. Именно поэтому линию питания карты с питанием платы лучше соединять через что-нить типа MMZ1608Y601B.

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


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

5 часов назад, Arxi сказал:

Длина проводов сантиметров 5...Может быть дело в питании у меня, с увеличением частоты тактирования растет и потребление. Просто питается МК и карта у меня от линейного стабилизатора 3,3В с максимальным током 100мА..

Дело не столько в длине, а как они проложены, если есть перекрутки - это резко снижает частотные характеристики. Делал 10 см без перекруток - все работало норм, стоило нарушить такое правило так уже на 2 см глючить начало. По питанию, хотя бы 300мА нужно обеспечить, особенно, если "горячее" подключение планируется.

18 минут назад, Arxi сказал:

Все таки потребление большое, и я думаю электролит точно не помешает.

Не помешает, если кроме карты еще что-то от источника питается, поможет ему не сглючить, но без керамики никуда...

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

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


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

39 minutes ago, jcxz said:

Именно поэтому линию питания карты с питанием платы лучше соединять через что-нить типа MMZ1608Y601B.

Учту.

28 minutes ago, mantech said:

Дело не столько в длине, а как они проложены, если есть перекрутки - это резко снижает частотные характеристики. Делал 10 см без перекруток - все работало норм, стоило нарушить такое правило так уже на 2 см глючить начало. По питанию, хотя бы 300мА нужно обеспечить, особенно, если "горячее" подключение планируется.

Спасибо за совет.

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


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

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

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

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

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

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

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

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

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

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