Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/64: Рейтинг темы: голосов - 64, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204

stm32f405 sdio. Выходит таймаут

07.03.2013, 14:29. Показов 12729. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Переношу проект с 103 на 405. В первом карта была подключена к SPI, на 405 хочу подключить к SDIO. все сигнальные линии подтянуты к питанию через 10к, флюс смыт. Использую библиотеку от стм4дискавери. Проблема в том, что когда вызываю SD_Init(), то она постоянно возвращает SD_CMD_RSP_TIMEOUT. Сам таймаут увеличил, но ничего добиться от него не поучилось. Мучаюсь уже часов 8, осцыла сейчас нет, шоб проверить сигналы (будет токо недели через 2).
Может кто нить встречал подобную проблему?
Буду рад, если кто то поделится рабочей либой для sd карты, желательно без dma, так как файлы надо читать менее 1кб.
Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.03.2013, 14:29
Ответы с готовыми решениями:

Stm32f405 + ads7056
Здравствуйте. В основном занимаюсь схемотехникой(dc-dc, аналог и тд), контроллеры пока только изучаю. Ранее работал только со встроенным...

STM32F405 +STOP mode+USART
Доброго времени суток, ситуация такая, в МК крутится программка которая опрашивает акс-р, и далее по USORT1 скидывает результаты опроса...

Не работает USB MSC STM32F405
Приветствую всех! Делаю проект на платформе STM32F405 + SDIO + USB_FS_MSC + CubeMX + CooCox Сгенерил в CubeMX заготовку USB карт...

25
07.03.2013, 15:24
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
07.03.2013, 17:04
проверил и этот - тоже не работает.
Прозвонил все контакты - нигде нет замыкания или разрыва дорожки.
А вообще, подключил я правильно? (только CardDetect реально идет на PC7)

0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
07.03.2013, 17:33
- я клал для F407 (Dyscovery). Detect я не опрашивал, у меня оно криво запаяно, всегда замкнут.
Возьмите мой код (писал в IAR), в ST-шном есть противные ошибки, из-за которых иногда работает, иногда нет.

Схема Ваша правильная. По крайней мере для F407. У меня также сделано. Только резюки по 47 кил. Как на плате STM3240G-EVOT. На что оно влияет или не влияет - не знаю, не экспериментировал.
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
07.03.2013, 17:47
и у меня та же разпиновка. С разницей, что Д3 притянут к земле через 1М. Но это была копипаста (кстати, скопитастю лучше из STM3240G)
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
07.03.2013, 18:02
пару раз подвисало в CmdRysp6Error
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
07.03.2013, 18:12
Цитата Сообщение от hd44780
http://forum.iosyitistromyss.ru/viewtopys.php?p=250912#p250912 - я клал для F407 (Dyscovery). Detect я не опрашивал, у меня оно криво запаяно, всегда замкнут.
Возьмите мой код (писал в IAR), в ST-шном есть противные ошибки, из-за которых иногда работает, иногда нет.

