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

    

картридер на STM32F103

Здравствуйте

есть потребность реализовать картридер на STM32F103 который читает и пишет карточки SD.

Чтобы не изобретать велосипед хочу спросить, возможно есть готовые проекты или наработки в этом направлении? примеры по работе с SD и USB видел, но не нашел готового решения чтобы было и то и другое сразу в одном примере.

На комментарии типа "дешевле купить картридер" сразу отвечаю: на плате стоит SD карта с которой работает STM32 и есть USB для зарядки аккумулятора и слива информации. Вытаскивать карту не планируется, поэтому готовый картридер не подходит

 

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


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

есть потребность реализовать картридер на STM32F103 который читает и пишет карточки SD.

Чтобы не изобретать велосипед хочу спросить, возможно есть готовые проекты или наработки в этом направлении? примеры по работе с SD и USB видел, но не нашел готового решения чтобы было и то и другое сразу в одном примере.

На комментарии типа "дешевле купить картридер" сразу отвечаю: на плате стоит SD карта с которой работает STM32 и есть USB для зарядки аккумулятора и слива информации. Вытаскивать карту не планируется, поэтому готовый картридер не подходит

 

Для STM32F207 такой пример есть, и даже рабочий (я лично пробовал). Наверное, и для STM32F103 тоже есть. Ищите на сайте у ST библиотеку "STM32F105/7, STM32F2 and STM32F4 USB on-the-go Host and device library":

 

http://www.st.com/internet/mcu/product/245082.jsp

---> Design support

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


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

Ну вообще советую разобратся самому с mass storage. если опыта написания usb-device нету, то эту школу желательно пройти. Задача не сложная

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


Ссылка на сообщение
Поделиться на другие сайты
Ну вообще советую разобратся самому с mass storage. если опыта написания usb-device нету, то эту школу желательно пройти. Задача не сложная

Задача достаточно сложная. Более чем достаточно. Если нет опыта работы с USB и знаний о ней (довольно серьезных), то решить ее с нуля будет очень трудно. И выбор STM процесс решения только усложнит. Для начального знакомства с USB гораздо лучше подходит AT89C5131 -я еще нигде и никогда не видел более простого и понятного USB-движка. Дальше можно поразбираться с LPC214x, а затем с ATMEL'овскими ARM (7 или 9). STM для старта не годится совершенно, это все равно что обучаться вождению на Феррари ...

 

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


Ссылка на сообщение
Поделиться на другие сайты
Для STM32F207 такой пример есть, и даже рабочий (я лично пробовал). Наверное, и для STM32F103 тоже есть. Ищите на сайте у ST библиотеку "STM32F105/7, STM32F2 and STM32F4 USB on-the-go Host and device library":

Топикстартеру тут скорее всего нужны «STM32F10x and STM32L1xx USB full-speed device library» и «STM32 USB-FS-Device development kit» Там одна из демок это как-раз реализация USB mass storage. Лежат вот здесь, в разделе Design Support

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


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

kovigor, ну не нзаю.. по началу да, глаза разбегаются при виде кувой кучи регистров, но со временем вроде не все так муторно :)

я сам не помню на чем начинал, но точно помню, что на каком-то ARM7 делал CDC. После прочтения документа usb_20.pdf и даташита все более-менее стало понятно. примеры реализации смотрел, если что не получалось. точно помню, что не под тот чип,а под какой-то вообще Пик.

 

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

 

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

 

С STM32 проблем не возникло(за исключением вызванных моей невнимательностью чтения даташита на СТМ). Библиотек не использовал, все вручную. Да, кода много, где-то 1500 строк на чистом C, но код не сложный, в основном "набивка" дескрипторов и стейт-машин.

Могу дать свою реализацию как пример, только сомневаюсь,что чем-то помогут мои 45кб непонятного гавнокода :)

 

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

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


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

Есть пример реализации USB-Mass_Storage-SD Card от китайских товарищей в их отладочной плате POWERAVR-HY-mini-STM32F103VCT6 - http://182.50.148.34/download/boardata/POW...M32F103VCT6.zip. Пример проверял - всё работает.

brag, прикрепите, пожалуйста, свою реализацию USB для ознакомления.

 

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


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

Для практического использования не годится - тянет за собой вызовы ОС, но для ознакомления вполне

otgstm32cl.7z

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


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

Великолепная реализация FAT для SD карт любого объёма

http://elm-chan.org/fsw/ff/00index_e.html

Сам пользуюсь и не знаю бед.

 

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


Ссылка на сообщение
Поделиться на другие сайты
Великолепная реализация FAT для SD карт любого объёма

http://elm-chan.org/fsw/ff/00index_e.html

Сам пользуюсь и не знаю бед.

да, я тоже пользуюсь когда контроллер сам работает с флешкой. но как понимаю картидер не должен "знать" о существовании файловых систем, это задача операционки компа или я ошибаюсь?

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


Ссылка на сообщение
Поделиться на другие сайты
но как понимаю картидер не должен "знать" о существовании файловых систем

Да, именно так ...

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация