Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 12. Интерфейс SPI 335 Capacity - SDHC, емкостью выше 2 Гбайт, которая, в отличие от ММС и «просто го» SD, имеет не побайтовую, а блочную адресацию) совместима с ММС по основ ным семи контактам, но имеет на 2 контакта больше, что, вместе с зарезервирован ным в протоколе ММС седьмым контактом, образует три лишних линии для пере дачи данных. В SРI-режиме SD, как и ММС, работают через одну линию, что делает их физически совместимыми. Протоколы доступа по SPI для SD и ММС практически не различаются, однако есть некоторые нюансы, которые не позволя ют без доработки программы подключать SD вместо ММС. Если захотите попро бовать - в публикации [ 1 8] очень подробно и доходчиво рассказывается о доступе к SD-картам через SPI (с примерами, правда, на Arduino, а не на ассемблере), и, ру ководствуясь сведениями оттуда, программу можно будет доработать. ЗАМЕТКИ НА ПОЛЯХ Хочу сразу подчеркнуть , что с помощью методики , излагаемой, как здесь, так и в пуб ликации [1 8] , доступ к картам производится на низком уровне, т. е. минуя файловую систему (а если карта была отформатирована, то ее файловая система может ока заться испорченной, и карту придется форматировать заново) . Карты здесь использу ются , как расширенная версия энергонезависимой флеш-памяти , которую мы рас сматривали в предыдущем разделе , - карточку нельзя будет вставить в компьютер и считать с нее данные обычным способом, через Проводник , для этого придется пи сать специальную программу. Понятно, что такое ограничение резко сужает область применения карт какими-нибудь особыми случаями . Я использовал эту методику для изготовления секретных ключей доступа к электронным замкам или закрытым от постороннего использования про граммам - тут невозможность прочесть карту стандартным способом играет на руку. Вы записываете в произвольную область карты ключ любой желаемой длины, а если его еще и зашифровать , то разобраться будет непросто даже специалистам. Можно даже записать на карту для маскировки какую-нибудь музыку обычным способом , а ключ записать по одному из последних адресов карты , чтобы не нарушать имею щуюся файловую систему. Если вы хотите узнать, как можно своими руками реализовать файловую систему, то отсылаю вас к публикации [1 9] . Возможно , ознакомление с этой статьей убедит вас в том , что самостоятельно ковыряться в недрах системы FAT1 6 (а она ведь еще и са мая простая из применяемых сегодня) не имеет смысла, тем более, что там опять же приведены примеры для Aгduino, а мы имеем в виду ассемблер. Для любой работы должен быть адек.ватный инструмент, и если возня с этим инструментом усложняет, а не облегчает вам жизнь , значит его нужно сменить . В Aгduino есть стандартная биб лиотека SD (далеко не идеальная , но пригодная для практических целей) , которая по зволяет писать на SD-карту в нормальном режиме, так что эти данные потом можно будет прочесть где угодно. А в профессиональной области таких библиотек еще больше. Мы остановимся на оригинальной 7-контактной ММС с достаточно простым ин терфейсом, полное техническое описание которой можно разыскать по ссылкам в статье «MultiMediaCard» английской «Википедии». П одключение карт ММС Выводы карты ММС отсчитывают от скоса на корпусе (для 1 3-контактных карт это ряд, ближний к краю) - если расположить ее контактами к себе и вверх, то первый вывод будет слева. Назначение контактов в режиме SPI приведено в табл. 1 2 .2.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==