Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

334 Часть ///. Практическое программирование микроконтроллеров АVR ройство можно считать неисправным, так что дальнейшая работа программы уже не понадобится . В критичных случаях в цикл ожидания ответа от памяти можно, напри­ мер, «вклинить» то же самое прерывание таймера, которое в случае неудачи по исте­ чении некоторого времени прервет цикл ожидания и отправит через UART условный код, сигнализирующий о неисправности памяти . Другой более распространенный при­ ем - запуск сторожевого таймера, который попросту перезапустит контроллер при «зависании» (см. главу 14) . Записанные значения мы будем читать (процедура read) : сначала следует перенос страницы в буфер, потом ожидание окончания операции, как и в случае записи, за­ тем последовательное побайтное чтение из буфера с последующей посылкой через UART на внешний компьютер, чтобы убедиться в правильности чтения/записи на­ глядно. Запись и чтение flash -кapт Существует множество разновидностей карт на основе flаsh-памяти - только основных семейств около полудюжины. Хотя все они уже практически вытеснены компактными Secure Digital, на прилавках все еще можно встретить Compact Flash, Multi Media Card, Memoty Stick и xD-picture, иногда даже попадаются полузабытые Smart Media и совсем забытые РС Card . В рамках каждого из семейств имеется зна­ чительное число модификаций, иногда несовместимых между собой. Сами семей­ ства различаются в первую очередь интерфейсом доступа- так, Compact Flash (как и совместимые с ними РС Card) совместим со старой параллельной шиной подключения жестких дисков IDE/АТА, остальные обладают различными последо­ вательными интерфейсами . В самодельных устройствах чтения и записи лучше всего подходят flash-кapты Multi Media Card (ММС), отличающиеся тем, что интерфейс у них менее запутан­ ный, чем у остальных, и у всех модификаций совместим с SPI . Существует не­ сколько разновидностей ММС. Кроме оригинальных карт длиной 32 мм, изготав­ ливают специальные укороченные ( 1 8 мм длиной, их часто называют RS-MMC) ­ зa исключением размера корпуса, они ничем не отличаются от обычных. Кроме простых 7-контактных ММС, чаще выпускают высокоскоростные High Speed ММС, у которых не 7, а 1 3 контактов. Эти выводы служат дополнительными ли­ ниями обмена данными (фактически превращая интерфейс из последовательного в полупараллельный), в режиме доступа по SPI они игнорируются . Оригинальная ММС работает при напряжении питания от 2,7 до 3 ,6 В, но также появились карты с добавкой DV (Dual Voltage) в названии, которые могут работать при напряжении питания 1 ,8 и 3,3 В. Карты с добавками к названию Plus и MoЬile являются одно­ временно High Speed и DV (и отличаются друг от друга размером) . Наиболее распространенные сейчас карты Secure Digital (SD) представляют собой по сути расширенную версию ММС, хотя производители всячески от этого откре­ щиваются, - например, устройства, совместимые с SD, могут читать ММС, а вот наоборот - не всегда. SD, кроме всего прочего, сделана толще. SD были ориенти­ рованы на шифрование контента, подобно тому, как это делается на DVD, хотя в итоге эта функция применяется очень редко - рынок продажи защищенного кон­ тента на картах SD умер, не успев возникнуть. SD (кроме версии Secure Digital High

RkJQdWJsaXNoZXIy MTExODQxMg==