Vraćanje mikrokontrolera. Popravljanje AVR osigurača

_________________________________________________________________________________________________________

Ako ste radili na ugrađenom generatoru takta i slučajno su zabljesnuli osigurači (nprpritisnuo gumb, zaboravivši poništiti okvir " programski osigurači" Bit(ovi) programskog osigurača - mikrokontroler može isključiti ugrađeni generator takta i prebaciti se na rad s vanjskim kvarcom (prirodno prestaje raditi).

Prilikom pokušaja bljeskanja kristala, CodeVision proizvodi ovakve pogreške:


ili ovako:

Osigurači su "prekidači" unutar mikrokontrolera, odgovorni za spajanje ugrađenog generatora takta, za spajanje vanjskog kvarca, za povezivanje načina rada s vanjskog generatora itd. Ne možete ih konfigurirati izravno u programu, baš kao ni registre. Osigurači se podešavaju samo prilikom treptanja firmvera.

Osigurač na engleskom znači "topljivi skakač". Na starijim mikrokontrolerima osigurači su bili jednokratni. Ovo je bila skupina vodljivih područja na čipu mikrokontrolera. Ako je trebalo programirati vodljivi dio, primijenjen je visoke struje, kristalna struktura na ovom mjestu je uništena i prestala je provoditi struju. Oštećeno nevodljivo područje smatralo se log. nula; cijelo područje - za log. jedinica.

Sada se osigurači mogu ponovno koristiti (ovo je samo pomoćna memorijska ćelija), ali relikt tih vremena ostao je u označavanju programiranih osigurača:
Programirano
osigurač označavati rupa (log.0, nevodljivi dio);
Neprogramirano - kvačica (log.1, vodljivi dio);

Dakle, osigurači su programirani s "rupama", a ne s kvačicama.
__________________________________________________________________________________________________

Da biste vratili funkcionalnost mikrokontrolera, pronađite u prozoru
Program FuseBit(s) komadići:
CKSEL0
CKSEL1
CKSEL2
CKSEL3
SUT0
SUT1
CKOPT
...i usporedite s pločom. Odredite koji ste način rada upravo bljeskali
mikrokontroler :

Najčešće su svi gore navedeni bitovi rupe (prema zadanim postavkama u CVAVR-u nema niti jedne kvačice), tj. svi su ti bitovi programirani. Što odgovara povezivanju vanjskog kvarca s frekvencijom od tri do 8 MHz:



1. Kupite kvarc s frekvencijom od tri do 8 MHz ili ga odlemite s otpada računala (frekvencija kvarca je napisana na njegovom kućištu). I dva kondenzatora od 12 do 36 pf.



2. Pronađite pinove XTAL1 i XTAL2 na mikrokontroleru, umetnite kvarc između njih. S istih terminala bacite kondenzatore na zajedničku žicu (iako možete pokušati bez njih).


3. U konfiguraciji projekta promijenite frekvenciju čipa na 8.000.000 (ili neku drugu za koju je dizajniran vaš kvarc). Ne morate ga mijenjati, ali tada će funkcija kašnjenja netočno izračunati kašnjenja (ako je koristite, naravno).


4. Za svaki slučaj, ponovno uključite osigurače (sada bi CVAVR trebao normalno prepoznati mikrokontroler):
Alati >> Programator čipa >> Program >> Bit(ovi) osigurača

5. Očistite čip i ponovno prenesite program (naravno, ne zaboravite ga kompajlirati prije nego što to učinite).
Ako se pojave greške, samo pokušajte zatvoriti prozor s greškom i ponovno ga flashati. Protokoli za programere razvijeni su još u vrijeme Windowsa 95 i za starije modele računala. Na nekim modernim, pogotovo multi-core računala sa Windows XP-om (Windows Vista, Windows 7) ponekad se tek drugi ili treći put može normalno flashati (barem kod mene).

6. Kada ponovno dobijete “napajanje” preko mikrokontrolera, učinite kako želite - možete ga prebaciti natrag na ugrađeni oscilator ili možete nastaviti raditi na kvarcu, na visokoj frekvenciji.

P.S. Možete pročitati vrijednosti osigurača iz CodeVisionAVR-a (i zapisati ih prije nego što bilo što učinite s mikrokontrolerom kako biste ih kasnije mogli vratiti) ovako:Alati >> Programator čipa >> Čitanje >> Bit(ovi) osigurača



Ponekad se dogodi da firmware program više ne prepoznaje ispravan, ispravno spojen mikrokontroler. To se može dogoditi iz nekoliko razloga:

  1. Programiranje preko SPI je zabranjeno
  2. RESET pin je postao obični port pin
  3. Odabran je pogrešan izvor sata

Ako u prvom i drugom slučaju ne možete bez paralelnog programatora, onda ako je izvor takta pogrešno odabran, možete isprobati metode opisane u ovom malom vodiču. Za ovo nam je potrebno:

  • Kvarc ~4 MHz
  • Kondenzatori od 12 pF do 22 pF (2 kom)
  • Otpornik 10 kOhm
  • Čip 74HC00
  • Ravne ruke :-)

