|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|||||||||||
SDIO + SD + STM32F10318.01.2017, 11:31. Показов 9140. Ответов 20
Метки нет (Все метки)
Доброго всем утра.
Столкнулся с проблемой при работе с micro SD через SDIO. Вываливается ошибка SD_CMD_RSP_TIMEOUT. Теперь по порядку. У меня есть библиотеки, которые уже не первый год работают на точно таком же МК с Missro SD, причем там карточка вообще на шлейфе выведена. Собрал себе демоплату на STM23F103V, туда поставил Missro SD. Создал в istypsi проект, засунул туда библиотеку для карточки из рабочего проекта. Прошиваю, а реакции 0. Функция SD_Init(); возвращает SD_CMD_RSP_TIMEOUT. Полез разбираться, выяснил, что МК карточку вроде как видит, но в функции
[13.69 Кб]
0
|
|||||||||||
| 18.01.2017, 11:31 | |
|
Ответы с готовыми решениями:
20
STM32F103 + SD (SDIO) + FatFs SDIO + FAT SDIO + STM32F429 |
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|
| 18.01.2017, 15:13 | |
|
Карточка подключена вот так
<Изображение удалено>
0
|
|
|
dirsu-uzotoh
|
|
| 18.01.2017, 20:49 | |
|
У меня та же история. Я проигнорил эту ошибку, и все пошло нормально. В суть проблемы пока не вникал, но неплохо было бы в этом разобраться. Причем похоже что ошибка вылезает только при первом обращении к карточке.
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 18.01.2017, 21:15 | |
|
SDIO чувствительна к разводке... Если она плохая, то будет именно таймаут.
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|
| 18.01.2017, 22:09 | |
|
Да вроде дорожки не сильно длинные, МК на одной стороне платы, карточка с другой, напротив него. Особо с разводкой не бодался, т.к. раньше подключал плату с карточкой просто на шлейфе и работало как часы... Попробую еще другие номиналы резисторов. Не поможет, буду переделывать плату. Какие вообще рекомендации по разводке SDIO?
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 18.01.2017, 22:21 | |
|
Я на Ф439 SDIO поставил резюки по 47к (как на СТ-шных платах). Длина дорожек - до 4 см (читал где-то). Длина всех должна быть примерно одинаковой. Делать также старался.
На Ф103 не делал. Пытался сделать не соплях на F103ZET6, не получилось, забросил. Но там получалось что одни проводки были раза в 2 длинее других. А это плохо. Может поэтому и не получилось.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
||
| 19.01.2017, 04:04 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
||
| 19.01.2017, 10:20 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
||
| 19.01.2017, 10:23 | ||
<Изображение удалено>
0
|
||
|
dirsu-uzotoh
|
|
| 19.01.2017, 13:04 | |
|
Нормальная разводка. Попробуйте прицепить конденсаторы непосредственно на ножки питания держателя карточки: 0805 0.1uF + какой-нибудь электролитический, микрофарад на 100.
Да, вот еще что. У меня есть 3 карточки от разных производителей, 2 из которых работают, а одна нет. В дебаге я вижу, что система пытается подобрать для нее подходящее питание. На самом же деле, питание не меняется, и всегда = 3.3V. Карточка может по каким-то своим "внутренним соображениям" отказываться работать с таким питанием. |
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|
| 19.01.2017, 18:48 | |
|
Посмотрел на разводку выше, у меня примерно такая же борода на плате с дорожками SDIO: все дороги под 90 градусов, длина каждой примерно 20мм, никаких согласований по длине не делал (частоты не те). Каждая дорога имеет по два переходных отверстия, подтяжки 47к. Клок - без подтяжки, но с резюком в линии на 33 Ом (думал подбирать, но лень). Работает отлично, даже на частотах 48МГц.
Еще с обратной стороны платы одни дороги пересекается с SWD линиями, а другая часть (D0 и D1) - с USB. Пока что (тьху тьху) никаких косяков при совместной работе не замечено. Это я к тому, что SDIO, не смотря на свои высокие частоты (относительно других для данного проца), не такая уж капризная штука. Как по мне, на вышеприведенной картинке можно первым делом на подтяжки попробовать че-нить в районе 47к, да убрать гармошки с дорожек (на таких частотах они погоды не делают).
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|
| 21.01.2017, 01:40 | |
|
Сейчас все намного хуже, на картинке уже переразведенная. Резисторы пробовал 10К, 20К, 30К, 50К, ничего не меняется. То, что пытаюсь запустить сейчас выглядит вот так:
<Изображение удалено> Без уравнивания максимальная разница длин составляет около 6мм. После переразводки все 14мм с разницей не более 0,4мм.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|||||||
| 21.01.2017, 03:26 | |||||||
|
Все советующие упоролись в разводку и никто не предложил попробовать поработать с картой, не повышая частоты...
CMD7 обычно дается после "разгона" шины на рабочую частоту, после инита на <=400kHz. Так вот предложение, дабы исключить разводку: не повышать скорость и посмотреть чо будет. Убрать вот эти строчки перед CMD7:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|
| 21.01.2017, 18:00 | |
|
Ага. Спасибо за совет, завтра попробую)
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
||||||
| 22.01.2017, 12:46 | ||||||
|
Странно, наличие или отсутствие строк
0
|
||||||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
||||||
| 22.01.2017, 19:32 | ||||||
|
В приложенной библиотеке полно конструкций вида
Есть возможность после получения RSP_TIMEOUT посмотреть содержимое этого регистра? Может банально клок SDIO не включен? ЗЫ: да и использование либы SDIO за 2008 год не очень разумное решение, там косяков был вагон и тележка.
0
|
||||||
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|
| 22.01.2017, 23:39 | |
|
Ну судя по осциллу клок шарашит во всю. Содержимое регистра CLKCR? Да без проблем) А какую библиотеку посоветуете для SD карточки? Самое интересное то, что эта библиотека без проблем работает вот тут http://sxim.net/avto/itistronics/4-164.php Помню, проблемы были только со скоростью чтения->вывода на дисплей, тогда тоже тут консультировался. А сама карточка стартанула с пол пинка и по SPI и по SDIO, когда понял, что скорости SPI мне не хватит. Там не было вообще никаких уравниваний плюс плата с карточкой на шлейфе висит. Единственно, резисторы там прямо возле выводов карточки стоят, а тут по плате раскиданы.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
||
| 23.01.2017, 01:30 | ||
Можно качнуть последний SPL под F103, там есть stm32f10x_sdyo.c и stm32_eval_sdyo_sd.*, они вроде вполне вменяемые, только из последних придется выковырять зависимости от демоплат.
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
|
|
| 28.02.2017, 18:02 | |
|
Проблема действительно была в кривой разводке. На новой плате все завелось без проблем.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|
| 01.03.2017, 05:41 | |
|
Для общего развития, возможно поделиться в чем кривость разводки была?
0
|
|
| 01.03.2017, 05:41 | |
|
Помогаю со студенческими работами здесь
20
SDIO STM32F4 Sdio vs spi Миниатюрный МК с SDIO SDIO+bypass LPC43xx + SDIO Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|