Hur du gör din egen AVR programmering station för under 8 dollar (3 / 4 steg)
Steg 3: Hög spänning programmering och Fuse Resetting
Säkringar är grundläggande för en mikrokontroller. De definierar många viktiga saker om den, som behövs för dess prestanda.
I allmänhet är säkringar en uppsättning av bitar som har sin särskilda plats i mikrokontroller. Oftast 2 till 3 byte. Varje bit gör en annan funktion av mikrokontroller. Vissa funktioner är EEPROM radera lock (lås EEPROM så programmering kommer inte att radera den), Återställ pin användning (IO pin eller Reset), Brown-out upptäckt (BOD), externa Oscillator användning... Mer på säkringar och vad de gör här...
Men säkringar är också farliga! Du kan ställa in dem med din ISP, precis som du laddar upp ditt program, men det finns fall att din ISP är oförmögen att återställa dem. I vissa fall tegel detta din microcontroller helt. Ett klassiskt exempel är följande:
Du måste använda Återställ PIN-koden som en IO stift. Du ladda upp koden fint med din ISP och sedan aktiverar den RSTDISBL säkring (säkringen som gör Återställ pin en IO-port). Nu mikrokontroller har inga externa återställa. Plötsligt inser du att det finns en bugg i din kod, så du fixar det, kompilera den och du försöker reupload det i mikrokontroller... Detta kan inte längre göras! Detta beror på att den ISP använder externa Återställ att göra mikrokontroller förstå det är att få programmeras. Nu har du ett igenmurat microcontroller...
Men det finns en lösning på detta. Lösningen heter Hög spänning programmerare... Detta odjuret ramper upp den microcontroller Återställ pin med 12Volts (i stället för 5V) och visar vem som är boss! Allvarligt, mikrokontroller är programmerade att förstå det 12V på Återställ pin hjälpmedlet "Programmering" oavsett säkringarna är och på så sätt, du kan ändra tillbaka RSTDISBL till normal (att fortsätta använda en klassisk ISP). Du kan hitta en Arduino skiss för att återställa säkringarna till standard (tillsammans med en schematisk) här.
Min Programmering Station implementerar en extern strömkälla (kontrolleras av en transistor av ISP Reset signalen) för att användas som 12V källa. Detta sätt Hög spänning programmering (och tegel rescue) är möjligt...