Приветствую!
Возникли вопросы по теме. Есть eMMC (N2M400FDB), пробую с ней работать. Согласно даташиту необходимо пройти процедуру идентификации:
1) Отправляем GO_IDLE_STATE (CMD0), ответа не требуется.
2) Отправляем SEND_OP_CMD (CMD1), должен прийти ответ R3 (если всё хорошо) или R1b (если память сказала, что BUSY).
3) Отправляем ALL_SEND_CID (CMD2), должны получить ответ R2.
На втором шаге возникают вопросы. Проходит ответ 0x3F
00FF808000 (жирным выделен OCR). Ответ R3 - на рисунке 1.
Первый вопрос, почему последние 8 бит нули? Если смотреть состояние регистров MMC-контроллера, то видим - ответ пришёл, BUSY не устанавливался, т.е., вроде как, всё нормально. Но почему нули?
Если по осциллографу смотреть, то последние 8 бит 0хFF, микросхема отвечала 0x3F
00FF8080FF.
Второй вопрос касается содержимого OCR. Согласно даташиту eMMC может давать фиксированный ответ 0x00FF8080 ( V <= 2 GB) или 0x40FF8080 (V > 2GB). Моя память 4 GB, что не соответствует фиксированному ответу, что это может значить? Как тогда быть со значением OCR (рисунок 2), бит 31 в моём случае ноль, значит ли это, что память has not finished the power up routine? Или раз фиксированный ответ, то на данный бит не обращаем внимания?
Эскизы прикрепленных изображений