|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 11:08 pm
|
Страница 1 от 1
|
[ 11 мнения ] |
|
| Автор |
Съобщение |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 STM32F - SDIO модул?
Някой подкаравал ли е SDIO модула на STM32F за работа с SD карти (FAT)?
На теория изглежда доста сложен, има купища възможности. Но досега само на SPI съм пускал и се чудя да се мъча или да си го карам как си знам 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Фев 09, 2011 2:28 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Провери на www.stm32circle.com, мисля имаше приложение mass storage с SD карта където го използваха
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Фев 09, 2011 2:44 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
То аз примери имам. Въпроса ми е по скоро дали някой вече се е главоблъскал с него - някакви бъгове или чудатости дали има. Щото като направя платката ще е само за SDIO и после няма как лесно да се прехвърля на SPI ако нещо не се получава.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Фев 09, 2011 3:00 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Е то твоето е мързелива работа, искаш всичко на готово, ако се поровиш по този сайт ще намериш, че има и форум, където се коментират доста неща, включително и тези приложения, които са качени там. Регистрираш се и питаш, не е сложно.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Фев 09, 2011 4:40 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Аз го ползвам SDIO модула с 4 бит интефейс и DMA., ама не ползвам FAT.
Мисля че това обаче няма да има значение.
Работи безпроблемно - ама има кусури из библиотеките... Трябва да се допреправят за максимална производителност. Има и малки проблеми с инициализацията - ама и това се оправя.
Работи еднакво добре и с 4ГБ карти и с по- малки. С по-големи не съм пробвал.
Няма нищо общо с SPI като скорост. Това е самолет...
Скоростта до голяма степен зависи и от картите и от това как четеш от тях - дали последователни сектори - дали разбъркано. Кингстън не са лидер - определено...
|
| Чет Фев 10, 2011 6:51 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
juzisound, ползваш SDIO обаче по 4-битов интерфейс, докато SPI е 1-битов, така е нормално да е като самолет. Имаш ли наблюдения на SDIO по 1-битов интерфйес ? Там как стои положението спрямо SPI ?
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Чет Фев 10, 2011 7:40 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Правих такива проби в началото - ама не съм имал за цел да помня резултатите...
С 1 бит би трябвало да е колкото с 4 битов и делено на 4.
Иначе явно по-бързо от това не може да се работи с картата, защото клока към картата е 25 МХз или поне много близо до 25, колкото е по стандарт. При SPI май не може да имаш такъв клок... или това беше за някакъв конкретен пик който гледахме... Не помня вече и говоря на изуст малко. Ама според мене с SDIO и с 1 бид да е - пак ще е по бързо - и поне по неангажиращо от към софт гледна точка.
Иначе скоростта на трансфер е ясна - 25МХз по 4 бита. Зависи обаче и от карртата, щото трансфера става горе долу така:
Клока си върви...
Даваш заявказа сектор...
После чакаш картата да каже че е приела заявка. Това става бързо...
След това клока пак си върви - ама чакаш картата да каже че са готови данните. Е тука вече всяка марка карта дава разлика. От 4 ГБ които съм пробвал, най-добре са Панасоник.
Идват данните - със скоростта на клока...
|
| Чет Фев 10, 2011 8:09 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 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 |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Щом са вързани SDIO сигналите - ползваш SDIO, там няма мапнат SPI. Или поне всичките които аз съм пробвал съм така.
Ами намерих разни примери из нета - не се оплаква никой.
juzisound, къде е тапата в библиотеките? Смисъл къде се дъни като пройзводителност?
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Фев 11, 2011 9:20 am |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Ами две са основно причините да се мотка из библиотеките:
1. Библиотеките са направени така, че да обслужват всички режими на трансфер - DMA, INTERRUPT, POLLING и т.н. Това налага всеки път да се проверавя в кой режим си и т.н. Доста се натрупва от това.
2. Другото е, че преди всеки трансфер - модула се конфигурира на ново - след това се връща в някакво стандартно положение, от което може да се конфигурира във всеки друг вид трансфер за следващата транзакция. После пак и пак и така всеки път. Е това е дори още по утежняващо.... Преправил съм го - конфигурирането още в началото в режима в който ми трябва - и после само ползвам. Съвсем друго е...
Другата беля с библиотеките е в самото инициализиране на картата. Направено е сякаш да обслужва техния си пример - като за кит някак си - не като за реална употреба. В смисъл, че на доста места може да забие при определени условия, и грешките няма да се обработят - все такива разни работи... Малко на "сляпо" все едно.
Недомислена е някак библиотеката, ама това е и щото модула е доста сложен и предоставя много и различни пътища да свършиш нещо. Иначе модула е добър. Подкараш ли го - после няма проблеми.
Относно трансфера, мисля даже че на чиповете с повечко крака има и 8 битов интерфейс. Не съм сигурен де. Тогава ще е съвсем бързо. То бързо бързо - ама пак основното закъснение идва от изчакването картата да приготви данните - после трансфера и така става за "нула време". На мен ми се налага да чета сектор по сектор и разбъркано. Ако се чете последователно - тогава вече самия трансфер може да има доста по-голям дял в цялото време за четене.
|
| Пет Фев 11, 2011 9:50 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Голямото предимство на SDIO според мен трябва да е в обработката на транзакцията. Не знам при ST, но при Атмел доколкото виждам мултимедиа контролера може да го пуснеш на ДМА и да четеше/пишеш колкото си данни искаш (последователно разбира се).
Докато при SPI е много накъсано - повечето библиотеки първо гледат дали е busy (1 байт трансфер) после пишат команда, параметър (5 байта трансфер), после token (един или повече пъти), после реалните данни после пак полиране...
Тъпо е, процесора чете по 1 или няколко байта и после трябва да видиш резултата. С полиране утрепваш процесора, а ако тръгнеш да сменяш контексти забавяш трансфера.
Друго си е да кажеш "метни 5 сектора" с ей тва ДМА и да не се занимаваш с глупости 
|
| Пет Фев 11, 2011 10:12 am |
|
|
|
Страница 1 от 1
|
[ 11 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 8 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|