Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32 Cardreader

Чт авг 09, 2018 13:09:09

Добрый день. В наличии имеется плата с STM32F207 на борту, а так же разъем под SD карту(SDIO) и разъем USB с микросхемой USB3320(ULPI). Сейчас USB выполняет только функции питания. На карту силами контроллера уже пишутся данные, теперь есть необходимость их считывать в компьютер прямо через разъем. Но мне не очень понятно как это сделать. Делаю как в статье с некоторыми отличиями. У меня USB HS, а там FS, но проект сгенерирован кубом, и там разницы практически нет. Еще я создаю свою переменную HAL_SD_CardInfoTypeDef sd_info, тк у меня она изначально не определена нигде. В кубе настраиваю USB_OTG_HS Device only. И подключаю библиотеку USB DEVICE MSC for HS
https://microtechnics.ru/stm32cube-i-us ... e-sd-card/
Допустим, функции написаны как в статье. Все собирается без ошибок, запускается..и ничего. Я так понимаю после запуска компьютер уже должен определить новое устройство? В статье ничего не говориться о функции main. Там только инициализация?
Нашлась еще одна тема, где человек пытался создать такой же как у меня проект, и у него тоже пустой main. https://st-microelectronics.jiveon.com/ ... -mechanism

Что еще нужно сделать? Я просто не очень понимаю как это ДОЛЖНО работать. HOST- компьютер запрашивает что-то и мк генерирует какое-то прерывание, которое вызывает функции из usbd_storage_if.c?
Схема подключения USB и файлы во вложении.
Вложения
Без имени.png
(84 KiB) Скачиваний: 643
usbd_storage_if.c
(8.67 KiB) Скачиваний: 535
main.c
(7.73 KiB) Скачиваний: 501

Re: STM32 Cardreader

Вт авг 14, 2018 09:31:08

Проблема решилась.
Команды включения микросхемы USB были поданы до инициализации портов. :?

Re: STM32 Cardreader

Ср авг 15, 2018 14:24:48

А, кстати, как оно там общается с микро-СД ? Я не так давно пытался собрать из кубиков это дело, хотел, чтобы обмен с SDIO был через DMA, или, хотя бы, через прерывания. Увы, как я ни крутил кубики, ничего не вышло, обмен только прополкой (polling). Камешек у меня правда был попроще, F103ZET6...

Re: STM32 Cardreader

Чт авг 16, 2018 07:13:29

DMA я сама пока не прикручивала. Это будет в скором будущем. Как разберусь, напишу.
Если честно, мне самой досконально непонятно как это все работает, как минимум потому что практически все делает ПК, а не stm просто дает доступ.

Re: STM32 Cardreader

Чт авг 16, 2018 14:38:31

Ясно. Ладно, подождем.

А я, не сумев собрать из кубиков SDIO через DMA, вернулся на уровень CMSIS, причем нашел удачный пример, запустил его, все работает. Что делать дальше, совершенно ясно, но сейчас этим заниматься некогда, отложил. И, естественно, собирать этот проект из кубиков я уже не буду.

Тем не менее, из любопытства, хотелось бы, все-таки, узнать, можно ли сложить это дело из кубиков, и как это сделать?..

Re: STM32 Cardreader

Пт авг 17, 2018 07:03:29

Что вы подразумеваете под кубиками?
У меня помимо всего прочего прикручен к проекту FAtFS

Re: STM32 Cardreader

Пт авг 17, 2018 18:17:53

Кубики? Естественно, STM32CubeMX. Народ, почему-то, зовёт его Кубом, да еще и обзывает нехорошими словами, а это же явно набор кубиков (см. заставку этого самого CubeMX), из которых предлагается построить что-то осмысленное для решения своих задач.
Ответить