Карты памяти. Какую выбрать?
Почему не стоит брать медленную карту
Типы карт памяти
SD карты (Secure Digital)
Это наиболее распространённый тип карт памяти. На нем мы остановимся подробнее.
Имеются 2 вариации:
SDHC — карты объемом до 32 Гб;
SDXC — карты объемом до 2 Тб.
На максимально возможную скорость записи указывает класс скорости («С») . Бывает 2, 4, 6, 10 класс. Номер класса указывает на минимально допустимую скорость записи для карты памяти в мегабайтах в секунду.
Также для SD-карт введен стандарт UHS (Ultra High Speed) — высокоскоростной протокол обмена данными.
Сейчас есть три версии стандарта UHS:
UHS-I — передает данные со скоростью до 100 Мб/с;
UHS-II — передает данные со скоростью до 312 Мб/с;
UHS-III — передает данные со скоростью до 624 Мб/с.
Если вторая версия позволяет записывать 4К видео, то с третьей версией вы сможете писать уже 8К и 360!
Внутри UHS также существуют классы скорости:
Class 1 (U1) — от 10 МБ/с;
Class 3 (U3) — от 30 МБ/с.
Последний класс скорости Video Speed Class был создан для поддержки видео более высокого разрешения. Такие карты памяти обычно маркируются символом «V».
В классе Video Speed Class есть 5 категорий:
V6 (Class 6): минимальная скорость записи 6МБ/с — позволяет записывать HD видео;
V10 (Class 10): минимальная скорость записи 10МБ/с — позволяет записывать FullHD видео;
V30 (Class 30): минимальная скорость записи 30МБ/с — позволяет записывать 4K c чистотой 60/120 fps;
V90 (Class 90): минимальная скорость записи 90МБ/с — позволяет записывать 8K c чистотой 60/120 fps.
На SD-картах также может использоваться обозначение скорости карты в виде множителя, например, 133х. При этом 1х соответствует скорости 150 Кб/с.
К сожалению, в этом стандарте не указывается, какая скорость карты памяти имеется в виду: записи или чтения. Поэтому производители чаще указывают скорость чтения, которая больше скорости записи.
ему exFAT, которая не имеет такого ограничения.
Еще один немаловажный момент: карты памяти формата SDHC используют файловую систему FAT32, максимальный объем файла на которой составляет 4 Гб. Поэтому при записи максимальная продолжительность одного ролика будет ограничена.
SDXC, в свою очередь, использует файловую систему exFAT, которая не имеет такого ограничения.
Micro SD
В определенных случаях (например, когда размер устройства маленький) используются карты MicroSD.
У карт также есть 2 вариации:
microSDHC — накопители до 32 ГБ, работают на устройствах с поддержкой SDHC и SDXC;
microSDXC — накопители до 2 ТБ, работают только на устройствах с поддержкой SDXC.
У этих карт все обозначения и стандарты соответствуют SD-картам. Кроме этого, с помощью переходника Micro SD легко превратить в SD карту.
Также существуют более скоростные карты памяти — CFexpress Type-A и Type-B, СFast, XQD. Данные карты используются в фото и видеокамерах, более требовательных к скорости записи. В таких, как, например:
О них мы поговорим в отдельной статье.
Карта памяти CFexpress — XQD — CFast — CF
CFexpress
Разделяются на три типа: A, B и С.
Тип А.
Самая маленькая карта в семействе CFexpress.
Её размеры составляют:
20мм х 28мм x 2.8мм.
Максимальная теоретическая скорость записи может достигать 1,000MB/s.
На данный момент используются в новых камерах Sony, к примеру: A7SIII и A1
Тип В.
Самая распространенная карта в семействе CFexpress.
Её размеры составляют:
38.5mm x 29.6mm x 3.8mm. Они идентичны размерам XQD карт и поэтому с прошивками производители добавляли возможность использования карт CFexpress в слотах XQD, к примеру: Nikon Z6 и Z7.
Максимальная теоретическая скорость записи может достигать 2,000MB/s.
Используется в большенстве камер со слотом CFexpress:
Canon EOS R5, Nikon Z7II, Panasonic S1R и т.д
Тип С.
Самая большая карта в семействе CFexpress.
Её размеры составляют:
54mm x 74mm x 4.8mm. Спроектированы для работы с компьютерами и SSD.
Максимальная теоретическая скорость записи может достигать 4,000MB/s.
Чтобы не запутаться на карточках всегда указан тип карты.
XQD
Формат карт памяти, разработанный компаниями SanDisk, Sony и Nikon и утверждённый CompactFlash Assotiation в 2010—2011 годах. Как уже писали ранее, данный формат идентичен CFexpress Tybe B, что размерами, что контактной группой.
Пропускная способность интерфейса составляет 2,5 Гбит/с, актуальная скорость записи достигает 125 Мбайт/с
Лицензия на формат принадлежит Sony, камеры с разъёмом XQD выпускает Nikon.
CompactFlash (CF)
Торговая марка одного из первых форматов карт флеш-памяти. Формат разработан компанией SanDisk Corporation в 1994 году.
Несмотря на возраст, карты этого формата всё ещё популярны в фототехнике благодаря рекордным показателям скорости и ёмкости. В 2014 году максимальный объём накопителей с интерфейсом CompactFlash достиг 512 Гбайт.
Различают карты двух типов: CompactFlash Type I и Type II. Вариант карт Type II был создан исключительно для миниатюрных жёстких дисков Microdrive и на сегодня может считаться устаревшим. Размеры карт CompactFlash Type I составляют 42 мм на 36 мм, толщина составляет 3,3 мм, CompactFlash Type II — 5 мм.
Карты CompactFlash Type I могут вставляться в слоты обоих типоразмеров, CompactFlash Type II — только в слот для CompactFlash Type II.
CFAST
CFast — развитие стандарта CompactFlash на шине SATA.
Карты CFast несовместимы с CF, обладают стандартным 7-контактным соединителем SATA-интерфейса и 17-контактным — питания.
CFast 2.0 — второе поколение карт. Скорость записи 3400× (510 MB/s). В 2016 году компания Canon встроила дополнительный слот для карт памяти этого стандарта в свой фотоаппарат Canon EOS-1D X Mark II, заменив им дублирующее гнездо CompactFlash.
Объем карты памяти
Одной из важных характеристик при выборе карт памяти является её объем
Например, при объеме одной фотографии 5 Мб и карте памяти на 1 Гб памяти будет помещаться около 200 фотографий.
Также, если вы будете снимать 4K видео, то 1 секунда в таком качестве может занимать не меньше 10 Мб, то есть на 32 Гб поместится приблизительно 1 час съемки.
Если вы знаете, что у вас тяжелые файлы, то рекомендуем выбрать карту памяти объемом от 128 Гб, чтобы на съемке не было неприятных «сюрпризов» с неожиданно закончившимся местом.
Скоростная нагрузка
Нагрузка на карту памяти — это максимальный поток данных
(битрейт) , который выдает устройство. Он не должен превышать её максимальную скорость записи.
Для того, чтобы понять, какую скоростную нагрузку ваша карта памяти должна выдержать при фотографировании, изучите технические характеристики камеры. При записи видео, поток данных можно посмотреть в свойствах видеофайла.
Помните: чем выше класс фотоаппарата, тем больше нагрузка на карту памяти. Однако, при выборе карт памяти следует учитывать, что большинство более или менее серьезных моделей имеет, так называемый, буфер серийной съемки. Технически — это встроенная энергозависимая память, которая принимает на себя фотографии, а уже затем они записываются на карту памяти.
Чтобы избежать высокой скоростной нагрузки, рекомендуем брать карту не ниже 10 класса.
40560 Й
Карта памяти Delkin Devices Power SDXC 256GB 2000X UHS-II Class 10 [DDSDG2000256] Есть в наличии
6990 Й
Карта памяти microSDXC 128Gb Transcend TS128GUSD500S Есть в наличии 6990Й
20990 Й
Карта памяти SONY Карта памяти SONY CFexpress Type A 80 Гб.серии CEA-G CEA-G80T Есть в наличии 20990Й
27990 Й
Карта памяти Sony CEB-G128 CFexpress 128GB Type B Есть в наличии 27990Й
5990 Й
Карта памяти SanDisk Extreme Pro SDXC UHS-I Class 3 V30 170/90 MB/s 128GB SDSDXXY-128G-GN4IN нет в наличии 5990Й
27380 Й
Карта памяти Delkin Devices Premium Cinema CFast 2. 0 128GB 560X VPG 130 [DCFSTV128] Есть в наличии 27380Й
Источник: Pixel24
Покупая фото- и видеокамеру или другое цифровое устройство, вы наверняка обращали внимание на запись в инструкциях, что необходимо использование карты памяти не ниже N класса. К этим рекомендациям следует относиться серьезно.
От того, карта памяти какого класса поставлена в устройство, зависит качество его работы. На картах памяти формата SDHC и microSD размер класса указывается на самой карте, цифра обводится кружком. В остальных случаях необходимо перед покупкой консультироваться с продавцом или искать в характеристиках.
Классификация карт памяти.
Сегодня существует 4 стандартных класса карт памяти: 2 класса, 4 класса, 6 класса и 10 класса. Необходимо знать, что класс обозначает минимальную скорость записи какой-либо информации на карту. Скорость измеряется в известных всем Мегабайтах в секунду. То есть, карта памяти 2 класса записывает со скоростью не менее 2 Мб/сек., 4 класса – не менее 4 Мб/сек и т.д. Заявляя об определенной скорости, производители карт памяти гарантируют, что скорость записи карты будет не меньше указанной. При этом, больше может быть, что чаще всего и происходит на практике. Скорость чтения карты всегда превосходит скорость записи.
Почему так важен показатель класса для цифровых устройств? Казалось бы, все очень просто: чем выше класс, тем лучше скорость записи, такую карту и нужно брать. Но здесь есть свои нюансы. Планшетники, телефоны, фотоаппараты, видеокамеры и другие современные цифровые устройства осуществляют высокоскоростную запись или имеют небольшой буфер обмена, для эффективного функционирования им нужны соответствующие карты памяти. Так, карта 2 класса с самой маленькой скоростью записи 2 Мб/сек подойдет для аудио- и видеоплееров, небольших устройств, которые не предназначены для активной записи. Карта отлично подходит для хранения информации. Карта с записью 4 Мб/сек подойдет для любительских цифровых фотоаппаратов, снимающих в формате JPG, и видеокамер. Используются такие карты и на видеорегистраторах. Так, к ним относятся карта памяти SD OltraMax 4GB Class 4 и SmartBuy SD 8GB Class 4.
Карты 6 класса можно устанавливать, например, на полупрофессиональные зеркальные фотоаппараты. Скорость записи позволяет делать изображения как в JPG, так и RAW формате. В цифровых камерах среднего уровня они обеспечивают высокое качество съемки, если позволяют другие параметры устройства. Самую быструю и качественную скорость записи обеспечивают карты памяти 10 класса. Они предназначены для работы с профессиональными фото- и видеокамерами, их поддерживают многие современные авторегистраторы. Карты 10 класса позволяют вести запись в самом высоком на сегодня формате видео Full HD, снимать и сохранять фотоизображения в формате RAW. Карты данного типа поддерживают объем памяти до 32 Гб, что является несомненным плюсом для устройств, которым для хранения информации необходим большой объем памяти. Еще один большой плюс карт 10 класса в том, что они позволяют делать фотографам серийные съемки с высоким качеством изображения. Компания ИнфоТех предлагает широкий выбор карт памяти в формате SD, SDHC, Micro SD и SDXC 10 класса, которые подойдут для использования в авторегистраторах, фотоаппаратах, видеокамерах и т.д.: SD 16Gb Exployd Class 10, Exployd SD 32Gb Class 10, SDHC 16 GB OltraMaх, SDXC 64Gb OltraMax 10 Class, Micro SD 16GB KINGMAX Class 10, Micro SD 32GB EXPLOYD Class 10.
В зависимости от класса и объема памяти, колеблется также стоимость карты. Чем выше класс, тем она дороже. Самые популярные сегодня – это карты памяти SD, microSD, их чаще всего покупают.
Secure Digital (SD) — это формат карты флэш-памяти, используемый в портативных устройствах, включая цифровые камеры и портативные компьютеры.
SD-карты основаны на старом формате Multi Media Card (MMC), но большинство из них физически немного толще, чем карты MMC. Они также могут похвастаться более высокой скоростью передачи данных. Функции DRM доступны, но мало используются. Карты SD обычно имеют размеры 32 мм × 24 мм × 2,1 мм, но могут быть толщиной до 1,4 мм, как и карты MMC.
Доступны различные уровни скорости. Они упоминаются в той же нотации nx, что и компакт-диски; кратно 150 кБ/с. Устройства со слотами SD могут использовать более тонкие карты MMC, но стандартные карты SD не подходят для более тонких слотов MMC. Карты MiniSD и MicroSD можно использовать непосредственно в слотах SD с помощью адаптера. Существуют считыватели, которые позволяют получать доступ к SD-картам через множество портов подключения, таких как USB, FireWire.
Штифт | Режим SD | Режим SPI | ||||
Имя | Тип | Описание | Имя | Тип | Описание | |
1 | CD/DAT3 | В/В/ПП | Обнаружение карты / Разъем линии передачи данных 3 | КС | я | Выбор чипа в низком статусе |
2 | СМД | ПП | Строка команд/ответов | ДИ | я | Ввод данных |
3 | Всс1 | С | ЗЕМЛЯ | ВСС | С | ЗЕМЛЯ |
4 | Вдд | С | Блок питания | ВДД | С | Блок питания |
5 | КЛК | я | Часы | СКЛК | я | Часы |
6 | Всс2 | С | ЗЕМЛЯ | ВСС2 | С | ЗЕМЛЯ |
7 | ДАТ0 | В/В/ПП | Разъем линии передачи данных 0 | ДО | О/ПП | Вывод данных |
8 | ДАТ1 | В/В/ПП | Разъем линии передачи данных 1 | РСВ | ||
9 | ДАТ2 | В/В/ПП | Разъем линии передачи данных 2 | РСВ |
Интерфейс SD-карт совместим со стандартными операциями с картами MMC. Вся память SD и карты SDIO должны поддерживать старый режим SPI/MMC, который поддерживает несколько более медленный четырехпроводной последовательный интерфейс (часы, последовательный вход, последовательный выход, выбор микросхемы), который совместим с портами SPI на многих микроконтроллерах. Многие цифровые камеры, цифровые аудиоплееры и другие портативные устройства, вероятно, используют исключительно режим MMC. Режим MMC не предоставляет доступа к проприетарным функциям шифрования SD-карт, и в бесплатной документации SD эти функции не описываются. Поскольку SD-шифрование существует в основном для производителей медиа, оно не очень полезно для потребителей, которые обычно используют SD-карты для хранения незащищенных данных.
Существует три режима передачи, поддерживаемых SD: режим SPI (отдельный последовательный вход и выход), однобитный режим SD (отдельные каналы команд и данных и собственный формат передачи) и четырехбитный режим SD (используются дополнительные контакты). плюс несколько переназначенных контактов) для поддержки четырехбитной параллельной передачи. Низкоскоростные карты поддерживают скорость передачи данных от 0 до 400 кбит/с, а также режимы передачи SPI и однобитного SD. Высокоскоростные карты поддерживают скорость передачи данных от 0 до 100 Мбит/с в четырехбитном режиме и 0–25 Мбит/с в режимах SPI и однобитном SD.
Функции безопасности SD-карт включают:
Защищенная цифровая карта (SD) — это недорогой формат энергонезависимой карты памяти, разработанный SD Card Association. С момента своего появления в начале века спрос на эти энергосберегающие и компактные запоминающие устройства среднего размера рос быстрыми темпами. Поэтому, чтобы соответствовать требованиям рынка, SDA была создана как некоммерческая организация для продвижения и создания стандартов SD-карт. Существуют различные темы, связанные с SD-картой, такие как различные семейства устройств, классы скорости, смарт-карты, безопасность карт и т. д., и они используются на различных рынках, таких как цифровые камеры, персональные компьютеры и встроенные системы. Некоторые из стандартных вариантов включают SD, SDHC, SDXC, SD-сверхвысокая скорость и т. д. MicroSD — это миниатюрный формат карты памяти SD с малым форм-фактором, который широко используется в различных электронных устройствах.
Мы собираемся изучить использование SD-карт во встроенной системе. Если быть точным, мы будем иметь дело с использованием SD-карт в небольших встроенных системах.
SD-карта имеет собственный хост-интерфейс, кроме режима SPI для связи с ведущими устройствами. Родной интерфейс использует четыре линии для передачи данных, где микроконтроллер имеет модуль контроллера SD-карты, и для его использования требуется отдельная лицензия. Поскольку SPI является широко используемым протоколом и доступен в большинстве недорогих микроконтроллеров, режим SPI является широко используемым интерфейсом в недорогих встраиваемых системах. Диапазон рабочих напряжений семейства SD составляет от 2,7 В до 3,6 В, что указывается в регистре рабочих условий (OCR).
Разводка SD-карты
Разводка карты MicroSD
Большинство микроконтроллеров используют протокол связи SPI для взаимодействия с SD-картами. SD-карты имеют микроконтроллер, который показывает их доступность главному контроллеру (микроконтроллеру). Микроконтроллер видит SD-карту как адресуемый сектор, на котором возможны функции чтения/записи. Когда микроконтроллер находится в режиме SPI, связь между ведущим и ведомым осуществляется через 4 контакта, а именно. часы, выбор чипа, ввод и вывод данных. Следует иметь в виду, что на протяжении всей связи между двумя устройствами микроконтроллер будет отправлять часы.
Большинство макетных плат имеют специальный слот для SD-карты. Но чтобы понять связи, разберем эту довольно простую схему.
Если логический уровень микроконтроллера отличается от уровня SD-карты, необходимо использовать переключатель уровня для преобразования линейных напряжений.
Контакт MISO (ведущий последовательный выход) должен быть подключен к контакту SDI (последовательный ввод данных) на микроконтроллере.
Вывод MOSI (последовательный выход главного устройства) должен быть подключен к выводу SDO (выход последовательных данных) на микроконтроллере.
Вывод SCK (последовательные часы) должен быть подключен к выводу SCK (последовательные часы) на микроконтроллере.
Контакт CS (выбор микросхемы) должен быть подключен к соответствующему контакту CS на микроконтроллере или к любому цифровому входу/выходу на микроконтроллере. Предусмотрена общая площадка.
ВАЖНОЕ ПРИМЕЧАНИЕ : При подключении источника питания убедитесь, что питание подается от источника питания 3,3 В, так как питание 5 В приведет к тому, что ваша карта загорится дымом.
После того, как соединения установлены, мы готовы связать наше оборудование с программным обеспечением.
Правильно установите направление каждого из четырех контактов. При активации режима SPI идеальной конфигурацией должен быть режим (0,0) и фаза с выборкой входных данных в середине выходных данных. Кроме того, тактовая частота должна быть установлена в диапазоне от 100 кГц до 400 кГц до инициализации карты. Как только инициализация выполнена, часы могут быть установлены на более желаемую частоту.
Далее идет сложная часть, инициализация SD-карты и выполнение передачи необработанных данных. Систематический подход к программированию программного обеспечения сделал бы задачу довольно легкой.
Но сначала важно узнать, как микроконтроллер активирует SD-карту. Существует фиксированный набор команд и ответов, которым необходимо следовать, чтобы создать структуру команды для ответа в нашей программе. Данные передаются в байт-ориентированном формате с определенной длиной.
В следующей таблице показаны необходимые команды на карту и соответствующий ответ от карты.
Каждая команда имеет постоянную длину 6 байт.
Первый байт — это сложение номера команды и числа 64.
Пример :
Для CMD0: номер команды 0 + 64 = 64 = 0x40 в шестнадцатеричном формате.
Для CMD1: номер команды 1 + 64 = 65 = 0x41 в шестнадцатеричном формате.
И так далее.
За этим следует набор из четырех байтов, известных как аргументы. Эти аргументы обычно содержат адрес данных или длину блока.
Последний байт — это байт CRC (циклическая проверка избыточности). Большинство команд в режиме SPI не требуют контрольного байта, если функция CRC не включена. Для некоторых команд, таких как CMD0, CRC равен 0x95, и в большинстве случаев отправляется 0xFF. Включение CRC требует от микроконтроллера отправки правильного контрольного байта. Итак, убедитесь, что функция CRC включена или отключена.
Кадр команды выглядит следующим образом:
Карта получит команду, когда на вывод DO (выход данных) подается высокий уровень, как показано выше. Вывод CS (выбор чипа) должен быть переведен из высокого в низкий перед отправкой команды и должен оставаться на низком уровне во время процесса. Время между командой и ее ответом известно как время ответа на команду (NCR). Как упоминалось ранее, что касается тактовых импульсов от микроконтроллера, соответствующий байт ответа, отправленный обратно с карты на микроконтроллер, должен управляться последовательными тактовыми импульсами микроконтроллера. Существует вероятность того, что байт ответа от карты может быть пропущен микроконтроллером из-за отсутствия управляющего тактового импульса. Следовательно, необходимо убедиться, что 8-битный тактовый импульс отправляется на карту вскоре после отправки кадра команды (см.0221 ТЕХНИЧЕСКОЕ ПРИМЕЧАНИЕ ниже). Кроме того, при получении байта с карты на контакт DI (вход данных) должен быть установлен высокий уровень.
Кроме того, давайте проанализируем различные типы ответов, которые мы получаем от карты, и что они означают.
Ответ R1, 0x01 означает, что команда, отправленная до ответа, привела к переходу платы в состояние ожидания.
Байт ответа 0x00 означает, что команда принята и карта будет ожидать выполнения предложенного события. Если установлены какие-либо другие биты в ответе R1, это результат ошибки, и он будет уменьшен до коэффициента, указанного в каждом бите ответа R1 на рисунке.
Теперь, что касается отправки команд, существует порядок, в котором они должны быть отправлены. Только команды CMD0, CMD1, ACMD41, CMD58 и CMD59 будут приняты, когда карта находится в состоянии ожидания. Отправка любой другой команды, скорее всего, приведет к недопустимому ответу.
ТЕХНИЧЕСКОЕ ПРИМЕЧАНИЕ : После подключения карты микроконтроллер всегда должен отправлять набор байтов, которые мы будем называть фиктивными байтами. Один фиктивный байт равен 0xFF. Эти фиктивные байты имеют простую, но важную цель. Перед инициализацией карта должна знать частоту, с которой передаются данные. Отправив примерно 75 фиктивных битов (фиктивный байт * 10 раз = 80 бит), карта будет готова к обмену данными. Кроме того, даже после отправки каждой команды рекомендуется отправлять хотя бы один фиктивный байт. Логическим объяснением этого является то, что связь управляется тактовым импульсом микроконтроллера. Тактовый импульс отправляется только при заполнении буфера данных. После отправки каждого ответа и перед следующей командой или между командой и ответом SCK перестанет генерировать импульсы из-за пустого буфера данных. Чтобы обеспечить непрерывную передачу тактовых импульсов между каждой командой, заполните буфер данных ненужным значением, например фиктивным байтом. Чтобы создать фиктивную байтовую функцию с количеством циклов в качестве аргумента.
Первая команда , которая должна быть отправлена на карту, — это команда CMD0 . Структура любой другой команды-ответа должна основываться на этой модели.
Отправьте команду CMD8 , чтобы проверить версию вашей SD-карты.
Разница в 6-байтовых командах составляет
Первый байт: 0x48
Следующие четыре байта: 0x000001AA
Байт CRC: 0x87
Мы ищем две возможности в нашем ответном байте. Либо 0x01, либо 0x05.
Ответ 0x01 означает, что у вас SD-карта версии 2. За ответом 0x01 следуют 4 байта 0x00, 0x00, 0x01, 0xAA в порядке их передачи с SD-карты, что, по сути, является аргументом, который вы отправляете в своей команде.
Если ответ 0x05, это означает, что используется карта версии 1 или карта MMC. Если карта на самом деле является SD-картой версии 2, то этот ответ является результатом недопустимой команды. Кроме того, карта сейчас находится в состоянии ожидания.
После выполнения двух вышеуказанных команд (CMD0 и CMD8) можно с уверенностью сказать, что наша SD-карта работает в хорошем состоянии и готова к чтению/записи данных.
Кроме того, чтобы убедиться, что SD-карта работает при правильном рабочем напряжении, отправьте команду CMD58 .
Затем мы должны инициировать процесс инициализации i . Для этого отправьте команду CMD1 и дождитесь ответа 0x00, что означает, что бит состояния ожидания очищен.
Если вы используете SDC или с целью создания общего кода, рекомендуется отправить ACMD41 , чтобы начать процесс инициализации, а затем отправить команду CMD1 , если ACMD41 отклонен.
В любом случае процесс инициализации может занять несколько сотен миллисекунд, поэтому рекомендуется выполнить несколько итераций для проверки байта ответа.
Предположим, что ответ CMD8 привел к 0x05, необходимо сделать несколько соображений относительно процедуры инициализации. Карты версии 1 могут не поддерживать команду ACMD41. И даже если они поддерживают команду ACMD41, отправьте команду CMD55 и проверьте ответ, который будет 0x05 вместо 0x01, а затем вместо отправки команды CMD41 отправьте команду CMD1 для завершения процесса инициализации.
Теперь мы готовы к чтению/записи необработанных данных.
Первое, что нужно сделать здесь, это установить размер блока чтения/записи.
Для этого отправьте команду CMD16 . Аргументы этой команды должны указывать длину блока.
Пример : Чтобы установить длину блока 512 байт, отправьте 4-байтовый аргумент как 0x00000200.
Отправьте 0xFF в качестве байта CRC и дождитесь ответного байта 0x00.
Что касается команд чтения/записи, то общая структура отправки команд такая же, но с некоторыми дополнительными деталями.
4-байтовый аргумент каждой команды будет содержать указанный адрес сектора, откуда считываются или записываются данные.
Отправьте команду CMD17 для блока чтения s ingle и дождитесь ожидаемого ответа 0x00. Как только это будет сделано, подождите, пока SD-карта отправит другой ответ, 0xFE. Этот ответ, передаваемый SD-картой, указывает на начало непрерывной передачи блока данных. В конце отправьте фиктивный байт или два, и процесс будет завершен.
Этот контент предназначен только для наших зарегистрированных пользователей. Создайте бесплатную учетную запись для доступа к контенту.
SignUp/SignIn
В случае CMD18 для блока многократного чтения выполните процедуру до ответа 0xFE. После этого карта будет передавать блоки данных до тех пор, пока не получит команду CMD12 , которая указывает микроконтроллеру на завершение чтения блока.
В случае выполнения одноблочной записи или многоблочной записи отправьте CMD24 или CMD25 соответственно и дождитесь ответа 0x00. Для каждой записи блока требуется начальный токен 0xFE в случае записи одного блока и 0xFC в случае записи нескольких блоков, чтобы карта могла начать запись одного блока данных в указанный сектор. Убедитесь, что 0xFC отправляется для каждой блочной записи во время многоблочной записи. После записи каждого блока должен быть выдан токен остановки 0xFD (не требуется в случае записи одного блока). После завершения записи всего блока данных появляется Команда CMD13 обязательна .
Не забывайте отправлять фиктивные байты между ответами, а также перед отправкой стартовых токенов.
Этот контент предназначен только для зарегистрированных пользователей. Создайте бесплатную учетную запись для доступа к контенту.
Регистрация/Вход в систему
Этот контент предназначен только для наших зарегистрированных пользователей. Создайте бесплатную учетную запись для доступа к контенту.