Pretpostavimo da ne znamo koji smo izvor takta odabrali. Postoje sljedeći izvori sata:

  • Kvarcni rezonator
  • Vanjski RC lanac
  • Vanjski generator

Tu je i interni RC generator, ali nas iz očitih razloga ne zanima. Da biste uskrsnuli kontroler, morate uzastopno proći kroz moguće opcije.

Kvarcni rezonator

Kvarcni rezonator spojen je na krakove XTAL2 i XTAL1. Svaki kvarcni krak spojen je na kondenzator koji je opet spojen na masu. Bilo koji kondenzatori od 12 do 22 pf.

Ako povezivanje kvarca nije pomoglo, idemo dalje

Vanjski RC lanac

Ne bih ga koristio za clocking, jer će frekvencija plutati kao znate što u rupi. Spaja se na kontroler ovako:

VAŽNO: XTAL2 igla mora lebdjeti u zraku! Ne morate ga nigdje spajati. Ako to ne pomogne, ostaje posljednja opcija.

Vanjski generator

Ovaj generator se može napraviti iz gotovo bilo koje logike ili, na primjer, iz mjerača vremena 555. Slučajno sam imao pri ruci čip 74HC00. Umjesto toga možete koristiti naš k155la3. Shema je vrlo jednostavna i ne zahtijeva prilagodbu:

Generator radi na frekvenciji od oko 1,3 MHz. Naravno, može se prilagoditi promjenom vrijednosti otpornika i kondenzatora, ali to vjerojatno neće biti potrebno. Nisam platio za njega jer... nije bilo svrhe. Nogu XTAL2 treba ostaviti da visi u zraku. Ako se nakon toga kontroler ne pokrene, znači da je kontroler mrtav ili da je programiranje preko SPI zabranjeno ili da je RESET onemogućen. Ovdje može pomoći samo paralelni programer.

Pitanja, prijedlozi, pojašnjenja objavljuju se u komentarima.

Pažnja! Autor uređaja ne stoji mirno - stalno poboljšava svog "Doktora". Također pratim izmjene i ažuriram članak.
Članak opisuje najviše stabilna verzija Ažuriranje #9. od 13.03.2011.
Na kraju članka nalazi se najnovija verzija i arhiva sa svim starim verzijama "Doktora".

Želio bih pitati one koji čitaju moj blog: koliko mikrokontrolera ste nakupili s netočno fleširanim podacima i neprikladnim za daljnju upotrebu? Mislim da ako si lijepa Dugo vrijeme rad s mikrokontrolerima, onda ste imali slučajeva neispravan firmware osigurači. Svoje “oštećene” mikrokontrolere stavio sam u posebnu kutiju s nadom da ću jednog dana, u budućnosti, sastaviti visokonaponski paralelni programator i vratiti ih u život. Ali nekako nisam posebno želio sastaviti visokonaponski programator. Krug je prilično sofisticiran, a upotreba takvog programatora je jednokratna - za oživljavanje pogrešno bljeskanog mikrokontrolera. Ukratko, uvijek je bilo lakše (i jeftinije) kupiti novi mikrokontroler. Dakle, “mrtvi” mikrokontroleri bi nastavili biti pohranjeni da se nije dogodila čudna stvar - tijekom proizvodnje novog uređaja (uskoro ću ga objaviti) prestali su pokazivati ​​znakove života, dva sićušna2313 odjednom bez nekog posebnog razloga . Sumnja je pala na činjenicu da su osigurači pogrešno postavljeni tijekom firmwarea. Bilo je nemoguće brzo nabaviti nove u SOIC paketu, a ruke su me žuljale da završim sklop. Kako sam ionako namjeravao napraviti visokonaponski programator, odlučio sam da je vrijeme za to. Ali nikada nisam napravio visokonaponski programator, već sam napravio uređaj posebno dizajniran za ispravljanje pogrešno postavljenih osigurača.