Схема Ваша правильная. По крайней мере для F407. У меня также сделано. Только резюки по 47 кил. Как на плате STM3240G-EVOT. На что оно влияет или не влияет - не знаю, не экспериментировал.
Пасибки за код, но, к сожалению, он тоже не заработал:(, SD_Init возвращает SD_CMD_RSP_TIMEOUT.
В мейне у меня просто:
Code
1
2
rs232_init();
prymtf("\rSD_Init=%d", SD_Init());
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
07.03.2013, 18:34
поставить брейки везде, где присваивается error = SD_CMD_RSP_TIMEOUT и поглядеть. Сразу на всех не хватит, т.к. 7 мест.
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
07.03.2013, 19:12
Эту ошибку возвращает функция SD_PowerON(), которая находится, практически в начале SD_Init(). Получается, что карта вообще не откликается.
Проверил пины ножкодрыганием GPIO, уровни меняются нормально, значит ножки не погоревшие
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
07.03.2013, 20:01
смотри глубже. В SD_PowerON() errorstatus может присваиваться несколькими методами.

errorstatus = CmdError();
errorstatus = CmdRysp7Error();
errorstatus = CmdRysp1Error(SD_CMD_APP_CMD);
errorstatus = CmdRysp3Error();
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
07.03.2013, 20:19
вобщем, решил пока что отложить sdyo, поставлю карту на spi, а как приедет осцыл, буду тестить sdyo.
я ж надеюсь, у 405 нет проблем с SPI?
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
07.03.2013, 20:25
Цитата Сообщение от BrMysho
вобщем, решил пока что отложить sdyo, поставлю карту на spi, а как приедет осцыл, буду тестить sdyo.
я ж надеюсь, у 405 нет проблем с SPI?
http://www.st.com/st-web-ui/static/acti ... 037591.pdf
не упомянуты

ЗЫ мне тоже надо пересесть с SDIO на SPI в 4хх.
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
07.03.2013, 20:36
а если не секрет, с какой целью?
мне просто нужна скорость чтения/записи не более 10кб/с, я вообще не вижу тут смысла юзать sdyo.
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
07.03.2013, 20:42
Цитата Сообщение от BrMysho
а если не секрет, с какой целью?
мне просто нужна скорость чтения/записи не более 10кб/с, я вообще не вижу тут смысла юзать sdyo.
нужно гальванически изолировать, а шина у SDIO бидирекциональная. Проще пересесть на SPI, чем мудрить. Скорость тоже не важна.
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
08.03.2013, 01:42
Запустилось, практически, сразу же

[6.05 Кб]
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
08.03.2013, 05:57
Небольшая поправочка, предыдущий вариант не работает!!!
Чтобы заработало, нужно исправить это:
[CODE] GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
на это:
Code
1
2
3
4
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
Как видите, здесь поменялся OD(openDraine) на PP(PushPoll). Можно было бы на это забить, но меня терзают смутные сомнения, почему с OD не работало? Ведь стоят подтягивающие резисторы и для установки высокого уровня нужно всего лишь "отпустить" OD. Или резистор не успевает "подтянуться" к высокому уровню?
0
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 204
08.03.2013, 06:55
Как оказалось, у меня проц работал на 16мгц, вместо 168. Из-за этого мог не работать SDIO?
Если есть у кого нить возможность, проверьте плиз. Для этого можно закоментить SystemInit();
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
08.03.2013, 07:23
Цитата Сообщение от BrMysho
Или резистор не успевает "подтянуться" к высокому уровню?
весьма вероятно.
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
08.03.2013, 10:49
BrMysho, проверьте, пожалуйста, если можете, у себя мой код. Теперь, после исправления глюка с частотой.
Просто интересует повторяемость.
А я Ваш гляну :) .
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
08.03.2013, 19:36
Цитата Сообщение от BrMysho
Как видите, здесь поменялся OD(openDraine) на PP(PushPoll).
Пины настраиваются на альтернативную функцию SDIO, а там точно должно стоять PP(PushPull).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2013, 19:36
Помогаю со студенческими работами здесь

stm32f405 +servo + ldo = проблема
подскажите знающие.. собрал схему (см фото) проц stm32f405 + простенькая Серва( 100ма) питание оформил через два LDO .....

STM32F405 + external flash - mapping
Здравствуйте Такой вот вопрос: нуждаюсь во внешней FLASH памяти для 64-пинового STM32F405 - тоесть без FMC контроллера, но такой,...

организация двух CAN сетей на одном STM32f405
привет всем, делаю устройство на основе STM32F405 которое ставится в разрыв текущей CAN сети.. , в итоге получаю две сети CAN1 и CAN2....

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

Миниатюрный МК с SDIO
Необходимо выбрать МК с парой SPI и SDIO. Производительности хватает (впритык) STM32F103. Главное ограничение - размеры. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru