Fuse-бита - това не е страшно, в сигнал - живота
Какво е за заключване / предпазител бита?
Всеки знае, че AVR има три памет: светкавица, където програмата се съхранява, SRAM - памет и EEPROM, където програмата може да напише това, което искате да спестите, когато захранването е изключено. Така че, има и четвърта зона свободна памет за програмиране. Той се състои от няколко байта (например, четири байта ATmega48 - един за заключване бита и байтове предпазител - ниски, високи и продължителни), в които са разположени и тези битове са легенди.
Какви са те за?
Защо те са толкова страхува от него?
Има няколко причини. Както вече беше посочено, заключване / предпазител бита контролират най-основните настройки MK, свързани, наред с други неща, методите и периодичността на програмирането му. Ето защо, правилно инсталирането им е много лесно да се получи в неработен чип. Ситуацията се усложнява допълнително от факта, че активната (SET), т.е. ток е заключване / предпазител бита имат стойност нула. че е объркващо. Отделен проблем е, графична среда, в която настройки за инсталиране направени отметки. Те нямат единен стандарт, и по тази причина трябва да се следи отблизо какво е значението на кърлежа - един или нулев бит на интереси.
Сега, как да се избегнат проблеми.
Почти никога не трябва да се докоснат до заключване на бита. Те контролират забраната за четене / писане на програмата / данни, както и някои от функциите, които са важни за bootloaders. Тъй като забраната за работа с програмния код е без значение за по-голямата част от феновете, и малцина пише буутлоудъра, след това докоснете настройките няма смисъл. Въпреки това, за заключване бита се изтриват когато изтриване на кристала, и следователно може да предизвика само леко объркване между експериментатора.
Те имат най-голям разрушителен потенциал предпазител-бита RSTDISBL. SPIEN и DWEN. Докосвайте ги не, мисля, че десет пъти и здраво реализиране на желания резултат.
RSTDISBL нулиране деактивира изхода, което го прави по обичайния IO крака. Тъй като възстановяването една от линиите, необходими за сериен програмиране, деактивирането й прави невъзможно означавано.
DWEN - включва отстраняване на грешки чрез DebugWire. От изхода DW е комбиниран с изход изход, това малко има същия краен ефект като RSTDISBL.
SPIEN - забранява програмирането в съединение чрез SPI.
Добив от по-горе ситуация чрез използване на паралелни програмисти. Въпреки това, поради слабото си разпространение може да се счита, че инсталирането на който и да е от тях Fyuz в повечето случаи ще направи на MK стилен ключодържател, защото обикновено по-евтино и по-лесно да си купите нов контролер от събиране / за паралелно програмиране изглежда.
Вследствие на действие сила - CKSELn група битове. Те се определи възможността за синхронизация. По подразбиране, повечето от МС се доставят от вграден генератор. CKSELn е позволено да тече от външен контролер кварц / часовник сигнал. Всъщност, ако този човек отсъства, УД няма да предостави признаци на живот. Обработени това условие е достатъчно лесно - просто спойка на Xtal крака всеки кварцов резонатор (можете дори да хвърли без кондензатори) или спойка един прост генератор за няколко MHz и доставя часовник сигнал от него, на един и същ. Crystal ще се съживи и ще инсталира правилната конфигурация. Макар че, ако контролерът е в TQFP пакет спойка на борда, и краката не Xtal разведени, проблемът може да се превърне в една малка, но очарователно приключение. Ето защо, преди да програмирате тези битове се препоръчва да ги проверите още няколко пъти, ако на борда не е кухина.
Някои разнообразие в ежедневието си, може да донесе малко на отстраняване на грешки WDTON. Това принуждава таймерът за пазител работи непрекъснато. Ето защо, ако сте задали този бит и да забравите за нея, има перспектива, за да гледате на явлението редовни рестартирания MK без видима причина.
Провеждащия експеримента може също така ефекта на изненадата BOOTRST бита. каза Програмата сили започват от раздел буутлоудъра и от самото начало (0x0000). Тъй като това е по-добре да не го докосне, освен ако, разбира се, не е написана буутлоудъра.
Останалите битове са практически безвредни. Въпреки това, някои може да генерира изненади (като битове за съвместимост, присъстващи в ATmega128). Защото преди да се инсталира Fyuz винаги си заслужава да прочетете внимателно инструкциите и проверете отново получи стойност. И за фърмуера за използване програма, която ви позволява да определите броя на байтове Fyuz да се премахнат неяснотите.
Така че, който обобщава по-горе, няколко прости правила, които са приложими в повечето случаи, когато това не е необходимо специални задачи:
Също така, аз не бих го посъветвал да се доверите на най-различни калкулатори Fyuz малко. Що се отнася до мен, като цената на провала е достатъчно висок тук, за да държи една четвърт от един час по време на медитация върху листа с данни.
ATmega48 идва от фабриката на вълната на часовника от вътрешен осцилатор честота на 8MHz. В този случай тя е и предпазител програмиран малко CKDIV8. preddeleniem която контролира тактова честота на кристала от 8. Така получената честота е 1MHz МК. За мен, това не е достатъчно, а аз съм винаги в началото на този начален сигнал Fyuz да използвате всички 8MHz.
Както бе споменато по-горе, за уникалността, че е желателно да се използва като инструмент за фърмуера, която ви позволява да определите броя на Fyuz. Използвам конзола AVRdude, защото това не е проблем.
Така се изкачи в листа с данни. и да видим къде е този CKDIV8. От таблицата на страница 288 е ясно, че ние се интересуваме от ниското байт Fyuz:
Началната стойност - 0b01100010. CKDIV8 - седми малко. Останалата част от нас искат да кандидатстват, да не се допират. Имам само най-малко, новата стойност на ниски байт Fyuz - 0b11100010 = 0xE2. Команден ред за AVRdude ще изглежда така:
-р М48 - нашите MK - ATmega48;
-в ftbb -Р ft0 - аз използвам ftbb;
-д - чип изтриване преди извършване каза действия;
-U lfuse: w младши запис (lfuse) байта Fyuz
: 0xE2: m - числото 0xE2;
-B 4800 - да го направи бавно, за да бъде сигурен, че;
-ф - да се направи това, което им е било казано да не се кълнете.
Като цяло, през предпазител бита какво да се притесняваш, цялата необходима информация може да бъде получена от листа с данни. Основното нещо - добре запознати с цел предоставянето им за монтаж и да бъдат изключително внимателни в проектните стойности на желания байт.