Što je zanimljivo o Atmega fusebit doctor?
Kao što razumijete, ovo nije baš visokonaponski programator. Ovaj je uređaj namijenjen samo jednoj svrsi - vratiti "u život" mikrokontroler s neispravno ušivenim filamentima.

Takvi osigurači mogu biti:
—CKSEL osigurač za odabir glavnog oscilatora (odabire se vanjski oscilator kada ga nema ili se odabere vrlo niska frekvencija unutarnjeg);
— SPIEN zabrana sekvencijalnog programiranja;
—RSTDISBL korištenje reset pina kao dodatne I/O linije;
- instalirano BRAVA komadići;
— drugi koji ometaju sekvencijalno programiranje.

PRINCIP RADA UREĐAJA

- vrlo jednostavno - priključite 12 volti na ploču, umetnite “oštećeni” mikrokontroler u utičnicu, pritisnite tipku “ POČETAK"i u djeliću sekunde dobivamo potpuno novi mikrokontroler koji radi. Vrlo je jednostavno, ne treba vam čak ni računalo (oni uvijek mrze pseudo zvona i zviždaljke, poput upravljanja pomoću poseban program na računalu, gdje to u osnovi nije potrebno). I ako uređaj izvana izgleda jednostavno, iznutra je sve puno kompliciranije. Pritiskom na tipku “START” uređaj očitava signaturu pacijentovog mikrokontrolera, a ako se ne očita, nekoliko puta se pokušava očitati različiti putevi. Nakon čitanja potpisa iz baze podataka, utvrđuje se tip mikrokontrolera i vraćaju se tvorničke postavke, za ovog mikrokontrolera, postavke bita osigurača. Ako je potpis nepoznat ili ga mikrokontroler proizvodi netočno, uređaj će postaviti bitove osigurača u stanje u kojem će biti moguće sekvencijalno programiranje. Prilikom vraćanja bita osigurača firmware mikrokontrolera ostaje netaknut. Na ploči je i skakač " DOPUSTI BRISANJE“, kada je zatvoren, uređaj će potpuno “nulirati” mikrokontroler. Ovo je neophodno ako je pacijent "zaključan", tj. ugrađeni su sigurnosni bitovi koji sprječavaju čitanje/pisanje mikrokontrolera.

Uređaj ima dvije LED diode koje označavaju rad– crvena i zelena :). Minimalistički? Ali ovo je sasvim dovoljno!
Ako je svjetlo zeleno– pacijentica je uspješno izliječena, osigurači su vraćeni na tvorničke postavke. Ako je mikrokontroler “zaključan” (LockBits uključeni), bitovi osigurača se jednostavno provjeravaju i ako odgovaraju tvorničkim, svijetli zelena LED dioda.
Ako je svjetlo crveno– problemi s signaturom čipa, nemoguće je očitati nema li mikrokontrolera u utičnici ili nema takve signature u bazi podataka.
Ako treperi zeleno- potpis je u redu, bitovi osigurača su u grešci, ali ih je nemoguće ispraviti, jer je mikrokontroler “zaključan” (LockBits su uključeni), potrebno je potpuno brisanje mikrokontroler (potrebno je postaviti kratkospojnik za brisanje - “ALOW ERASE”).
Ako crveno treperi- potpis je u redu, mikrokontroler "nije zaključan", ali iz nekog razloga nemoguće je vratiti bitove osigurača.

Ako želite dobiti više detaljne informacije na ploči se nalaze informacije o procesu "liječenja". UART izlaz. Pošaljite ovaj signal na terminal i dobit ćete "ispis" učinjenog.

Postavke terminala:
brzina prijenosa: 4800
paritet: nikakav
bitovi podataka: 8
stopbits: 1
rukovanje: nikakav

