Stap 3: Hoogspanning programmering en het terugstellen van de Fuse
Zekeringen zijn fundamenteel voor een microcontroller. Ze definiëren vele cruciale dingen over, die nodig zijn voor de prestaties.
Zekeringen zijn over het algemeen een aantal bits die hun bijzondere locatie in de microcontroller hebben. Meestal 2 tot 3 bytes. Elke bit schakelt u een andere functie van de microcontroller. Sommige functies zijn EEPROM wissen lock (sloten EEPROM dus programmering zal niet wissen), Reset pin gebruik (IO-pin of Reset), Brown-out detectie (BZV), externe Oscillator gebruik... Meer over zekeringen en wat ze doen hier...
Maar er zijn ook zekeringen gevaarlijk! U kunt instellen met behulp van uw ISP, net als u uploaden uw programma, maar er zijn gevallen dat uw ISP is niet in staat hen te resetten. In sommige gevallen bakstenen dit volledig uw microcontroller. Een klassiek voorbeeld is de volgende:
U moet de resetpin gebruiken als een IO-pin. U uploadt de code keurig via uw Internet-provider en u schakelt de RSTDISBL fuse (de zekering waardoor de Reset pin een IO-poort). Nu de microcontroller geen externe heeft Reset. Plotseling je je realiseert dat er een bug in de code, zodat u fix it, compileren en je proberen te reupload het in de microcontroller... Dit kan niet langer worden gedaan! Dit is omdat de Internet-provider gebruikt de externe Reset te maken van de microcontroller begrijpen dat is geprogrammeerd is krijgen. Nu heb je een bricked microcontroller...
Er is echter een oplossing voor dit. De oplossing heet Hoog Voltage Programmer... Dit beest hellingen omhoog de resetpin van de microcontroller met 12Volts (in plaats van 5V) en laat zien wie de baas is! Serieus, microcontrollers zijn geprogrammeerd om te begrijpen dat 12V op de Reset pin middelen "Programmeren" ongeacht de zekeringen zijn en op deze manier, kunt u terug de RSTDISBL naar normale (voort te zetten via een klassieke Internet-provider). U kunt een Arduino sketch vinden voor het resetten van de zekeringen standaard (samen met een schema) hier.
Mijn Programmering Station toepast een externe stroombron (gecontroleerd door een transistor door de ISP Reset signaal) om te worden gebruikt als 12V bron. Deze manier High Voltage Programming (en baksteen redding) is mogelijk...