Ревич, Ю.В. Программирование микроконтроллеров 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 ,
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==