Ploča ima tri panela za “pacijente”. 20 (Attiny2313...), 28 (Atmega48/88/168, Atmega8...), 40 (Atmega16, Atmega8535...) noge. Ako odlučite "liječiti" drugog "pacijenta", tada odbor ima poseban adapterski konektor s utičnicama za bilo koji mikrokontroler koji vam je potreban. Uređaj podržava isto toliko 106 vrste AVR mikrokontrolera.
Evo cijelog popisa:
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22,Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT 90-ih8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT 9 0pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega32 8, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A / PA,AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT 90usb646, AT90usb647, AT90can64
128 kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 kB:
Atmega2560, Atmega2561

zelena označeni su kristali koje su testirali i uspješno liječili korisnici “liječnici”. Ako ste izliječili kristal koji nije označen zelenom bojom, javite autoru uređaja ili meni - proslijediti ću.

Završili smo s laskavim kritikama, a sada idemo sastaviti uređaj.

MONTAŽA UREĐAJA.

Dijagram sklopa uređaja je prilično jednostavan. Vrijednosti otpornika mogu se mijenjati unutar malih granica

Ova verzija firmvera također je dostupna za mikrokontrolere:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Firmware za mikrokontrolere s 16 kB i 32 kB memorije također prikazuje nazive mikrokontrolera koji se vraćaju.
Za firmware i osigurače za ostale mikrokontrolere pogledajte arhivu starih verzija Doctora na kraju članka.

ADAPTERI ZA MIKROKONTROLERE.

Autor je razvio dva adaptera:
— za HVPP programiranje 20-pinskih Attiny26-sličnih i 40-pinskih Atmega8515-sličnih kontrolera.
- za HVSP programiranje za 8-pinske i 14p-pinske mikrokontrolere s visokim naponom na dosljedan način programiranje
- Adapteri za programiranje 20 i 40 pinskih mikrokontrolera u DIP kućištima.
- Adapter za programiranje 8 i 14 pinskih mikrokontrolera u DIP kućištima.

Mali bonus od mene– adapteri za 8-pinske (ATtiny13...) i 20-pinske (ATtiny2313...) mikrokontrolere u SOIC kućištima.


- Adapteri za programiranje 8 i 20 pinskih mikrokontrolera u SOIC kućištima

Korištenje adaptera za SOIC pakete vrlo je jednostavno:

ARHIVA SVIH PRETHODNIH VERZIJA DOCTORA.

Ovo je arhiva sa svima prethodne verzije"Liječnici". Osim toga, arhiva sadrži dodatne materijale, kao što su pinouts za različita AVR kućišta, adapterske ploče i više.

Arhiva starih verzija "Doktora"

U OVOM TRENUTKU NAJNOVIJA VERZIJA “DOKTORA”.

Kao što sam već spomenuo, glavna prednost "Doktora" je njegova autonomija. Za vraćanje osigurača potreban vam je samo sam uređaj. To je jako dobro!
Da, "Doktor" je dao informacije o procesu "liječenja" putem UART-a. Poruke putem UART-a, duplicirajući LED diode, dale su potpuniju sliku "tretmana", ali mnogima to nije bilo dovoljno. Želio bih potpuniju kontrolu procesa oporavka. A u novom ažuriranju autor daje ovo potpuna kontrola!

Sada je moguće:
— dvosmjerna komunikacija s “Doktorom” putem UART-a;
— rad s kristalima koji imaju netočan potpis;
— postavite svoje osigurače i osigurače;
— ostalo pročitajte u opisu unutar arhive...
- Najnovija verzija "Doktora"

NAKNADE ČITATELJA BLOGA LIJEČNIKA.
Ovdje su uređaji koje su prikupili čitatelji - dobro je imati izbor.

Pečat "Doktor" od Pavla (u Splintu)

Doktorski pečat Paula (u udlagi)
zloynik pronašao neke greške:
1. Otpornik s 23 mega noge nije spojen na utičnice.
2. Otpornik s noge od 4 mega nije spojen na utičnice.
3. Otpornik iz 5. mega noge nije spojen na utičnice.
4.Tranzistor BC547(T2) sa 13 mega nogu - nema kontakta emitera sa masom.
Inače se čini da je sve u redu. Prikupio i zaključao Tinku 2313 i restaurirao je.
Uzmite to u obzir tijekom proizvodnje.

Opcija “Doctor” u SMD verziji tvrtke webconn.

