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

 
 
> MMC (eMMC)
doom13
сообщение Aug 18 2014, 08:03
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Парочку вопросов задавал тут, ответа не получил.
Проблема осталась, решил создать свою тему.

Есть микросхема N2M400FDB (eMMC флэш память 4 GB) совместимая с JEDEC/MMC standard v4.41.
Возникли вопросы по инициализации (идентификации eMMC) памяти.
Всё делаю согласно документации.
1) Устанавливаю тактовую частоту 400 кГц.
2) Далее отправляю команду GO_IDLE_STATE (CMD0). Память должна перейти в режим ожидания.
3) Отправляю SEND_OP_CMD (CMD1). В ответ должны получить R3.

В ответ на SEND_OP_CMD (CMD1) в регистре ответа вижу значение 0x00FF 8080. В даташите есть строки:
Цитата
the e•MMC devices shall respond with a fixed pattern of either 0x00FF 8080 (capacity less than or equal to 2GB) or 0x40FF 8080 (capacity greater than 2GB) if device is busy, and they shall not move into Inactive state.

Т.е. полученный ответ не соответствует объёму используемой флэш-памяти, почему???
Судя по ответу девайс находится в состоянии "бизи", что можно сделать, чтоб вывести его из этого состояния??? Как работать с памятью дальше при таком "epic fail"???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeystm32
сообщение Aug 9 2018, 08:21
Сообщение #2





Группа: Новичок
Сообщений: 2
Регистрация: 8-08-18
Пользователь №: 106 602



CMD7 перехожу в Transfer State
CMD6 c arg=0x03B90100; для перехода на более высокую тактовую
CMD6 c arg=0x03B70100; для включения шины в 4bit
SD_Init4bit24mhz(); настраиваю sdio в stm32 на 4bit bus и 24МГц
CMD25 WRITE_MULT_BLOCK
и теперь смотрю на d0-d3 осциллографом но ничего нет(

в чем может быть ошибка? чего не хватает?
Go to the top of the page
 
+Quote Post
Viktuar
сообщение Sep 27 2018, 17:58
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 18-12-16
Пользователь №: 94 676



Цитата(sergeystm32 @ Aug 9 2018, 09:21) *
CMD7 перехожу в Transfer State
CMD6 c arg=0x03B90100; для перехода на более высокую тактовую
CMD6 c arg=0x03B70100; для включения шины в 4bit
SD_Init4bit24mhz(); настраиваю sdio в stm32 на 4bit bus и 24МГц
CMD25 WRITE_MULT_BLOCK
и теперь смотрю на d0-d3 осциллографом но ничего нет(

в чем может быть ошибка? чего не хватает?

Может не хватает самих данных biggrin.gif
Go to the top of the page
 
+Quote Post



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

 


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


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