| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Превключване на SD карта в High Speed Mode >25MHz http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=12828 |
Страница 1 от 1 |
| Автор: | juzisound [ Нед Апр 06, 2014 12:47 pm ] |
| Заглавие: | Превключване на SD карта в High Speed Mode >25MHz |
Проблема е следния: Ползвам SD карти с STM32F103. Работя в момента на скорост до 25MHz. По спецификация гледам, че картата може да се превключи и на т.н. "High Speed" режим, който е на двойна честота - тоест с клок до 50MHz. С превключването на интерфейса от към страната на процесора няма проблем - гледам на скопа - забързява се. Трябва обаче да дам и команда на картата да превключи в "бързия" режим. Е тука обаче удрям на камък! Няма много документация по въпроса, а в едва няколкото трудно намерени примера виждам коментиран код - все едно някой го е писъл и после го е махнал, че не работи... Та въпроса е: 1. Някой ползва ли SD карти в този режим. 2. Ако става номера - да даде някакъв жокер как. Процесора няма значение - концепцията е важна... Поздрави! |
|
| Автор: | miro_atc [ Нед Апр 06, 2014 6:31 pm ] |
| Заглавие: | Re: Превключване на SD карта в High Speed Mode >25MHz |
Аз съм го правил по картинките от стандарта... Там има нарисувано коя команда след коя и т.н. Значи общо взето логиката е: 1) Ресет CMD0, след което команди 5, 8 и разни други неща чета дето ме интересуват 2) В даден момент и сетвам напрежението и дали е hi-speed mode, абе виж команда ACMD41, в респонса картата отговаря дали е power ready. Това се повтаря многократно докато мине. 3) След това минавам в identify mode (CMD2) и сетвам адреса й (CMD3) После чета CSD-то После превключвам в трансфер мод (CMD7) После чета SCR-a После ако в SCR-a пише че поддържа 4-бит минавам на 4-битов интерфейс с ACMD6 (след ресет е 1-бит sd) След това с CMD6 и параметър switch на функцията (група1) за смяна на честотата - та с това казвам на картата че искам да вдигна клока. Тя отговаря с един дълъг отговор но ако в битове 376:379 ми върне подходящ switch status значи е съгласна и след това просто си вдигам клока... Тва е накратко... виж стандарта за подробности. Тук-таме се налага да сменяш блок-сайза щото различните команди имат различни дължини, но няма други тайни. Просто си следвах каквото пише и видимо работи, не съм имал грижи и не съм задълбавал повече... |
|
| Автор: | juzisound [ Нед Апр 06, 2014 9:58 pm ] |
| Заглавие: | Re: Превключване на SD карта в High Speed Mode >25MHz |
Благодаря! Ще опитам при първа възможност... А ако не е тайна с къв проц го правиш това? В смисъл, че и ти сякаш ползваше STM-ките. С коя серия си го правил, ако е с тях изобщо де... Питам, защото четох някъде, че в F4 серията имало бъг, който се отнася точно до SDIO модула му и то точно до тази му способност да работи в High Speed режим. Аз копам с F1 още, а в неговата ерата няма нищо по тоя въпрос. Чудя се тук дали има бъг, а пък да не е документиран още, или пък се е появил чак в новата F4 серия? За F2 не съм гледал... |
|
| Автор: | miro_atc [ Нед Апр 06, 2014 10:40 pm ] |
| Заглавие: | Re: Превключване на SD карта в High Speed Mode >25MHz |
Ползвам Ф2 и че има бъгове има, аз даже ви се чудя защо още ползвате Ф1 там повечето периферии бяха трагични... При Ф2 има ограничения на честотата на SDIO спрямо клока на AHB шината, демек не може безразборно да вдигаш клока на картата. Но то и не виждам причина. При 4-битов интерфейс и 25MHz имаш 100Mbit... мен ме устройства. Иначе аз имах ядове с ДМА-то, ама бях объркал флоу-контрола а и то се държеше супер странно, т.е. въпреки че бях сетнал дма-то като мастер (вместо периферията) то пак периферията работеше като мастер, само при определени размери се дънеше. Та това ме подведе и бая се плюнчех докато разбера че заради флоу контрола прави тия мизерии. |
|
| Автор: | Vesko [ Пон Апр 07, 2014 8:13 am ] |
| Заглавие: | Re: Превключване на SD карта в High Speed Mode >25MHz |
На Ф2 май не може да се изкара клок>24МХз.... ПП: Грешка. Можело да е 48МХз |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|