Opcija "Doktor" u SMD-u iz webconna
Želio bih dati svoj doprinos u vidu još jedne ploče za “doktora” u SMD verziji. Ima samo 5 skakača i 3 SMD “don’t care” uređaja, napaja Power Jack 5 mm (ali postoji verzija s konektorom u arhivi) preko 78L05 (postane vruće, ali možete raditi par minuta bez gašenja struje, a obično vam i ne treba više) Također jedan od tranzistora, ali također umjereno (male stvari zahtijevaju žrtve). Međutim, ploča je upotrebljiva. Kompatibilan sa Najnovija verzija Liječnici V2h (to jest, UART je potpuno uništen).

Machinemanova "doktorska" varijanta.

"Doktor" ožičenje iz Machimana


Ploča je bila u sprintu, ožičena za dijelove koji su bili dostupni, tako da je bila simbioza SMD-a sa lead-out elementima, nije se moglo pobjeći od jumpera, koliko god sam ga vrtio. Tranzistor T3 okrenut je u pravom smjeru (isprva se zbunio s emiterom-kolektorom). Da, nisam se previše mučio s napajanjem i sve sam spojio na molex konektor. I naravno postoji pristup karticama za proširenje. Sretno!

Opcija "Doktor" iz TaseG (ožičenje udlage).

"Doktorska" varijanta iz TaseG-a.



Ispravak ožičenja od Maxima Nosyreva.
Početnik sam, pa me nemojte strogo osuđivati ​​ako pogriješim.
Ako usporedite ožičenje s izvornikom iz članka, tada postoji dodatna staza koja povezuje 9 i 5 volti, koliko sam shvatio, 9 volti će se isporučivati ​​mega. Možda, naravno, nisam u pravu, ali vjerojatno ne bi trebalo biti ovako...

Varijanta "Doktora" iz Sailansera (izgled u Eagle 5.10)

Ožičenje od Sailanser (Eagle 5.10)


Svatko tko počne raditi s AVR mikrokontroleri zna to neispravna instalacija"osigurači", možete doći do tužnih posljedica.
Uobičajeni slučajevi uključuju pogrešno isključivanje pina za resetiranje mikrokontrolera (bit osigurača RSTDISBL, kako bi se mogao koristiti kao I/O linija) ili onemogućavanje načina ISP programiranje(Fuse bit SPIEN) - u tim će slučajevima programiranje unutar kruga postati nemoguće.
Samo paralelni programer može vratiti njihovu funkcionalnost i vratiti ih u život.

Strujni krug takvog programatora prilično je sofisticiran, a upotreba takvog programatora u svakodnevnom životu je jednokratna - za oživljavanje pogrešno bljeskanog mikrokontrolera. Iz tog razloga ga ne želi svatko, praktički nitko, sastaviti, uvijek je lakše i jeftinije kupiti novi mikrokontroler. A "mrtvi" mikrokontroleri su ili izbačeni ili stavljeni u kutiju za bolja vremena, možda će jednog dana biti moguće doći do paralelnog programera.

Nedavno sam naišao na internetu zanimljiv uređaj, pod naslovom "Atmega fusebit doktor", s kojim želim upoznati naše čitatelje.
Autor ovog razvoja je Poljak Pawel Kisielewski. Strujni krug ovog uređaja je relativno jednostavan i namijenjen je samo jednoj svrsi - vratiti u život mikrokontroler s neispravno ušivenim osiguračima.

Takvi osigurači mogu biti:
-CKSEL osigurač za odabir glavnog oscilatora (odabire se vanjski oscilator kada ga nema ili se odabere vrlo niska frekvencija unutarnjeg);
- SPIEN zabrana sekvencijalnog programiranja;
-RSTDISBL korištenje reset pina kao dodatne I/O linije;
- instalirano BRAVA komadići;
- drugi koji ometaju sekvencijalno programiranje.

Korištenje ovog uređaja je vrlo jednostavno - napajamo 12 volti na ploču iz stabiliziranog napajanja, umetnemo "mrtvi" mikrokontroler u utičnicu, pritisnemo gumb " POČETAK“i za nekoliko sekundi dobivamo “potpuno novi” mikrokontroler koji radi. Štoviše "Atmega fusebit doktor" ne utječe na program ožičen u mikrokontroleru, zapravo ga nije briga što je ondje ožičeno, on samo provjerava "osigurače". Vidite, sve je vrlo jednostavno i ne trebate čak ni računalo.

Princip rada "Atmega fusebit doktor".

