Отговори на тема  [ 5 мнения ] 
SD карта - CMD_SEND_CSD 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Пон Фев 20, 2012 5:05 pm
Мнения: 51
Мнение SD карта - CMD_SEND_CSD
Има ли някаква особеност при четене на CSD на SD карта - при инициализация се прочита успешно, а при опит да се прочете отново дава таймаут. Предполагам нещо трябва да се разреши/нулира или от сорта за следващо четене. Трябва да сменя някой друг флаг в CSD структурата и затова ми трябва първо прочитане на актуални стойности и след това програмиране.


Пон Сеп 02, 2013 5:56 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: SD карта - CMD_SEND_CSD
не е зле да прегледаш стандарта примерно тук

вътре има картинки със стейтове и т.н. Доколкото си спомям няма промяна на стейтовете специално за работа с CSD. Вероятно бъркаш нещо основно....

Обикновено първо се подава CMD0, за да я вкараш в SPI режим (ако ти е такъв интерфейса). После CMD8 гледаш каква е версията на картата и в зависимост от нея правиш една или друга инициализация...

Но щом ти отговаря веднъж, значи си я докарал някак си... Може би не изчиташ всичките 16 байта на CSD... ако не искаш да ги четеш всичките имаше команда да спреш дейтаблока. Освен това прегледай внимателно логиката на командата, първо ти пращаш команда, после тя ти отговаря с един респонс и след него следва дейтаблок, след дейта блока имаш crc което най-малкото трябва да игнорираш, т.е. да изчетеш..


Пон Сеп 02, 2013 6:42 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Пон Фев 20, 2012 5:05 pm
Мнения: 51
Мнение Re: SD карта - CMD_SEND_CSD
Ползвам стандартни библиотеки на ST, така че инициализацията е направена както трябва. CSD се прочита нормално в началото. По-късно обаче опитвайки се да го прочета отново получавам таймаут - включително и извикването на същата инициализираща функция.


Вто Сеп 03, 2013 10:18 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: SD карта - CMD_SEND_CSD
офф... относно ST библиотеките мнението ми е че е по-добре да не се ползват, ама това си ми е лично мнение и не го натрапвам ;-)

Като начало ако може да си изкараш някакъв трейс каква команда се опитваш да пращаш, какво отговаря картата и т.н. Не знам за какво точно ще ползваш карти, но ако ти трябва надеждност най-вертоятно ще ти се наложи да променяш библиотеки. Така че трейсването ще ти бъде полезно и след първоначалното подкарване.
По принцип няма таймоути при картите. Ти даваш команда, то ти връща response. Първо трябва да видиш дали наистина е респонс на командата ти, а не картата да ти говори още от предната команда нещо. След като се убедиш че наистина е респонс, трябва да видиш какъв е респонса, дали е грешка или проблем и трябва да прекратиш командата или е ОК и може да продължиш с фаза данни (ако командата е за пращане или получаване на данни).
Библиотечките често имат готови функиции - инициализация, четене на сектор, писане на сектор и т.н. И тия функиции минават или не, но като не минат не може да разбереш защо. Затова трябва трейс да видиш какво точно става...


Вто Сеп 03, 2013 10:49 am
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Пон Фев 20, 2012 5:05 pm
Мнения: 51
Мнение Re: SD карта - CMD_SEND_CSD
Странното е, че на същото място като правя четене на блок всичко минава нормално. Т.е. конкретната команда има претенции.


Вто Сеп 03, 2013 11:33 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

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


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

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