П3.1.6. Коротко о fuse-битах МК компании Atmel

 

Проблема fuse-битов в 8-разрядных МК компании Atmel стала одной из самых обсуждаемых на форумах, посвященных этим МК, особенно наиболее популярным ATtiny 2313, ATMega8 и ATMega16, что явилось причиной разработки так называемых fuse-калькуляторов. Один из них создан  упоминавшимся выше А. В. Беловым. Он имеет графический интерфейс (см. рис. П3.1.23) и рассчитан на перечисленные МК, включая и ATMega161 (выбирается на 1-ом шаге в верхней строке), но пока работает только с ATtiny2313. Во второй строке выбирается: шаг 2 — вид программирования: последовательное или параллельное (обратите внмание на ошибку в англ. названии); 3 — источник синхронизации: внутренний (RC-генератор), кварц, пьезокварц или внешний; 4 — частота генератора; 5 — выбор CKDIV (включать/не включать); 6 — выбор CKOUT; 7 — включать/не включать debugWIRE; 8 — запрет/разрешение стирания EEPROM; 9 — сторожевой таймер (включить/не включать); 10 — внешний вход сброса (отключить или не отключать); 11 — режим BOD; 12 — режим самопрограммирования (да-нет); 13 — время выхода источника питания на рабочий режим (50—100 мс); 14 — защита от копирования. На заключительном 15-м шаге вызывается окно PonyProg на рис. П3.1.21 с заказанными fuse-битами.

 

 

Рис. П3.1.23. Fuse-калькулятор Белова

 

Однако ошибки при манипуляциях с fuse-битами не исключены. При этом, как правило, МК не опознается наиболее простым ISP-программатором и многим кажется «погибшим». У автора также было три покойника ATtiny2313 и многочисленные попытки их «оживить», в том числе и с помощью программатора AVReal с рекомендуемыми на различных форумах приемами и BAT-файлами, не увенчались успехом. Удалось это сделать только после приобретения программатора SableProg, являющегося USB-клоном STK500 (разработка магнитогорцев). Для этого после включения кнопкой VTG напряжения питания МК (индицируется светодиодом VTG программатора) на закладке Fuses в окне параллельного программирования (PP/HVSP) AVR Studio (рис. П3.1.24) кнопкой Read производится чтение fuse-битов. Для одного МК в строке SUT_CKSEL было сообщение о неопределенном (undefined) состоянии этого параметра. В выпадающем списке этой строки было выбрано Int. RC Osc. 8 MHz Start-up time 14 CK +4.1 ms и после нажатия кнопки Program МК принял свое первоначальное («живое») состояние. В двух других МК в этой строке было сообщение Int. RC Osc. 128 kHz Start-up time 14 CK +64 ms. Действительно, при макетировании была предпринята попытка использовать внутренний генератор на 128 кГц путем рекомендуемой в [15] установки битов конфигурации CKSEL из диапазона 0110—0111. После внесения аналогичных изменений в строке SUT_CKSEL оба МК ожили. Тот факт, что использование генератора на 128 кГц приводит к неработоспособности МК, не вполне ясен, поскольку в списке SUT_CKSEL он имеется в трех вариантах (см. рис. П3.1.25).

 

 

Рис. П3.1.24. Окно параллельного программирования

 

 

Рис. П3.1.25. Список режимов тактирования МК ATtiny 2313

 

Хостинг от uCoz