Kada pritisnete tipku "START", "Atmega fusebit doktor"čita potpis "mrtvog" mikrokontrolera; ako nije čitljiv, onda se nekoliko puta pokušava pročitati na različite načine. Nakon očitanog potpisa, iz baze podataka se utvrđuje tip mikrokontrolera i vraćaju se tvorničke postavke bita osigurača.
Ako je potpis nepoznat ili ga mikrokontroler proizvodi netočno, uređaj će postaviti bitove osigurača u stanje koje omogućuje serijsko programiranje.
Prilikom vraćanja bita osigurača, firmware mikrokontrolera, kao što je gore spomenuto, ostaje netaknut. Na ploči je i skakač " DOPUSTI BRISANJE“, kada je zatvoren, uređaj će potpuno “nulirati” mikrokontroler. Ovo je neophodno ako je mikrokontroler "zaključan", tj. ugrađeni su sigurnosni bitovi koji sprječavaju čitanje/pisanje mikrokontrolera.

Za označavanje operacije "Atmega fusebit doktor" ima dvije LED diode - crvenu i zelenu.

Ako je svjetlo zeleno- to znači da je mikrokontroler uspješno dezinficiran, da su osigurači vraćeni na tvorničke postavke. Ako je mikrokontroler “zaključan” (LockBits uključeni), bitovi osigurača se jednostavno provjeravaju i ako odgovaraju tvorničkim, svijetli zelena LED dioda.
Ako je svjetlo crveno- problemi s signaturom čipa, nemoguće je očitati nema li mikrokontrolera u utičnici ili nema takve signature u bazi podataka.
Ako treperi zeleno- potpis je uredan, bitovi osigurača su u pogrešci, ali ih je nemoguće ispraviti, budući da je mikrokontroler “zaključan” (LockBits su uključeni), mikrokontroler mora biti potpuno izbrisan (potrebno je postaviti skakač za brisanje - “DOPUSTI BRISANJE”).
Ako crveno treperi- potpis je u redu, mikrokontroler "nije zaključan", ali iz nekog razloga nemoguće je vratiti bitove osigurača.

Ako želite dobiti detaljnije informacije o procesu "liječenja" mikrokontrolera, postoji nešto na ploči za to UART izlaz. Pošaljite ovaj signal terminalu i dobit ćete "ispis" onoga što je učinjeno tijekom procesa liječenja.

Postavke za terminal su sljedeće:
brzina prijenosa: 4800
paritet: nikakav
bitovi podataka: 8
stopbits: 1
rukovanje: nikakav

Dizajn "Atmega fusebit doctor"

Tiskana pločica sadrži tri utičnice za uključivanje mikrokontrolera-“pacijenata”. 20 (Attiny2313...), 28 (Atmega48/88/168, Atmega8...), 40 (Atmega16, Atmega8535...) noge. Ako odlučite "liječiti" drugog "pacijenta", tada odbor ima poseban adapterski konektor s utičnicama za bilo koji mikrokontroler koji vam je potreban.
"Atmega fusebit doktor" podržava više od stotinu vrsta AVR mikrokontrolera.

Evo njihovog punog popisa:

Mikrokontroleri koji su testirani i uspješno restaurirani označeni su zelenom bojom.

1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22,Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT 90-ih8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT 9 0pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega32 8, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A / PA,AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT 90usb646, AT90usb647, AT90can64
128 kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 kB:
Atmega2560, Atmega2561

Sastavljanje uređaja.

Dijagram sklopa uređaja je prilično jednostavan. Vrijednosti otpornika mogu se mijenjati unutar malih granica. Uređaj se napaja vanjskim stabiliziranim napajanjem naponom od 12 volti. Napajanje se spaja na odgovarajući 2-polni konektor na tiskanoj pločici.


059-atmega_fusebit_doctor_V2e_schematic.pdf - Shema "ATmega FuseBit Doctor"

Prilikom sastavljanja uređaja postoji jedna nijansa koju je važno ne zaboraviti.
Kod postavljanja utičnica na pločicu potrebno je odgristi nožice 40 pinske utičnice od 29 do 37 ili još bolje nikako ne bušiti rupe na pločici za te nožice. Na donjoj slici ovo mjesto je zaokruženo crveno-ružičastom bojom.

