реклама на сайте
подробности

 
 
> Осваиваю MMC SPI mode, работает, но есть вопросы...
AndreyVN
сообщение Nov 15 2006, 12:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!
Народ, кто с MMC в SPI режиме работал? Хочу уточнить следующий момент.
Я отправляю в карточку команду, которая состоит из 6 байт. Если верить спецификации, то ответ (R1) генериться карточкой после первого байта команды (в котором сидит код команды, CMD0, CMD1...).
Код который я использую, естественно, из Интернета:

Цитата
char MMC_cmd(char befF, unsigned int AdrH, unsigned int AdrL, char befH)
{

MMC_spi(0xff);
MMC_spi(befF);
MMC_spi( (unsigned char) (AdrH>>8) );
MMC_spi( (unsigned char) (AdrH & 0xff) );
MMC_spi( (unsigned char) (AdrL>>8) );
MMC_spi( (unsigned char) (AdrL & 0xff) );
MMC_spi(befH);
MMC_spi(0xff);
return MMC_spi(0xff);
}


Не могу понять, зачем перед первым и после последнего байтов шлются FF, и почему ответ читается после всей посылки, да еще и 2 раза по FF после команды.

Хотя, отмечу, код работоспособный.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Nov 15 2006, 13:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата
Если верить спецификации, то ответ (R1) генериться карточкой после первого байта команды

Почитайте спецификацию со стр. 107 и ниже wink.gif
Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Nov 16 2006, 06:24
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата
Почитайте спецификацию со стр. 107 и ниже wink.gif


Да, перечитал более внимательно, действительно до и после команды, следует подавать FF, как я догадываюсь это надо чтобы не прекращалось тактирование SPI интерфейса.

Но теперь возник вопрос по таблице 43 (Timing Values).

Все интервалы (Ncs, Ncr..), даны в некоторых интервалах, например от 1...8 байт. То есть, MMC может ответить после одного байта FF, а может зависнуть до 8 байт FF. А в исходном коде в нее кинули 2 байта FF и считываем ответ.

Получается, следует слать до 8 байт высокого уровеня (FF) и анализировать готовность приемного буфера SPI интерфейса.

Правильно я понимаю спецификацию MMC или нет ???
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 09:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016