"Заполните ваш профиль. Поддержать форум, получить приглашение регистрации! Если вам нравится наша работа — поддержите нас! Админ ALZE2015@YANDEX.RU"

РЕМОНТ ТЕЛЕВИЗОРОВ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » РЕМОНТ ТЕЛЕВИЗОРОВ » Технофлейм » Что такое EMMC


Что такое EMMC

Сообщений 1 страница 11 из 11

1

История
Изначальная версия стандарта MMC была разработана в 1996 компаниями Siemens и SanDisk. MMC 2.0 появился в 1999, 3.0 — в 2001 году. На базе MMC был разработан стандарт Secure Digital; SD 1.0 был официально совместим с MMC 2.11.
В MMC 4.0 (2003 год) были введены режимы с 4-разрядной и 8-разрядной шинами, значительно увеличившие возможные скорости, однако 8-битная шина поддерживается крайне редко.
В 2008 году контроль над стандартом MMC полностью получила организация EIA JEDEC. В версии MMC 4.3 был представлен новый вариант eMMC (embedded MMC – встроенная ММС), предназначенный для применений, когда модуль памяти припаивается к печатной плате устройства. Несмотря на измененный форм-фактор, протокол и возможности у eMMC и MMC совпадают.
В марте 2009 года компания JEDEC опубликовала версию 4.4.
В марте следующего года JEDEC представила версию 4.41.
15 июня 2011 года компания JEDEC опубликовала версию 4.5.
В июне 2012 года компания JEDEC представила стандарт 4.51.
1 октября 2013 года JEDEC опубликовала стандарт 5.0.
24 февраля 2015 года компания JEDEC представила новый стандарт носителя 5.1.
Интерфейс
Для подключения используются следующие шины.
VSS (GND) - земля
VCC(VDDF) - питание ядра, нанд, микроконтроллера = 2.7v-3.6v
VCCQ(VDD) - питание интерфейса = 1.7v-1.95v или 2.7v-3.6v
CMD - двусторонняя шина передачи и приёма команд
CLK - тактовая, за один такт CLK , передаётся по одному биту (1X скорость передач данных) или по два ( двойная плотность передачи данных).
D0-D7 - шины передачи и приёма данных
RST - линия сброса. Может быть программно установлена зависимость микросхемы от этой шины - 162 бит в extCSD. Если там прописана 1, то на этой шине обязательно должна быть 1 - важно при подключении микросхемы в isp режиме. В большинстве случаев эта шина подтянута резистором к питанию, но встречаются аппараты, где этой шиной управляет процессор, в этом случае, для подключения в isp режиме нужно подавать штатное питание и останавливать процессор или переводить его в третье состояние через reset.
Режимы работы
После подачи питания, процессор инициализирует микросхему посылая  команду по шине CMD, и получает от микросхемы ответ в виде набора данных по этой же линии.
Основной набор команд, всегда можно подсмотреть в спецификации.
Нас, как пользователей интересуют  в первую очередь режимы загрузки и ширина шины.
Режим загрузки (PARTITION CONFIG)
Загрузчик может располагаться либо в USER области, либо в разделах BOOT1 или BOOT2. Как процессор узнаёт откуда ему считывать загрузчик?
Для начала операции загрузки , ХОСТ должен держать CMD линию в низком уровне на протяжении минимум 74 такта CLK
после включения питания или операции сброса командной cmd1. eMMC распознает
последовательность и начинает подготовку загрузочных данных внутри. ( BOOT1 , BOOT2 или MAIN раздел в зависимости от бита BOOT CFG
Операция загрузки заключается в отправке загрузочных данных на хост по DAT
линиям последовательно на большой скорости . ХОСТ должен удерживать линию CMD в низком уровне , чтобы получить все данные BOOT.
Установка регистра PARTITION_CONFIG позволяет eMMC карте получать подтверждение загрузки
Также загрузка может быть реализована софтом процессора, когда процу всё равно, что прописано в бут регистрах. Он будет читать USER раздел. На практике встречались аппараты где
PARTITION CONFIG = 0x0
Device not boot enabled
А загрузка всё равно происходила с USER области.
Ширина шины (BOOT BUS WIDTH)
Ширина шины данных во время загрузки.  Определяет, будут ли линии данных сконфигурированы для передачи  данных с одной скоростью с использованием обратного или высокоскоростного тайминга, или режима двойной скорости передачи данных во время загрузки.
Разделы
RPMB (Replay Protected Memory Block) -работать с этим разделом возможно только зная ключ.
BOOT1  и BOOT2 - могут не использоваться в зависимости от конфигурации
USER - пользовательский раздел, может делиться на 4 раздела GP0,GP1,GP2,GP3
Служебная информация
CID (Card identification data)- содержит данные, по которым можно идентифицировать карту памяти (серийный номер, ID производителя, дату изготовления имя микросхемы и.т.д.), длина 16 байт. Встречаются аппараты где в загрузчике прописано имя микросхемы, при замене микросхемы на не аналогичную, приходится прописывать CID от такой же микросхемы или от родной, если его удаётся вычитать.
CSD (Card-specific data)- содержит различную информацию о карте памяти (от размера сектора карты памяти до потребления в режиме чтения/записи). Длинна 16 байт.
extCSD (Extended Card-specific data) - содержит всевозможную информацию о карте памяти , которая не влезла в CSD. Длинна 512 байт. Достаточно длинный регистр - но основная его часть ReadOnly - никогда не меняются и прописаны еще на заводе. Именно в нём мы прописываем важные значения определяющие режимы работы eMMC.
Partition Config
Boot Bus Width
Rst_n_Function - будьте внимательны, при работе с этим пунктом, меняется только один раз.

0

2

1. Что такое микросхема eMMC?

Фактически микросхема eMMC (Embedded MultiMediaCard) — это накопитель MMC (MultiMediaCard), выполненный в виде микросхемы. Не сильно вдаваясь в детали внутренней структуры, можно сказать, что eMMC представляет собой одну или несколько микросхем NAND под управлением микроконтроллера, который обеспечивает внешний интерфейс eMMC и берет на себя достаточно неприятные функции управления микросхемами NAND: исправление ошибок и управление плохими блоками. О практических сложностях исправления ошибок и управления плохими блоками NAND мы уже писали. А при использовании eMMC разработчик оказывается избавленным от необходимости создания сложного программного обеспечения, процессор прибора может быть загружен другими задачами.

eMMC представляет собой не микросхему в традиционном понимании, а микросборку, в которой в одном корпусе собраны несколько кристаллов зачастую разных (!) производителей.

eMMC — это не единственное название для подобных микросхем. Встречаются названия: eNAND, moviNAND, NANDrive. Кроме eMMC есть еще другие варианты накопителей, основанные на идеях полного управления NAND: OneNAND, UFS.

0

3

2. Особенности микросхем eMMC

Микросхема eMMC представляет собой накопитель, который может быть сконфигурирован для использования сложной внутренней структуры (различные области и разделы), в том числе возможно ограничить (зашифровать) доступ к отдельным разделам. В задачи программатора не входит "взлом" микросхемы и получение информации из защищенных областей. Микросхема считывает "как есть", а задача интерпретации содержимого, если это необходимо, целиком ложится на пользователя. В общем случае (при отсутствии защиты) скопировать микросхему можно только на точно такую чистую микросхему того же производителя. В остальных случаях считанную информацию, возможно, нужно будет каким-либо образом интерпретировать и корректировать.

Микросхема eMMC может быть считана и записана программатором так же, как любая другая микросхема. Поскольку программное обеспечение программатора поддерживает многозадачность, в том числе одновременное чтение разных разделов микросхемы, пользователь может просматривать одни части или области микросхемы, в то время как другие еще считываются

У eMMC очень большой объем основной области памяти, поэтому, несмотря на достаточно быстрое чтение микросхемы программатором (до 5 мегабайт в секунду), полное чтение может занять несколько минут. Пока программатор считывает основную область микросхемы, можно переключиться на другие закладки редактора и быстро прочитать и просмотреть специальные регистры микросхемы.

0

4

3. Специальные регистры eMMC
В соответствии со стандартом JEDEC все микросхемы eMMC имеют следующие регистры:

CID (Chip IDentification) — регистр идентификации микросхемы;
CSD (Chip Specific Data) — регистр управления микросхемой;
ECSD (Extended CSD register) — расширенный регистр управления микросхемой.
Отдельные части регистров размером от одного бита до нескольких байтов описывают свойства микросхемы или управляют определенными свойствами этой микросхемы. В этом смысле регистры eMMC функционально схожи с регистрами конфигурации (fuses) микроконтроллеров, представление которых очень удобно реализовано в редакторе ChipStar. Однако регистры eMMC по размеру значительно больше, поэтому в программаторе иx представление реализовано несколько иным образом.

Для специальных регистров закладка обычного двоичного редактора дополнена справа редактором свойств.

Зона обычного двоичного редактора. Здесь информация отображается в HEX формате и может быть изменена (даже для неизменяемых областей);
Зона обычного двоичного редактора, соответствующая выделенной ячейке (slice) специального регистра;
Название ячейки регистра в соответствии с eMMC JEDEC;
Адрес в байтах начала ячейки регистра в шестнадцатеричном формате;
Адрес начала ячейки регистра в битах или байтах (указано в заголовке колонки), значения десятичные:
Для битового формата значения адреса поля представлены в виде: <начало_бит>:<конец_бит>
Для байтового формата значения адреса поля представлены в виде: <начало_байт>.<бит>:<конец_байт>.<бит>
Мнемоническое обозначение ячейки регистра в соответствии с eMMC JEDEC;
Тип памяти ячейки регистра:
DNU — ячейка не используется или её нельзя использовать;
RO — ячейка только для чтения;
WO — ячейка только для записи (записанное значение неизвестно, всегда показывается как "0");
OTP — однократно программируемая ячейка (ее значение больше нельзя будет изменить);
RAM — ячейка управления (меняется постоянно, после отключения питания значение не сохраняется);
Пусто — нормальная многократно записываемая и стираемая ячейка.
Значение ячейки в HEX формате;
Текущее положение курсора редактора в байтах, адрес в байтах начала текущей ячейки регистра.
В регистре CID все поля являются ячейками только для чтения.

Перемещение курсора редактора и редактора свойств синхронизированы. Редактировать данные можно как в редакторе свойств, так и в обычном редакторе, причем обычный редактор не поддерживает ограничения редактирования ячеек, которые наложены на редактор свойств в зависимости от типа ячейки. Таким образом, в двоичном редакторе можно отредактировать всё, даже то, что редактировать не нужно. Поэтому начинающим пользователям настоятельно рекомендуем использовать только редактор свойств.

Ячейка нормального типа. Можно редактировать и многократно перезаписывать.
Однократно программируемая ячейка (ее значение больше нельзя будет изменить).
Неизменяемая ячейка. Только для чтения.
Обратите внимание, что бит COPY регистра CSD предварительно записан при поставке чистой микросхемы розничному покупателю. Это мера защиты авторских прав. Стереть этот бит невозможно. Часть ячеек регистра перезаписываемая, например, изменяя значение ячейки TWP (временная защита от записи) защиту можно устанавливать или снимать. А вот ячейка PWP (постоянная защита от записи) однократно программируемая. Установка бита PWP в единицу превратит микросхему eMMC в постоянное запоминающее устройство – вы уже больше не сможете стереть или перезаписать ее!

Ячейка управления. Нас такие не интересуют.
Ячейка только для записи (записанное значение неизвестно, всегда показывается как"0"), как правило, это тоже ячейка управления и нас не интересует.
На сиреневом фоне в редакторе показаны области, которые назначены каким-либо ячейкам.
Обычным текстом показаны области, не имеющие никакого назначения в стандарте eMMC JEDEC.
Регистр ECSD содержит большое разнообразие ячеек разных типов и размеров. Часть областей регистра зарезервирована для будущего использования. Не все ячейки ECSD, описанные в стандарте eMMC JEDEC, могут быть реализованы в конкретной микросхеме. Если ячейку перезаписать не удается, возможно, что ее просто нет. В то же время могут быть реализованы какие-либо другие функциональные ячейки в зарезервированных областях. За подробной информацией следует обратиться к документации производителя конкретной микросхемы.

Об особенностях записи регистров eMMC программатором читайте ниже.

0

5

4. Режимы работы шины данных eMMC
Микросхемы стандарта eMMC поддерживают следующие три конфигурации шины данных: 1-битную, 4-битную и 8-битную. В программаторе реализованы только две из них, что вполне достаточно для практического применения. При чтении рекомендуется использовать 8-битный режим, так как он более быстрый.

Меню "Анализ eMMC CID/CSD" вызвает считывание содержимого CID/CSD, его интерпретацию и верификацию на соответствие выбранной микросхеме:

0

6

5. Проверка контактирования
При программировании микросхем eMMC, как и для всех остальных, выполняется проверка качества контактирования в панельке. Подробно о том, как это происходит, можно почитать в документе "Методика проверки контактирования", доступном в кабинете пользователя программатора. Проверка контактирования проводится перед всеми операциями с микросхемой, кроме чтения идентификатора: чтение, стирание, запись, верификация.

Однако вы можете вызвать проверку контактирования вручную, тогда это окно будет показано всегда. Можно кликнуть по изображениям контактов, чтобы увидеть назначения контактов микросхемы и их взаимосвязи внутри адаптера. Микросхемы типа eMMC могут быть прочитаны и записаны в двух режимах шины данных: 8 бит и 1 бит. Если сигналы к линиям данным D1-D7 не имеют контакта с микросхемой, программа автоматически переключится в режим однобитной шины, и микросхема может быть успешно прочитана и записана, только медленнее. В этом случае каждый раз будет выдаваться предупреждение об отсутствии контакта, которое можно игнорировать.

Примечание: У программаторов ChipStar-Janus аппаратные возможности проверки контактирования отсутствуют.

0

7

6. Как самостоятельно добавить отсутствующую в базе микросхему

Подробно о самостоятельном добавлении разных микросхем вы можете прочитать в соответствующей статье. Поскольку вся необходимая информация о программировании микросхемы eMMC содержится в регистрах CID, CSD и ECSD самой микросхемы, а доступ к чтению этих регистров унифицирован и подробно описан в стандарте eMMC JEDEC, добавление микросхемы не представляет никаких трудностей.

Cначала необходимо выбрать шаблон корпуса микросхемы: BGA/153, BGA/169 или ICPA (для внутрисхемного программирования)

Затем достаточно нажать кнопку "Автозаполнение согласно eMMC JEDEC" и вся необходимая для программирования информация будет считана:

Останется только ввести название микросхемы в поле "Микросхема" и можно работать.

0

8

7. Запись микросхемы и защита регистров CSD и ECSD
Если вы выберете чтение микросхемы (стандартная процедура чтения), то программа считает основную память и все три специальных регистра.

При сохранении в файл и при его последующем открытии вся структура закладок редактора восстанавливается.

Если вы попытаетесь записать микросхему, откроется стандартное окно подтверждения записи с несколькими закладками. Закладка "Области" определяет соответствие областей (т.е. какие области из исходных файлов в какие области микросхемы будут записаны):

Программа назначает области по умолчанию, однако вы их можете переназначить. Обратите внимание, что область CID не назначена. Это происходит потому, что регистр CID полностью состоит из полей только для чтения и его запись невозможна.

На закладке "Операции" можно управлять выполнением различных этапов при записи микросхемы. Обычно программа по умолчанию включает все операции. Однако для некоторых микросхем, включая eMMC, все немного по-другому

По умолчанию запись CSD и ECSD регистров будет выключена. Это сделано из соображений максимальной безопасности, поскольку данные регистры содержат однократно программируемые ячейки, и их изменение необратимо. Для защиты от необдуманных действий программа по умолчанию не включает запись таких регистров. Если вы абсолютно уверены, что вам нужно записать какой-либо из этих регистров, вручную включите соответствующую операцию

Кроме того, программа дополнительно запросит подтверждение выполнения, если была включена запись однократно программируемой области. Таким образом реализована трехуровневая защита от непреднамеренного повреждения микросхемы.

0

9

8. Выборочное чтение и запись регистров микросхемы
Кроме стандартной процедуры чтения, когда считываются все области микросхемы, в программе ChipStar реализовано выборочное чтение только одной области

Выборочное чтение может быть очень полезным при работе с такими микросхемами, как eMMC накопитель. При выборочном чтении можно быстро считать и сохранить, и, при необходимости, записать только одну область микросхемы. Например, мы считали только область регистра CSD, как показано на рисунке выше. Затем, если мы решим записать такой файл в микросхему

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

Это вполне логично, поскольку это единственная область, которую можно записать. Однако, дополнительный запрос подтверждения на запись однократно программируемой области по-прежнему будет выдан.

0

10

9. Особенности записи регистра ECSD

Регистр ECSD содержит большое количество зарезервированных полей, не описанных в стандарте eMMC JEDEC, поэтому в целях безопасности программа записывает лишь некоторые ячейки ECSD. Остальные ячейки невозможно изменить в редакторе свойств ECSD, и они не будут записаны, даже если их значение вы измените в двоичном редакторе. Записываются только те ячейки, значения которых не совпадают со значениями, уже записанными в микросхеме.

0

11

ПРИВЕТ ВСЕМ

0


Вы здесь » РЕМОНТ ТЕЛЕВИЗОРОВ » Технофлейм » Что такое EMMC