U arhivi se uz pečat nalazi i slika za nanošenje na ploču sa strane dijelova (slika za ugradnju). Uređivanje s takvom "maskom" pretvara se u jednostavan postupak ugradnja radio komponenti pomoću slika ("maska"). Takav dizajn se također može nanijeti na ploču metodom LUT, nakon čega će se morati lakirati, inače će se brzo izbrisati.
059-atmega_doctor_plate_v2d_Sprint.rar - Pečat za "ATmega FuseBit Doctor" u Sprint Layout 6.
059-atmega_fusebit_doctor_V2e_PCB.zip - Pečat i maska ​​za "ATmega FuseBit Doctor" u "PDF".
Zatim na ploču postavljamo kratkospojnike i radio komponente, postavljamo utičnice i na kraju dobivamo ovaj kompletan uređaj:

Sada preostaje samo fleširati mikrokontroler ATmega8 i uređaj je spreman!
059-atmega_fusebit_doctor_2.09.hex - Firmware "ATmega FuseBit Doctor".

Da, kao glavni mikrokontroler osim ATmega8, može se primijeniti Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Ugradnja osigurača za mikrokontroler prikazana je na slici ispod.

Bajtovi osigurača: Bitovi za zaključavanje = 0x3F; Visoki osigurač = 0x D1; Slab osigurač = 0xE1; Ext. Osigurač= 0x00

Kako provjeriti jeste li ih ispravno postavili u programatoru? Različito su postavljeni u različitim programerima. Kod nekih je kao na slici, kod drugih se preslikava. Da biste saznali što učiniti, trebate staviti čisti MK s tvorničkim postavkama osigurača u programator i samo pročitati samo postavke osigurača. Zatim usporedite otkucaj osigurača "SPIEN". Ako nije provjereno na vašem programatoru, onda su osigurači postavljeni kao na slici. Ali ako je potvrdni okvir označen, tada su svi osigurači postavljeni na zrcalni način. Odnosno, tamo gdje nema kvačica na slici, one su postavljene i obrnuto.

Ova verzija firmvera je u arhivi, a dostupna je i za mikrokontrolere:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Firmware za mikrokontrolere s 16 kB i 32 kB memorije također prikazuje nazive mikrokontrolera koji se vraćaju.

Adapteri za mikrokontrolere.

Autor je razvio dva adaptera:
- za HVPP programiranje 20-pinskih kontrolera poput Attiny26 i 40-pinskih Atmega8515 sličnih.
- za HVSP programiranje za 8-pinske i 14p-pinske mikrokontrolere s metodom visokonaponskog serijskog programiranja.
059-adapter_dip20-dip40 - Adapteri za programiranje 20 i 40 pinskih mikrokontrolera u DIP kućištima.
059-adapter_dip8-dip14 - Adapter za programiranje 8 i 14 pinskih mikrokontrolera u DIP kućištima.


Ako ste dugo radili s mikrokontrolerima, vjerojatno ste imali slučajeve neispravnog firmware-a fusebit-a. Predloženi uređaj omogućuje vraćanje osigurača zaključanog mikrokontrolera na tvorničke postavke. Naravno, možete koristiti paralelni programator za ove svrhe, ali recimo da ga nemam, a imam nekoliko blokiranih kontrolera koji leže okolo.

Upravo smo jutros na poslu otključali dvije mega 8 u chipprog programatoru. Činilo se da tu možemo stati, ali nemate uvijek pri ruci skupi programator, a ne želite baš sastaviti paralelni za takav jedan slučaj. Tada sam odlučio potražiti jednostavan uređaj koji bi mogao oživjeti mikrokontroler u slučaju neispravnog firmware-a osigurača.
Tako sam naišao na uređaj koji se zove "Atmega fusebit doctor". Autor je Poljak Pawel Kisielewski.

Osigurači koji mogu blokirati regulator:
- CKSEL osigurač za odabir glavnog oscilatora (odabire se vanjski oscilator kada ga nema ili se odabere vrlo niska frekvencija unutarnjeg);
- SPIEN zabrana sekvencijalnog programiranja;
- RSTDISBL korištenje reset pina kao dodatne I/O linije;
– postaviti LOCK bitove;
– drugi koji ometaju sekvencijalno programiranje.

Princip rada uređaja:

Dovedemo 12 volti na ploču, ubacimo pacijenta u utičnicu, pritisnemo tipku “START” i u djeliću sekunde dobijemo mikrokontroler koji radi. Da bi uređaj radio, nije potrebno spajati ga na računalo, odnosno mikro krug se može otključati čak i na terenu (ako je dostupno 12V).

