Отговори на тема  [ 11 мнения ] 
STM32F - SDIO модул? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение STM32F - SDIO модул?
Някой подкаравал ли е SDIO модула на STM32F за работа с SD карти (FAT)?

На теория изглежда доста сложен, има купища възможности. Но досега само на SPI съм пускал и се чудя да се мъча или да си го карам как си знам :-k

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Фев 09, 2011 2:28 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Провери на www.stm32circle.com, мисля имаше приложение mass storage с SD карта където го използваха

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Фев 09, 2011 2:44 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
То аз примери имам. Въпроса ми е по скоро дали някой вече се е главоблъскал с него - някакви бъгове или чудатости дали има. Щото като направя платката ще е само за SDIO и после няма как лесно да се прехвърля на SPI ако нещо не се получава.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Фев 09, 2011 3:00 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Е то твоето е мързелива работа, искаш всичко на готово, ако се поровиш по този сайт ще намериш, че има и форум, където се коментират доста неща, включително и тези приложения, които са качени там. Регистрираш се и питаш, не е сложно.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Фев 09, 2011 4:40 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Аз го ползвам SDIO модула с 4 бит интефейс и DMA., ама не ползвам FAT.
Мисля че това обаче няма да има значение.
Работи безпроблемно - ама има кусури из библиотеките... Трябва да се допреправят за максимална производителност. Има и малки проблеми с инициализацията - ама и това се оправя.
Работи еднакво добре и с 4ГБ карти и с по- малки. С по-големи не съм пробвал.
Няма нищо общо с SPI като скорост. Това е самолет...
Скоростта до голяма степен зависи и от картите и от това как четеш от тях - дали последователни сектори - дали разбъркано. Кингстън не са лидер - определено...


Чет Фев 10, 2011 6:51 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
juzisound, ползваш SDIO обаче по 4-битов интерфейс, докато SPI е 1-битов, така е нормално да е като самолет. Имаш ли наблюдения на SDIO по 1-битов интерфйес ? Там как стои положението спрямо SPI ?

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Фев 10, 2011 7:40 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Правих такива проби в началото - ама не съм имал за цел да помня резултатите...
С 1 бит би трябвало да е колкото с 4 битов и делено на 4.
Иначе явно по-бързо от това не може да се работи с картата, защото клока към картата е 25 МХз или поне много близо до 25, колкото е по стандарт. При SPI май не може да имаш такъв клок... или това беше за някакъв конкретен пик който гледахме... Не помня вече и говоря на изуст малко. Ама според мене с SDIO и с 1 бид да е - пак ще е по бързо - и поне по неангажиращо от към софт гледна точка.
Иначе скоростта на трансфер е ясна - 25МХз по 4 бита. Зависи обаче и от карртата, щото трансфера става горе долу така:

Клока си върви...
Даваш заявказа сектор...
После чакаш картата да каже че е приела заявка. Това става бързо...
След това клока пак си върви - ама чакаш картата да каже че са готови данните. Е тука вече всяка марка карта дава разлика. От 4 ГБ които съм пробвал, най-добре са Панасоник.
Идват данните - със скоростта на клока...


Чет Фев 10, 2011 8:09 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
На PIC32 съм пуснал трансфера от картата през DMA канал по SPI на 20MHz честота, някои карти работят и на 30MHz. Не съм мерил обаче с каква скорост се прехвърлят секторите. На STM32F103VET6 гледам че SDIO сигналите са ми свързани към SD картата, ама дали се използва SDIO или SPI не знам, използвам каквото има в Circle OS наготово, не съм се дълбал да видя как са го реализирали на ниско ниво.

Само за статистиката, на пазара има 50MHz карти, не съм се сдобил с такива още, но ако ти трябва още скорост можеш да се поразровиш за тез пущини.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Фев 10, 2011 11:08 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Щом са вързани SDIO сигналите - ползваш SDIO, там няма мапнат SPI. Или поне всичките които аз съм пробвал съм така.

Ами намерих разни примери из нета - не се оплаква никой.

juzisound, къде е тапата в библиотеките? Смисъл къде се дъни като пройзводителност?

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Фев 11, 2011 9:20 am
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Ами две са основно причините да се мотка из библиотеките:
1. Библиотеките са направени така, че да обслужват всички режими на трансфер - DMA, INTERRUPT, POLLING и т.н. Това налага всеки път да се проверавя в кой режим си и т.н. Доста се натрупва от това.
2. Другото е, че преди всеки трансфер - модула се конфигурира на ново - след това се връща в някакво стандартно положение, от което може да се конфигурира във всеки друг вид трансфер за следващата транзакция. После пак и пак и така всеки път. Е това е дори още по утежняващо.... Преправил съм го - конфигурирането още в началото в режима в който ми трябва - и после само ползвам. Съвсем друго е...

Другата беля с библиотеките е в самото инициализиране на картата. Направено е сякаш да обслужва техния си пример - като за кит някак си - не като за реална употреба. В смисъл, че на доста места може да забие при определени условия, и грешките няма да се обработят - все такива разни работи... Малко на "сляпо" все едно.

Недомислена е някак библиотеката, ама това е и щото модула е доста сложен и предоставя много и различни пътища да свършиш нещо. Иначе модула е добър. Подкараш ли го - после няма проблеми.

Относно трансфера, мисля даже че на чиповете с повечко крака има и 8 битов интерфейс. Не съм сигурен де. Тогава ще е съвсем бързо. То бързо бързо - ама пак основното закъснение идва от изчакването картата да приготви данните - после трансфера и така става за "нула време". На мен ми се налага да чета сектор по сектор и разбъркано. Ако се чете последователно - тогава вече самия трансфер може да има доста по-голям дял в цялото време за четене.


Пет Фев 11, 2011 9:50 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
Голямото предимство на SDIO според мен трябва да е в обработката на транзакцията. Не знам при ST, но при Атмел доколкото виждам мултимедиа контролера може да го пуснеш на ДМА и да четеше/пишеш колкото си данни искаш (последователно разбира се).

Докато при SPI е много накъсано - повечето библиотеки първо гледат дали е busy (1 байт трансфер) после пишат команда, параметър (5 байта трансфер), после token (един или повече пъти), после реалните данни после пак полиране...
Тъпо е, процесора чете по 1 или няколко байта и после трябва да видиш резултата. С полиране утрепваш процесора, а ако тръгнеш да сменяш контексти забавяш трансфера.

Друго си е да кажеш "метни 5 сектора" с ей тва ДМА и да не се занимаваш с глупости ;-)


Пет Фев 11, 2011 10:12 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 11 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 0 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни