Fuse-bit - ez nem ijesztő, embedder - s az élet
Mi a zár / biztosíték bitek?
Mindenki tudja, hogy a AVR három memória: flash, ahol a program tárolja, SRAM - a memória és EEPROM, ahol a program írhat, amit akar menteni, ha a készülék ki van kapcsolva. Tehát, van egy negyedik memória terület elérhetők a programozáshoz. Ez áll több bájt (például, négy bájt ATmega48 - egy a lock-bitek és bájtok biztosíték - alacsony, magas és a kiterjesztett), amelyben vannak elrendezve, és ezeket a biteket legendásak.
Mik azok számára?
Miért olyan félnek?
Több oka is van. Mint már említettük, lock / biztosíték bitek ellenőrizzék a legalapvetőbb MK kapcsolatos beállításokat, többek között, módszereit és ütemezését annak programozás. Ezért megfelelő telepítés nagyon egyszerű, hogy egy nem működő chip. A helyzetet súlyosbítja az a tény, hogy az aktív (set), azaz áram lock / biztosíték bitek, amelynek értéke nulla. ez volt zavaró. Külön problémát jelent a grafikus környezet, amelyben a létesítmény beállításokat jelölőnégyzetet. Ők nem egy egységes szabvány, ezért kell, hogy szorosan kövesse nyomon, hogy mit jelent az a kullancs - egy vagy nulla bit az érdeklődés.
Most, hogyan lehet elkerülni a bajt.
Szinte soha nem kell hozzányúlni a lock-bit. Ők irányítják olvasási / írási program / adat tilalmat, valamint néhány, a funkciók, amelyek fontosak a bootloadert. Mivel a tilalmat a munkát a programkód nem releváns a szurkolók többsége, és kevés írja bootloader, majd érintse meg a beállításokat nincs értelme. Azonban lock-bit törlődik törlése a kristály, és ezért okozhat csak enyhe zavart között a kísérletet.
Ők a legnagyobb romboló potenciálja biztosítós bit RSTDISBL. SPIEN és DWEN. Érintsd meg nekik, azt hiszem, tízszer, és határozottan felismerve a kívánt eredményt.
RSTDISBL visszaállítás letiltja a kimenetet, így a szokásos IO láb. Mivel a reset egyik vonal szükséges soros programozás, kikapcsolni lehetetlenné teszi a jelölt.
DWEN - tartalmazza hibakeresés keresztül DebugWire. Mivel a kimeneti DW kombináljuk a kimenet reset-e kicsit ugyanaz a végső hatást RSTDISBL.
SPIEN - kikapcsolja az in-circuit programozás útján SPI.
Termelés a fenti helyzet használatával párhuzamosan programozók. Azonban, mivel az alacsony előfordulási lehet tekinteni, hogy a telepítés minden ilyen Fyuz a legtöbb esetben teszi az MK elegáns kulcstartó, mert általában olcsóbb és egyszerűbb, hogy vesz egy új kontroller, mint gyűjtenek / keresni a párhuzamos programozás.
Folytatva erőhatást - CKSELn bitek csoportja. Ezek határozzák meg az időzítés beállítást. Alapértelmezésben a legtöbb MC által szállított beépített generátort. CKSELn futhat egy külső vezérlő kvarc / órajelet. Sőt, ha ez a személy nincs jelen, a MC nem ad életjelet. A kezelt ez a feltétel elég könnyű - csak forrasztani a lábak XTAL bármilyen kvarcrezonátor (akkor még istállót nélkül kondenzátorok), vagy forrasztani egy egyszerű generátor pár MHz-es és kellékek órajelet, hogy ugyanaz. Crystal életre, és telepíti a megfelelő konfigurációt. Bár, ha a szabályozó TQFP csomag forrasztani a fórumon, és a lábak XTAL nem elvált, a probléma viszont egy kicsi, de érdekes küldetést. Ezért a programozás előtt ezeket a biteket ajánlatos ellenőrizni őket még néhány alkalommal, ha a tábla nincs üreg.
Néhány fajta a rutin hozhat egy kis hibakeresés WDTON. Ez arra kényszeríti a watchdog időzítő folyamatosan működik. Ezért, ha beállítja ezt kicsit, és felejtsd el, van kilátás nézni a jelenség rendszeres újraindítások MK nyilvánvaló ok nélkül.
Kísérletvezető hiányát is meglepő hatást BOOTRST bit. Az említett erők programot kezdeni bootloader részt, és az elejétől (0x0000). Mert ez is jobb, hogy ne érintse meg, kivéve, persze, nem írt bootloader.
A maradék bitek a gyakorlatilag ártalmatlanok. Azonban néhány kelthetnek meglepetés (például a kompatibilitást jelen lévő bitek ATmega128). Mivel telepítése előtt Fyuz mindig érdemes figyelmesen olvassa el a kézikönyvet, és újra ellenőrzi a kapott értéket. És a firmware használható eszköz, amely lehetővé teszi, hogy meghatározza a bájtok számát Fyuz a bizonytalanságok kiküszöbölése.
Tehát összegezve a fentieket, néhány egyszerű szabályt, amelyek alkalmazhatók a legtöbb esetben, amikor nem szükséges speciális feladatok:
Is, én nem tanácsolom, hogy bízik a különböző kalkulátorok Fyuz kicsit. Ami engem illet, a költségek a kudarc elég magas ahhoz, hogy tartsa egy negyed órát meditálni az adatlapon.
ATmega48 származik a gyári hangolt az órát egy belső oszcillátor frekvenciáját 8MHz. Ebben az esetben ez is biztosíték programozott bit CKDIV8. preddeleniem amely szabályozza az órajel a kristály által 8. Így a kapott frekvencia 1 MHz MK. Számomra ez nem elég, és én mindig a korai kick off ez Fyuz hogy minden 8MHz.
Mint már említettük, az egyediség kívánatos, hogy az ilyen eszköz a firmware-t, amely lehetővé teszi, hogy meghatározza a számát Fyuz. ÉN használ egy konzol AVRdude, mert ez nem jelent problémát.
Tehát bemászni az adatlapon. és hol van ez CKDIV8. Az oldalon található táblázat 288 világos, hogy mi érdekli a low byte Fyuz:
A kezdeti érték - 0b01100010. CKDIV8 - hetedik kicsit. A többiek szeretnénk alkalmazni, akkor ne érintse. Már csak a legmagasabb bit, az új érték az alacsony byte Fyuz - 0b11100010 = 0xE2. Parancssor AVRdude fog kinézni:
-p M48 - a MK - ATmega48;
-c ftbb -P Ft0 - használom ftbb;
-e - chip törlés végrehajtása előtt az említett intézkedések;
-U lfuse: w junior rekordot (lfuse) bájt Fyuz
: 0xE2: m - a számot 0xE2;
-B 4800 - csinálni lassan, hogy biztos;
-u -, hogy amit ők mondták, hogy nem átok.
Általánosságban elmondható, hogy a biztosíték-bit semmi ok az aggodalomra, az összes szükséges információt lehet beszerezni az adatlapon. A legfontosabb dolog - jól ismeri a célját a telepítés, és legyen nagyon óvatos a tervezési értékei a kívánt byte.