Kada pritisnete tipku “START”, uređaj daje sve od sebe da pročita potpis pacijentovog mikrokontrolera. Nakon uspješnog očitavanja potpisa, tip mikrokontrolera se utvrđuje iz baze podataka i vraćaju se tvorničke bitne postavke za taj mikrokontroler. Ako je potpis nepoznat ili ga mikrokontroler proizvodi netočno, uređaj će postaviti bitove u stanje koje omogućuje serijsko programiranje. Prilikom vraćanja bita osigurača firmware mikrokontrolera ostaje netaknut.
Za slučaj kada su postavljeni zaštitni bitovi koji sprječavaju čitanje/pisanje mikrokontrolera, na pločici postoji kratkospojnik “ALOW ERASE” kada je zatvoren, uređaj će potpuno “nulirati” mikrokontroler.

Indikacija:
Za označavanje rada uređaja koriste se dvije LED diode:
Zeleno – pacijent je uspješno izliječen, osigurači su vraćeni na tvorničke postavke. Ako je mikrokontroler “zaključan” (LockBits uključeni), bitovi osigurača se jednostavno provjeravaju i ako odgovaraju tvorničkim, svijetli zelena LED dioda.
Crveno – problemi s potpisom čipa, nemoguće je očitati nema li mikrokontrolera u utičnici ili nema potpisa u bazi podataka.
Zeleno trepće - potpis je u redu, bitovi osigurača su u pogrešci, ali se ne mogu ispraviti, budući da je mikrokontroler "zaključan" (LockBitovi su uključeni), mikrokontroler mora biti potpuno izbrisan (morate postaviti kratkospojnik za brisanje - “DOPUSTI BRISANJE”).
Crveno treperi - potpis je u redu, mikrokontroler "nije zaključan", ali iz nekog razloga nemoguće je vratiti bitove osigurača.

Ako želite dobiti detaljnije informacije o procesu "liječenja", na ploči se nalazi UART izlaz. Pošaljite ovaj signal na terminal i dobit ćete "ispis" učinjenog.

Postavke terminala:
brzina prijenosa: 4800
paritet: nema
bitovi podataka: 8
stopbits: 1
rukovanje: nema

Ploča ima tri utičnice za 20, 28 i 40-nožnih “pacijenata” u dip-caseima. Ako trebate "izliječiti" drugog "pacijenta", tada ploča ima konektor za spajanje adaptera s utičnicama za bilo koji mikrokontroler koji vam je potreban. Uređaj podržava 106 različite vrste AVR mikrokontroleri.

Popis podržanih kontrolera (zeleno su označeni čipovi koje je “doktor” uspješno izliječio):
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22,Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, At tiny861/A , Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT 9 0pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega32 8, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A / PA,AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128 kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 kB:
Atmega2560, Atmega2561
Ako ste vratili kontroler s popisa koji nije označen zelenom bojom, napišite o tome u komentarima i ja ću ga označiti.

Dijagram uređaja:


Uređaj je prilično jednostavan. Vrijednosti otpornika mogu se mijenjati (unutar malih granica, bez fanatizma)

Tiskana ploča uređaja ima jedan važna nijansa, što se mora uzeti u obzir prilikom sastavljanja uređaja.
Noge 40k pinske utičnice od 29 do 37 (na fotografiji su označene crvenom bojom) nije potrebno ugrađivati, a bolje je ne bušiti rupe za te nožice na tiskanoj pločici.


Sastavljamo ploču, bljeskamo kontroler i počinjemo reanimirati, reanimirati i opet...

Glavna prednost "Doktora" je njegova autonomija. Za vraćanje osigurača potreban vam je samo sam uređaj. I sa poslijednje ažuriranje Autor uređaja također je dodao potpunu kontrolu nad procesom otključavanja, koji se provodi putem UART terminala.

datoteke:
Preuzmite datoteke projekta v2.11: (preuzimanja: 3172)
U arhivi: firmware Atmega8, Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P, opis, tiskane ploče uređaja i adaptera.
Preuzmite SMD adapterske ploče: (preuzimanja: 2062)(Tiny2313, Mega8, Mega16, Mega128)
Preuzmite SMD adaptersku ploču s GetChip.net: (preuzimanja: 1654)(Tiny2313, Tiny13)

Skoro sam zaboravio najvažnije - osigurače