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

1 10 Часть /. Общие принципы устройства и функционирования Аtте/ А VR и она носит название SPIEN (SPI ЕnаЫе) . При логической единице в этой ячейке ISР-программирование запрещается. После загрузки текущей конфигурации по со­ стоянию SPIEN можно определить, что именно в вашем загрузчике означает отме­ ченная или неотмеченная ячейка. Есть и второй такой же «фьюз», который при последовательном программирова­ нии, наоборот, всегда должен быть «незапрограммироваю>, т. е. находиться в со­ стоянии логической единицы - он называется RSTDISBL (reset disaЫe), и при уста­ новке в состояние нуля отключает вывод RESET , превращая его в один из обыч­ ных выводов. В отличие от SPIEN, ячейка RSTDISBL имеется не во всех контроллерах, а только в тех, где выводов у корпуса относительно немного, и каждый вывод пор­ та на счету (например, на рис . 5 . 7 и 5 . 8 она есть, а на рис . 5 .9 - отсутствует) . Оба этих «фьюза» могут отрубить возможность ISР-программирования, но важнейшее отличие SPIEN от RSTDISBL состоит в том, что SPIEN невозможно изменить через по­ следовательный программатор, а вот RSTDI SBL - запросто. И по этой причине его лучше не трогать вовсе: при случайном его программировании для восстановления доступа к контроллеру придется добывать дорогущий параллельный программа­ тор - более простыми методами тут не отделаешься, так что проще бывает кон­ троллер просто выбросить . По сути «фьюзом» RSTDI SBL возможные катастрофические вмешательства в конфи­ гурационные ячейки и ограничиваются . Все остальное можно исправить через ISР­ программатор повторным изменением состояния просто так или с применением некоторых несложных подручных средств . К последнему случаю относится извест­ ная ошибка с fusе-битами группы cкsEL (обычно их четыре - от CKSELO до скsЕLЗ ), задающими режим тактирования . Их состояние перепутать проще всего, т. к. со­ стояние 0 0 0 0 у всех контроллеров означает тактирование от внешнего генератора, а оно симметрично состоянию 1 1 1 1, которое означает работу от кварцевого резона­ тора. Почему-то страх перед возможностью их ошибочного программирования ис­ пытывают даже опытные пользователи. Как мы уже говорили, исправить положение можно за пару минут, если у вас есть готовый цифровой генератор (см. главу 4), или максимум за полчаса, которые потребуются, чтобы найти в закромах детали для сборки на макетке простейшего генератора. Частота не имеет значения - кое-кто из радиолюбителей уверяет, что освоил способ временной подачи тактовых импульсов с помощью пальца, прило­ женного к выводу ХТAL 1 . ПОДРОБНОСТИ На всякий случай приведем на выбор две схемы простейших генераторов, пригодных для этой цели . Для схемы, показанной на рис. 5.6, слева, имеется возможность выбо­ ра из весьма широкого ассортимента микросхем - кроме указанных на схеме отече­ ственных микросхем серии 561 и их импортных аналогов, подойдут микросхемы с ин­ верторами отечественных серий 1 561 , 1 564 , импортных 74НС и т. д . . Разводка выво­ дов на рис. 5.6 показана для 561 ЛА7 или ЛЕ5, для их аналогов из других серий разводка будет отличаться . Можно также использовать любую микросхему с одновхо­ довыми инверторами (561 ЛН2 , CD4049 и их аналоги из других серий) . В схеме, пока­ занной на рис. 5.6, справа, взят за основу таймер 555 (отечественный аналог КР1 006ВИ 1 ,

RkJQdWJsaXNoZXIy MTExODQxMg==