MMCFW для работы с eMMC/eMCP использует специализированные ридеры карт SD/MMC (PCI, USB-PCI).
Картридеры разделяем мы на несколько категорий (для удобства): PCI, USB-PCI и USB.
PCI - Поддерживает все возможные операции в работе с eMMC.
Такие ридеры обычно встречаются в ноутбуках. Они распаиваются на плате и подключаются напрямую к шине PCI.
В некоторых ноутбуках функцию ридера может выполнять южный мост.
Эти ридеры инициализируют все разделы: Boot0/1, RPMB, GP, UserArea.
USB-PCI - Поддерживает все возможные операции в работе с eMMC, кроме операций связанных с RPMB.
Такие ридеры могут использоваться как в ноутбуках, так и в десктопных ПК. Обычно такие ридеры имеют свою отдельную плату.
В эту категорию относим ридеры, что работают по интерфейсу USB, но драйвером переводятся в список PCI устройств (ридеров).
На данный момент известен лишь один производитель таких ридеров (контроллеров) Realtek RTS 51xx.
Контроллеры USB RTS не способны инициализировать раздел RPMB. В связи с чем, статус RPMB будет недоступен.
Недостаток в виде отсутствия доступа к разделу RPMB не влияет на работу остальных функций, даже таких как прошивка FW.
Эти ридеры инициализируют разделы: Boot0/1, GP, UserArea.
USB - Не поддерживает необходимые операции с eMMC.
Такие ридеры регистрируются в системе как обычные USB Mass-storage, и не имеют расширенных возможностей, что необходимы для работы с eMMC. Эти ридеры инициализируют только раздел UserArea.
eMMC/eMCP по сути своей тоже самое, что и обычные SD. Но в отличии от SD, eMMC/eMCP имеет расширенный набор функций.
Любой карт-ридер без проблем инициализирует eMMC, но не любой карт-ридер способен работать с расширенными свойствами eMMC.
Asus R752M (Realtek RTL8411)
Asus A8S (Ricoh R5C833)
Asus F3Ka (Ricoh R5C833)
Asus F401U (FCH)
Asus X552C (Realtek RTL8402)
Asus A9RP (Ricoh R5C841)
Asus X555L (Realtek RTS5170)
Asus n550jv (Realtek RTS5139)
Acer Aspire E1-510 (Realtek RTL8411)
Acer 5920 (Ricoh R5C832/833)
Acer Aspire E1-531G (BCM57785XA0KMLG)
Acer Aspire 4830T(RTS5209)
Dell Latitude PP09S D420 (Ricoh R5C843)
Dell Vostro 3470 (RTS5129)
Dell latitude e6400 (R5C847)
Dell Latitude d430 (R5C843)
Dell Latitude E5410 (R5U242)
DNS W650EH (RTL8411)
DNS C5501Q
HP Pavilion g6 (Realtek RTS5209)
Lenovo G50-70 (Realtek RTS5170)
Lenovo G50-45 (Realtek RTS5170)
Lenovo G50-30 (Realtek RTS5170)
Lenovo G580 (RTS5178)
Lenovo T520 (Ricoh R5U230)
Lenovo Z570 (Realtek RTS5139)
Lenovo 310-15ISK (Realtek RTS5129)
MSI MS-16J5 (Realtek RTS5170)
MSI MS-175A (Realtek RTS5249)
Irbis NB133 (RTS5170)
irbis NB241 (rts5170)
Sony VAIO SVE171A (ti8402)
Samsung NP-R40 (Ricoh R5C843)
Samsung NP355V5C (RTS5127)
Samsung NP350E5C (Realtek RTS5129)
Szyiyun J4125 (RTS5170)
Toshiba Satellite A30x Ricoh (R5C8x)
Xiaomi mi notebook pro (Realtek RTS5170)
Поддерживаемые:
PCI - Ricoh R5C832/833/843/841/847, RTL8402/8411,RTS5209, BCM57785XA0KMLG, R5U242, TI8402.
USB-PCI - RTS5127, RTS5129, RTS5139, RTS5170, RTS5178, RTS5219.
Неподдерживаемые:
RTS5141, RTS5144, RTS5151, RTS5158, RTS5159, RTS5160, RTS5130, AU6438.
При подключении MMC к ридеру, необходимо придерживаться следующих правил:
Использовать максимально минимальную длину проводов.
Все ридеры проектируются для подключения MMC на определенном расстоянии от контроллера ридера, и увеличение этого расстояния негативно сказывается на стабильность подключения. Эту проблему можно частично решить при помощи ПЛУ.
Устанавливая ПЛУ на расчетное место, мы увеличиваем возможное расстояние для подключения eMMC. На ридерах RTS, это также гарантирует работу с некоторыми проблемными eMMC. При этом, длина проводов должна быть не более 10 - 15 см от ПЛУ.
Для ридеров без ПЛУ, длина проводов должна быть максимально минимальной.
Использовать качественные провода.
Каждый провод имеет свои характеристики, и различный сплав металлов. Что для подключения eMMC критически важно!
В решении этой задачи хорошо себя зарекомендовал шлейф от IDE.
Использовать одножильный провод для D0-D3, CMD, CLK.
Многожильные провода нельзя использовать для подключения сигнальных линий между ридером, ПЛУ, eMMC.
Допускается и рекомендуется использование многожильного провода только для VCC, VCCQ и GND.
Использовать дополнительный GND.
Если есть возможность добавить еще один провод GND (от ридера до eMMC), то будет лучше, если это сделать.
Это положительно скажется на стабильность подключения.
На данный момент существует несколько способов подключения eMMC/eMCP:
1 бит (D0, CLK, CMD, VСС, VССQ, GND, GND).
4 бит (D0, D1 ,D2, D3, CLK, CMD, VСС, VССQ, GND, GND).
Также не забываем приземлить контакты CD и WP, если вы подключаете MMC напрямую.
#CD (card detect) - даёт пинок контроллеру на инициализацию MMC.
WP (write protect) - даёт разрешение контроллеру на запись в MMC.
Важно!
Однобитное подключение поддерживается только в Рекомендуемой ОС и в последних официальных версиях обновлений ядра, начиная с 6.7.9 и выше.
Linux
При подключении совместимого USB RTS ридера, в MMCFW автоматически отобразится кнопка RTS в нижней панели программы.
Также в MMCFW есть возможность проверить, подключен ли совместимый ридер к компьютеру. Для этого есть несколько способов.
Для подключенных ридеров.
В верхней части программы нажимаем кнопку Дополнительно, в раскрывшемся меню выбираем Устройства MMC/RW.
Для подключаемых ридеров.
В верхней части программы нажимаем кнопку Дополнительно, в раскрывшемся меню выбираем Логгер (KMSG).
После того, как логгер был запущен, подключаем ридер к компьютеру. В логе появится информация о подключенном устройстве.
По умолчанию в Логгере (KMSG) включен фильтр событий MMC.
Что бы получить все события системы установите галочку на Отслеживать все события.
Windows
Для того, что бы проверить совместимость ридера с программой в ОС Windows, была разработана маленькая утилита под названием Reader_Checker.
Важно!
MMCFW - идентифицирует ридер по набору функций. А производитель и модель ридера не имеют значения.
Если ридер поддерживает необходимые функции для работы с eMMC/eMCP, то программа будет с ним работать, даже если ридер неизвестен.
Для согласования уровня сигналов.
Для внутрисхемного программирования.
Для подключения VCCQ 1.8v.
Для достижения максимальной совместимости ридера USB (REALTEK RTS) с eMMC/eMCP.
Для ридеров USB (REALTEK RTS) рекомендуется использовать ПЛУ постоянно при любом напряжении VCCQ (1.8v-3.3v).
Все карт-ридеры рассчитаны на напряжение 3.3v. Это напряжения питания контроллера, которое также коммутируется на MMC.
Для внутрисхемного программирования MMC, напряжение VCCQ должно быть на уровне 1.8v.
Именно такое напряжение часто используется в различных устройствах (платах).
Что бы обеспечить напряжение 1.8v, можно использовать дополнительный преобразователь напряжения, например AMS1117-1.8.
Однако, простого понижения напряжения до уровня 1.8v будет недостаточно!!!
При установки уровня напряжения VCCQ 1.8v, также устанавливается логический уровень 1.8v в общении между контроллером ридера и MMC.
Контроллер ридера работает только с логическим уровнем 3.3v, и 1.8v для него будет непонятен.
Что бы решить эту проблему, согласовать разные уровни, мы используем ПЛУ TXS0108 (Преобразователь логических уровней).
Программатор на базе REALTEK RTS от Chubaka885
Программатор на базе REALTEK RTS от Eddave
Программатор на базе REALTEK RTS от hamelion_81
Программатор на базе REALTEK RTS от AlexJ87
Программатор на базе REALTEK RTS от K!lly
Программатор на базе REALTEK RTS от alyshta
Программатор на базе REALTEK RTS от jazzman_84
Программатор на базе REALTEK RTS от vitoz84