Mikrokontrollerien palauttaminen. AVR-sulakkeen kiinnitys

_________________________________________________________________________________________________________

Jos työskentelit sisäänrakennetun kellogeneraattorin parissa ja vahingossa välähtit sulakkeet (esimpainoi painiketta unohtaen poistaa valinnan ruudusta " ohjelman sulakkeet" Ohjelmoi sulakepala(t) - mikro-ohjain voi sammuttaa sisäänrakennetun kellogeneraattorin ja siirtyä työskentelemään ulkoisen kvartsin kanssa (luonnollisesti lakkaa toimimasta).

Kun yrittää välähtää kristallia, CodeVision tuottaa seuraavanlaisia ​​virheitä:


tai näin:

Sulakkeet ovat mikro-ohjaimen sisällä olevia "kytkimiä", jotka vastaavat sisäänrakennetun kellogeneraattorin kytkemisestä, ulkoisen kvartsin kytkemisestä, käyttötilan kytkemisestä ulkoisesta generaattorista jne. Et voi määrittää niitä suoraan ohjelmassa, kuten rekistereitä. Sulakkeet säädetään vain laiteohjelmiston vilkkuessa.

Fuse tarkoittaa englanniksi "sulavaa jumpperia". Vanhemmissa mikro-ohjaimissa sulakkeet olivat kertakäyttöisiä. Tämä oli ryhmä johtavia alueita mikrokontrollerisirulla. Jos johtava osa piti ohjelmoida, se käytettiin korkea virta, kiderakenne tässä paikassa tuhoutui ja lakkasi johtamasta virtaa. Vaurioituneen sähköä johtamattoman alueen katsottiin olevan Hirsi. nolla; koko alue - varten Hirsi. yksikkö.

Nyt sulakkeet ovat uudelleenkäytettäviä (tämä on vain apumuistisolu), mutta ohjelmoitujen sulakkeiden nimityksiin jäi jäänne noista ajoista:
Ohjelmoitu
sulake osoittaa reikä (log.0, ei-johtava osa);
Ohjelmoimaton - rasti (log.1, johtava osa);

Näin ollen sulakkeet on ohjelmoitu "rei'illä" punkkien sijaan.
__________________________________________________________________________________________________

Palauta mikro-ohjaimen toiminta etsimällä ikkunasta
ProgramFuseBit(s) bittiä:
CKSEL0
CKSEL1
CKSEL2
CKSEL3
SUT0
SUT1
CKOPT
...ja vertaa levyyn. Selvitä, mikä käyttötila äsken vilkaisit
mikro-ohjain :

Useimmiten kaikki yllä mainitut bitit ovat reikiä (oletusarvoisesti CVAVR:ssä ei ole yhtä valintamerkkiä), eli kaikki nämä bitit on ohjelmoitu. Mikä vastaa ulkoisen kvartsin kytkemistä taajuudella 3 - 8 MHz:



1. Osta kvartsia taajuudella 3–8 MHz tai irrota se tietokoneromusta (kvartsin taajuus on kirjoitettu sen koteloon). Ja kaksi kondensaattoria 12 - 36 pf.



2. Etsi mikro-ohjaimesta nastat XTAL1 ja XTAL2, aseta kvartsi niiden väliin. Heitä samoista liittimistä kondensaattoreita yhteiseen johtoon (vaikka voit kokeilla ilman niitä).


3. Muuta projektin kokoonpanossa sirun taajuudeksi 8 000 000 (tai muuhun, jota varten kvartsisi on suunniteltu). Sinun ei tarvitse muuttaa sitä, mutta silloin viivetoiminto laskee viiveet väärin (jos käytät sitä, tietysti).


4. Siltä varalta sulakkeet uudelleen (nyt CVAVR:n pitäisi tunnistaa mikro-ohjain normaalisti):
Työkalut >> Siruohjelmoija >> Ohjelma >> Sulakepää(t)

5. Puhdista siru ja lataa ohjelma uudelleen (älä tietenkään unohda kääntää sitä ennen tämän tekemistä).
Jos virheitä ilmenee, yritä vain sulkea virheen sisältävä ikkuna ja vilkkua se uudelleen. Protokollat ​​ohjelmoijille kehitettiin jo Windows95:n aikoina ja vanhemmille tietokonemalleille. Varsinkin joissain moderneissa moniytimiset tietokoneet Windows XP:llä (Windows Vista, Windows 7) joskus sen saa normaalisti flashattua vain toisen tai kolmannen kerran (ainakin minulla).

6. Kun saat "voiman" mikro-ohjaimeen uudelleen, tee kuten haluat - voit kytkeä sen takaisin sisäänrakennettuun oskillaattoriin tai voit jatkaa työskentelyä kvartsilla korkealla taajuudella.

PS. Voit lukea sulakearvot CodeVisionAVR:stä (ja kirjoittaa ne muistiin ennen kuin teet mitään mikro-ohjaimella, jotta voit palauttaa ne myöhemmin) seuraavasti:Työkalut >> Siruohjelmoija >> Lue >> Sulakepää(t)



Joskus käy niin, että laiteohjelmisto ei enää havaitse toimivaa, oikein kytkettyä mikro-ohjainta. Tämä voi tapahtua useista syistä:

  1. Ohjelmointi SPI:n kautta on kielletty
  2. RESET-nastasta on tullut tavallinen portin nasta
  3. Väärä kellolähde valittu

Jos ensimmäisessä ja toisessa tapauksessa et tule toimeen ilman rinnakkaisohjelmoijaa, niin jos kellolähde on valittu väärin, voit kokeilla tässä pienessä oppaassa kuvattuja menetelmiä. Tätä varten tarvitsemme:

  • Kvartsi ~ 4 MHz
  • Kondensaattorit 12 pF - 22 pF (2 kpl)
  • Vastus 10 kOhm
  • Siru 74HC00
  • Suorat kädet :-)

Oletetaan, että emme tiedä minkä kellolähteen olemme valinneet. Seuraavat kellolähteet ovat olemassa:

  • Kvartsi resonaattori
  • Ulkoinen RC-ketju
  • Ulkoinen generaattori

Siellä on myös sisäinen RC-generaattori, mutta ilmeisistä syistä emme ole kiinnostuneita siitä. Ohjaimen herättämiseksi henkiin sinun täytyy käydä läpi mahdolliset vaihtoehdot peräkkäin.

Kvartsi resonaattori

Kvartsiresonaattori on kytketty jalkoihin XTAL2 ja XTAL1. Jokainen kvartsijalka on kytketty kondensaattoriin, joka puolestaan ​​​​on kytketty maahan. Kaikki kondensaattorit 12 - 22 pf.

Jos kvartsin liittäminen ei auttanut, siirrytään eteenpäin

Ulkoinen RC-ketju

En käyttäisi sitä kellotukseen, koska taajuus kelluu kuin tiedät mitä reiässä. Se yhdistetään ohjaimeen seuraavasti:

TÄRKEÄÄ: XTAL2-nastan on kellua ilmassa! Sinun ei tarvitse kytkeä sitä mihinkään. Jos tämä ei auta, jää viimeinen vaihtoehto.

Ulkoinen generaattori

Tämä generaattori voidaan tehdä melkein mistä tahansa logiikasta tai vaikkapa 555 ajastimesta, minulla sattui olemaan 74HC00 siru käsillä. Voit käyttää sen sijaan k155la3:a. Kaava on erittäin yksinkertainen eikä vaadi säätöä:

Generaattori toimii noin 1,3 MHz taajuudella. Luonnollisesti sitä voidaan säätää muuttamalla vastuksen ja kondensaattorin arvoja, mutta tämä ei todennäköisesti ole tarpeen. En maksanut hänen puolestaan, koska... ei ollut mitään järkeä. XTAL2:n jalka tulee jättää roikkumaan ilmaan. Jos säädin ei käynnisty tämän jälkeen, se tarkoittaa, että säädin on kuollut tai ohjelmointi SPI:n kautta on kielletty tai RESET on poistettu käytöstä. Vain rinnakkaisohjelmoija voi auttaa tässä.

Kysymyksiä, ehdotuksia, selvennyksiä julkaistaan ​​kommenteissa.

Huomio! Laitteen kirjoittaja ei seiso paikallaan - hän parantaa jatkuvasti "lääkäriään". Seuraan myös muutoksia ja teen päivityksiä artikkeliin.
Artikkeli kuvaa eniten vakaa versio Päivitys nro 9. päivätty 13.3.2011.
Artikkelin lopussa on uusin versio ja arkisto kaikista "Doctorin" vanhoista versioista.

Haluaisin kysyä blogiani lukevilta - kuinka monta mikro-ohjainta sinulla on kertynyt väärin välähtäneillä tiedoilla, jotka eivät sovellu jatkokäyttöön? Luulen, että jos olet kaunis pitkä aika Työskentele mikro-ohjainten kanssa, sinulla on ollut tapauksia väärä laiteohjelmisto sulakkeet. Laitoin "vaurioituneet" mikrokontrollerini erityiseen laatikkoon siinä toivossa, että joskus tulevaisuudessa kokoaisin korkeajännitteisen rinnakkaisohjelmoijan ja herätän ne henkiin. Mutta jotenkin en erityisen halunnut koota suurjänniteohjelmoijaa. Piiri on melko hienostunut, ja tällaisen ohjelmoijan käyttö on kertaluonteista - virheellisesti vilkkuvan mikro-ohjaimen elvyttämiseksi. Lyhyesti sanottuna uuden mikro-ohjaimen ostaminen oli aina helpompaa (ja halvempaa). Joten "kuolleita" mikrokontrollereita olisi säilytetty edelleen, jos outoa asiaa ei olisi tapahtunut - uuden laitteen valmistuksen aikana (julkaisen sen pian) ne lakkasivat näyttämästä elonmerkkejä, kaksi pientä2313:a kerralla ilman erityistä syytä . Epäily kohdistui siihen, että sulakkeet oli asetettu väärin laiteohjelmiston aikana. Uusia oli mahdotonta saada nopeasti SOIC-pakettiin, ja käteni kutisivat radan viimeistelyä. Koska aioin joka tapauksessa tehdä suurjänniteohjelmoijan, päätin, että on aika tehdä se. Mutta en koskaan tehnyt suurjänniteohjelmoijaa, vaan tein laitteen, joka on erityisesti suunniteltu korjaamaan virheellisesti asennettuja sulakkeita.

Mitä mielenkiintoista Atmega fusebit doctorissa on?
Kuten ymmärrät, tämä ei ole tarkkaan korkeajänniteohjelmoija. Tämä laite on tarkoitettu vain yhteen tarkoitukseen - herättää henkiin mikro-ohjain, jonka filamentit on välähdetty väärin.

Tällaisia ​​sulakkeita voivat olla:
-CKSEL sulake pääoskillaattorin valitsemiseksi (ulkoinen oskillaattori valitaan, kun se puuttuu tai valitaan sisäisen erittäin alhainen taajuus);
- SPIEN peräkkäisen ohjelmoinnin kielto;
-RSTDISBL käyttämällä nollausnastaa lisä-I/O-linjana;
- asennettu LUKKO bittiä;
— muut, jotka häiritsevät peräkkäistä ohjelmointia.

LAITTEEN KÄYTTÖPERIAATE

- erittäin yksinkertainen - syötä 12 volttia levylle, aseta "vaurioitunut" mikro-ohjain pistorasiaan, paina painiketta " ALKAA"ja sekunnissa saamme upouuden toimivan mikro-ohjaimen. Se on hyvin yksinkertaista, et tarvitse edes tietokonetta (ne vihaavat aina pseudokelloja ja -pillejä, kuten ohjausta erikoisohjelma PC:llä, missä tätä ei periaatteessa tarvita). Ja jos laite näyttää yksinkertaiselta ulkopuolelta, kaikki on paljon monimutkaisempaa sisältä. Kun painat “START”-painiketta, laite lukee potilaan mikro-ohjaimen allekirjoituksen, ja jos sitä ei lueta, yritetään lukea useita kertoja. eri tavoilla. Kun allekirjoitus on luettu tietokannasta, mikro-ohjaimen tyyppi määritetään ja tehdasasetukset palautetaan tästä mikro-ohjaimesta, sulakkeen asetukset. Jos allekirjoitus on tuntematon tai mikro-ohjain tuottaa sen väärin, laite asettaa sulakebitit tilaan, jossa peräkkäinen ohjelmointi on mahdollista. Kun sulakepalaa palautetaan, mikro-ohjaimen laiteohjelmisto pysyy ennallaan. Laudassa on myös jumpperi" SALLI POISTAA", kun laite on suljettuna, se "nollaa" mikro-ohjaimen kokonaan. Tämä on tarpeen, jos potilas on "lukossa", ts. turvabitit on asennettu, jotka estävät mikro-ohjaimen lukemisen/kirjoituksen.

Laitteessa on kaksi LED-valoa, jotka osoittavat toiminnan- punainen ja vihreä :). Minimalistinen? Mutta tämä riittää ihan hyvin!
Jos valo on vihreä– potilas parantui onnistuneesti, sulakepalat palautettiin tehdasasetuksiin. Jos mikro-ohjain on "lukittu" (LockBits on käytössä), sulakebitit yksinkertaisesti tarkistetaan ja jos ne vastaavat tehtaan arvoja, vihreä LED syttyy.
Jos valo on punainen– ongelmia sirun allekirjoituksessa, on mahdotonta lukea, onko pistorasiassa mikro-ohjainta tai eikö sellaista allekirjoitusta tietokannassa.
Jos vihreä vilkkuu- allekirjoitus on kunnossa, sulakebitit ovat virheellisiä, mutta niitä on mahdotonta korjata, koska mikro-ohjain on "lukittu" (LockBits on käytössä), se on välttämätöntä täydellinen poisto mikro-ohjain (sinun on asetettava hyppyjohdin poistoa varten - "ALLOW ERASE").
Jos vilkkuu punaisena- allekirjoitus on ok, mikro-ohjain ei ole "lukittu", mutta jostain syystä sulakebittien palauttaminen on mahdotonta.

Jos haluat saada lisää yksityiskohtainen tieto taululla on tietoa "hoitoprosessista". UART-lähtö. Lähetä tämä signaali terminaaliin ja saat "tulosteen" tehdystä.

Päätteen asetukset:
baudinopeus: 4800
pariteetti: ei mitään
databitit: 8
pysähdyskohdat: 1
kädenpuristus: ei mitään

Taulussa on kolme paneelia "potilaille". 20 (Attiny2313...), 28 (Atmega48/88/168, Atmega8...), 40 (Atmega16, Atmega8535...) jalat. Jos päätät "hoitaa" toista "potilasta", lautakunnalla on erityinen sovittimen liitin pistorasiat mille tahansa tarvitsemasi mikro-ohjaimelle. Laite tukee yhtä paljon 106 AVR-mikro-ohjaintyyppejä.
Tässä on koko lista:
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2 kt:
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
8 kt:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny84, Attiny85, Attiny868,8,8,8 AT90s8535
16 kt:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega16P8P, Atmega16/7 wm216, AT90pwm316, AT90usb162
32 kt:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250 ga328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/ PA,AT90can32
64 kt:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega/90b6,645 AT90usb647, AT90can64
128 kt:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 kt:
Atmega2560, Atmega2561

Vihreä "Lääkärin" käyttäjien testaamat ja menestyksekkäästi hoitamat kiteet on merkitty. Jos olet kovettanut kiteen, jota ei ole merkitty vihreäksi, ilmoita siitä laitteen tekijälle tai minulle - välitän sen eteenpäin.

Olemme lopettaneet imartelevat arvostelut, nyt kootaan laite.

LAITTEEN KOKOAMINEN.

Laitteen kytkentäkaavio on melko yksinkertainen. Vastusten arvoja voidaan vaihdella pienissä rajoissa

Tämä laiteohjelmistoversio on saatavana myös mikro-ohjaimille:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Mikro-ohjainten, joissa on 16kB ja 32kB muisti, laiteohjelmisto näyttää myös palautettavien mikro-ohjainten nimet.
Katso muiden mikro-ohjainten laiteohjelmistot ja sulakkeet Doctorin vanhojen versioiden arkistosta artikkelin lopusta.

ADAPTERIT MIKROOHJAIMET.

Kirjoittaja on kehittänyt kaksi sovitinta:
— 20-nastaisten Attiny26- ja 40-nastaisten Atmega8515-tyyppisten ohjaimien HVPP-ohjelmointiin.
- HVSP-ohjelmointiin korkeajännitteisille 8- ja 14p-nastaisille mikrokontrollereille johdonmukaisella tavalla ohjelmointi
- Adapterit 20- ja 40-nastaisten mikro-ohjainten ohjelmointiin DIP-paketeissa.
- Adapteri 8- ja 14-nastaisten mikro-ohjainten ohjelmointiin DIP-paketeissa.

Pieni bonus minulta– sovittimet 8-pinnisille (ATtiny13...) ja 20-pinnisille (ATtiny2313...) mikrokontrollereille SOIC-paketeissa.


- Sovittimet 8- ja 20-nastaisten mikro-ohjainten ohjelmointiin SOIC-paketeissa

Sovittimien käyttäminen SOIC-paketteihin on hyvin yksinkertaista:

ARKISTO KAIKISTA EDELLEITÄ Lääkärin VERSIOISTA.

Tämä on arkisto kaikkien kanssa aiemmat versiot"Lääkärit". Lisäksi arkisto sisältää lisämateriaaleja, kuten liittimiä eri AVR-koteloille, sovitinkortteja ja paljon muuta.

Arkisto "Doctor" vanhoista versioista

TÄNÄÄN TÄNÄÄN UUSIN VERSIO Lääkäristä.

Kuten edellä mainitsin, "Tohtorin" tärkein etu on sen autonomia. Sulakkeiden palauttamiseksi tarvitset vain itse laitteen. Tämä on erittäin hyvä!
Kyllä, "lääkäri" antoi tietoa "hoitoprosessista" UART:n kautta. UART-viestit, jotka kopioivat LEDejä, antoivat täydellisemmän kuvan "hoidosta", mutta monille tämä ei riittänyt. Haluaisin toipumisprosessin täydellisemmän hallinnan. Ja uudessa päivityksessä kirjoittaja antaa tämän täysi hallinta!

Nyt se on mahdollista:
— kaksisuuntainen viestintä "lääkärin" kanssa UART:n kautta;
— työskentely kiteiden kanssa, joilla on väärä allekirjoitus;
— aseta sulakkeet ja lukkopalat;
- lue loput kuvauksesta arkiston sisällä...
- "Doctorin" uusin versio

Lääkärin BLOGIN LUKIJAJEN MAKSUT.
Tässä on lukijoiden keräämiä laitteita - valinnanvaraa on hyvä olla.

Signet "Doctor" Paulilta (Splintissä)

Paulin tohtorin signetti (Splintissä)
zloynik löytyi joitain virheitä:
1. Vastusta, jossa on 23 mega jalkaa, ei ole kytketty pistorasioihin.
2. 4 megan jalan vastusta ei ole kytketty pistorasiaan.
3. Viidennen mega-osan vastus ei ole kytketty pistorasioihin.
4.Transistori BC547(T2), jossa 13 mega-jalat - ei kosketusta emitteristä maahan.
Muuten kaikki näyttää olevan hyvin. Kerättiin ja lukittiin Tinka 2313 ja kunnostettiin.
Ota tämä huomioon tuotannossa.

Vaihtoehto “Doctor” SMD-versiossa webconnilta.

Vaihtoehto "Doctor" SMD:ssä webconnilta
Haluaisin antaa panokseni toisen hallituksen muodossa "lääkärille" SMD-versiossa. On vain 5 jumpperia ja 3 SMD "ei välitä" -laitetta, jotka saavat virtansa Power Jack 5mm -liittimestä (mutta arkistossa on liittimellä varustettu versio) 78L05:n kautta (kuumenee, mutta voi työskennellä pari minuuttia ilman virtaa katkaisematta, eikä yleensä tarvitse enempää) Myös yksi transistoreista, mutta myös maltillisesti (pienet asiat vaativat uhrauksia). Levy on kuitenkin käyttökelpoinen. Yhteensopiva uusin versio Lääkärit V2h (eli UART on täysin tuhoutunut).

Machinemanin "Tohtori"-variantti.

"Tohtori" johdot Machimanilta


Lauta oli sprintissä, johdotettu saatavilla oleville osille, joten siinä oli SMD-symbioosi ulosvientielementtien kanssa, joten hyppyjohdeista ei ollut mahdollista päästä eroon, vaikka kuinka väänsin sitä. Transistori T3 käännettiin oikeaan suuntaan (se sekoitettiin aluksi emitteri-kollektoriin). Kyllä, en vaivautunut liikaa virtalähteeseen ja liitin kaiken molex-liittimeen. Ja tietysti on pääsy laajennuskortteihin. Onnea!

Vaihtoehto “Doctor” TaseG:ltä (lastava johdotus).

TaseG:n "tohtori"-variantti.



Johdotuksen korjaus Maxim Nosyreviltä.
Olen aloittelija, joten älä tuomitse minua ankarasti, jos teen virheen.
Jos vertaat johdotusta artikkelin alkuperäiseen, niin siellä on ylimääräinen raita, joka yhdistää 9 ja 5 volttia, kuten ymmärrän, megaan syötetään 9 volttia. Ehkä olen tietysti väärässä, mutta sen ei ehkä pitäisi olla näin...

Sailanserin "Doctor"-versio (asettelu Eaglessa 5.10)

Sailanserin johdotus (Eagle 5.10)


Jokainen, joka aloittaa työskentelyn AVR-mikro-ohjaimet tietää sen väärä asennus"sulakkeet", voit tulla surullisiin seurauksiin.
Yleisiä tapauksia ovat mikro-ohjaimen Reset-nastan virheellinen sammuttaminen (sulakebitti RSTDISBL, jotta sitä voidaan käyttää I/O-linjana) tai tilan poistaminen käytöstä. ISP-ohjelmointi(Sulakebitti SPIEN) - näissä tapauksissa piirin sisäinen ohjelmointi tulee mahdottomaksi.
Vain rinnakkaisohjelmoija voi palauttaa niiden toimivuuden ja herättää ne henkiin.

Tällaisen ohjelmoijan piirit ovat melko kehittyneitä, ja tällaisen ohjelmoijan käyttö jokapäiväisessä elämässä on kertaluonteista - virheellisesti välähdtyn mikro-ohjaimen elvyttämiseksi. Tästä syystä kaikki, eikä käytännössä kukaan, halua koota sitä, on aina helpompaa ja halvempaa ostaa uusi mikrokontrolleri. Ja "kuollut" mikrokontrollerit joko heitetään ulos tai laitetaan laatikkoon parempia aikoja varten, ehkä joskus on mahdollista päästä rinnakkaisohjelmoijan luo.

Törmäsin äskettäin Internetissä mielenkiintoinen laite, oikeutettu "Atmega fusebit doctor", jonka haluan esitellä lukijoillemme.
Tämän kehityksen kirjoittaja on puolalainen Pawel Kisielewski. Tämän laitteen piiri on suhteellisen yksinkertainen ja se on tarkoitettu vain yhteen tarkoitukseen - mikro-ohjaimen "elävöittämiseen" väärin ommeltuilla sulakkeilla.

Tällaisia ​​sulakkeita voivat olla:
-CKSEL sulake pääoskillaattorin valitsemiseksi (ulkoinen oskillaattori valitaan, kun se puuttuu tai valitaan sisäisen erittäin alhainen taajuus);
- SPIEN peräkkäisen ohjelmoinnin kielto;
-RSTDISBL käyttämällä nollausnastaa lisä-I/O-linjana;
- asennettu LUKKO bittiä;
- muut, jotka häiritsevät peräkkäistä ohjelmointia.

Tämän laitteen käyttö on hyvin yksinkertaista - syötämme 12 voltin piirilevylle stabiloidusta virtalähteestä, asetamme "kuollut" mikro-ohjaimen pistorasiaan, paina painiketta " ALKAA"ja sekunneissa saamme "uouuden" toimivan mikro-ohjaimen. Lisäksi "Atmega fusebit doctor" ei vaikuta mikrokontrolleriin kytkettyyn ohjelmaan, se ei oikeastaan ​​välitä mitä siellä on johdotettu, se vain tarkistaa "sulakkeet". Näet, kaikki on hyvin yksinkertaista, etkä tarvitse edes tietokonetta.

Toimintaperiaate "Atmega fusebit doctor".

Kun painat "START"-painiketta, "Atmega fusebit doctor" lukee "kuolleen" mikro-ohjaimen allekirjoituksen, jos se ei ole luettavissa, sitä yritetään lukea usealla eri tavalla. Kun allekirjoitus on luettu, mikro-ohjaimen tyyppi määritetään tietokannasta ja sulakebitin tehdasasetukset palautetaan.
Jos allekirjoitus on tuntematon tai mikro-ohjain tuottaa sen väärin, laite asettaa sulakebitit tilaan, joka mahdollistaa sarjaohjelmoinnin.
Kun sulakepalaa palautetaan, mikro-ohjaimen laiteohjelmisto, kuten edellä mainittiin, pysyy ennallaan. Laudassa on myös jumpperi" SALLI POISTAA", kun laite on suljettuna, se "nollaa" mikro-ohjaimen kokonaan. Tämä on tarpeen, jos mikro-ohjain on ”lukittu”, ts. turvabitit on asennettu, jotka estävät mikro-ohjaimen lukemisen/kirjoituksen.

Toiminnan osoittamiseksi "Atmega fusebit doctor" siinä on kaksi LEDiä - punainen ja vihreä.

Jos valo on vihreä- tämä tarkoittaa, että mikro-ohjain on desinfioitu onnistuneesti, sulakepalat on palautettu tehdasasetuksiin. Jos mikro-ohjain on "lukittu" (LockBits on käytössä), sulakebitit yksinkertaisesti tarkistetaan ja jos ne vastaavat tehtaan arvoja, vihreä LED syttyy.
Jos valo on punainen- ongelmia sirun allekirjoituksessa, on mahdotonta lukea, onko pistorasiassa mikro-ohjainta tai eikö sellaista allekirjoitusta tietokannassa.
Jos vihreä vilkkuu- allekirjoitus on kunnossa, sulakebitit ovat virheellisiä, mutta niitä on mahdotonta korjata, koska mikro-ohjain on "lukittu" (LockBits on käytössä), mikro-ohjain on tyhjennettävä kokonaan (sinun on asetettava tyhjennys jumpperi - "SALLI POISTAA").
Jos vilkkuu punaisena- allekirjoitus on ok, mikro-ohjain ei ole "lukittu", mutta jostain syystä sulakebittien palauttaminen on mahdotonta.

Jos haluat saada tarkempaa tietoa mikro-ohjaimen "kovetusprosessista", on olemassa jotain tätä varten. UART-lähtö. Lähetä tämä signaali terminaaliin ja saat "tulosteen" siitä, mitä hoitoprosessin aikana on tehty.

Päätteen asetukset ovat seuraavat:
baudinopeus: 4800
pariteetti: ei mitään
databitit: 8
pysähdyskohdat: 1
kädenpuristus: ei mitään

Suunnittelu "Atmega fusebit doctor"

Painetussa piirilevyssä on kolme liitäntää mikrokontrollereille - "potilaat" päälle 20 (Attiny2313...), 28 (Atmega48/88/168, Atmega8...), 40 (Atmega16, Atmega8535...) jalat. Jos päätät "hoitaa" toista "potilasta", lautakunnalla on erityinen sovittimen liitin pistorasiat mille tahansa tarvitsemasi mikro-ohjaimelle.
"Atmega fusebit doctor" tukee yli sataa AVR-mikro-ohjaintyyppiä.

Tässä on heidän täydellinen luettelonsa:

Testatut ja onnistuneesti palautetut mikro-ohjaimet on merkitty vihreällä.

1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2 kt:
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
8 kt:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny84, Attiny85, Attiny868,8,8,8 AT90s8535
16 kt:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega16P8P, Atmega16/7 wm216, AT90pwm316, AT90usb162
32 kt:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250 ga328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/ PA,AT90can32
64 kt:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega/90b6,645 AT90usb647, AT90can64
128 kt:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 kt:
Atmega2560, Atmega2561

Laitteen kokoaminen.

Laitteen kytkentäkaavio on melko yksinkertainen. Vastusten arvoja voidaan vaihdella pienissä rajoissa. Laite saa virtansa ulkoisesta stabiloidusta virtalähteestä, jonka jännite on 12 volttia. Virtalähde on kytketty vastaavaan piirilevyn 2-nastaiseen liittimeen.


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

Laitetta koottaessa on yksi vivahde, jota ei pidä unohtaa.
Asennettaessa liittimiä levylle, 40-nastaisen pistorasian jalat, 29-37, on purettava pois, tai mikä vielä parempi, älä poraa levyyn reikiä ollenkaan näitä jalkoja varten. Alla olevassa kuvassa tämä paikka on ympyröity puna-vaaleanpunaisella värillä.

Arkistossa on sinetin ohella myös taululle levitettävä kuva osien puolelta (asennuskuva). Editoiminen sellaisella "naamiolla" muuttuu yksinkertainen menettely radiokomponenttien asennus kuvien avulla ("maski"). Tällaista mallia voidaan levittää levylle myös LUT-menetelmällä, minkä jälkeen se on lakattava, muuten se pyyhitään nopeasti.
059-atmega_doctor_plate_v2d_Sprint.rar – Signet for "ATmega FuseBit Doctor" Sprint Layout 6:ssa.
059-atmega_fusebit_doctor_V2e_PCB.zip - Signet ja maski "ATmega FuseBit Doctor" -tiedostolle "PDF".
Seuraavaksi asennamme levylle jumpperit ja radiokomponentit, asennamme pistorasiat ja lopulta saamme tämän täydellisen laitteen:

Nyt ei jää muuta kuin vilkkua mikro-ohjain ATmega8 ja laite on valmis!
059-atmega_fusebit_doctor_2.09.hex - Laiteohjelmisto "ATmega FuseBit Doctor".

Kyllä, kuten päämikro-ohjain paitsi ATmega8, voidaan soveltaa Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Sulakkeiden asennus mikro-ohjaimeen on esitetty alla olevassa kuvassa.

Sulaketavut: Lukitusterät = 0x3F; Korkea sulake = 0x D1; Alhainen sulake = 0xE1; Alanumero. Sulake = 0x00

Kuinka tarkistaa, oletko asettanut ne oikein ohjelmoijassa? Ne on asetettu eri tavalla eri ohjelmoijille. Joissakin se on kuten kuvassa, toisissa se on peilattu. Saadaksesi selville, mitä tehdä, sinun on asetettava ohjelmoijaan puhdas MK, jossa on sulakkeiden tehdasasetukset, ja lue vain sulakeasetukset. Seuraavaksi vertaa sulaketta lyömään "SPIEN". Jos sitä ei ole valittu ohjelmoijasta, sulakkeet on asetettu kuvan mukaisesti. Mutta jos valintaruutu on valittuna, kaikki sulakkeet asetetaan peilikuvalla. Eli jos kuvassa ei ole valintamerkkejä, ne sijoitetaan ja päinvastoin.

Tämä laiteohjelmistoversio on arkistossa, ja se on saatavana myös mikro-ohjaimille:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Mikro-ohjainten, joissa on 16kB ja 32kB muisti, laiteohjelmisto näyttää myös palautettavien mikro-ohjainten nimet.

Adapterit mikro-ohjaimille.

Kirjoittaja on kehittänyt kaksi sovitinta:
- 20-pinnisten Attiny26- ja 40-nastaisten Atmega8515-tyyppisten ohjaimien HVPP-ohjelmointiin.
- HVSP-ohjelmointiin 8- ja 14p-nastaisille mikro-ohjaimille suurjännitesarjaohjelmointimenetelmällä.
059-adapter_dip20-dip40 - Sovittimet 20- ja 40-nastaisten mikro-ohjainten ohjelmointiin DIP-paketeissa.
059-adapter_dip8-dip14 - Sovitin 8- ja 14-nastaisten mikro-ohjainten ohjelmointiin DIP-paketeissa.


Jos olet työskennellyt mikro-ohjainten kanssa jo jonkin aikaa, sinulla on todennäköisesti ollut virheellisiä fusebit-laiteohjelmistoja. Ehdotetun laitteen avulla voit palauttaa lukitun mikro-ohjaimen sulakkeet tehdasasetuksiin. Tietysti voit käyttää rinnakkaisohjelmoijaa näihin tarkoituksiin, mutta oletetaan, että minulla ei ole sellaista, ja minulla on pari estettyä ohjainta.

Juuri tänä aamuna töissä avasimme chipprog-ohjelmoijassa kaksi mega 8:aa. Näytti siltä, ​​että voisimme lopettaa tähän, mutta aina ei ole kallista ohjelmoijaa käsillä, etkä todellakaan halua koota rinnakkaista sellaista yksittäistä tapausta varten. Sitten päätin etsiä yksinkertaista laitetta, joka voisi elvyttää mikro-ohjaimen, jos sulakkeen laiteohjelmisto on väärä.
Näin törmäsin laitteeseen nimeltä "Atmega fusebit doctor". Kirjoittaja on Pole Pawel Kisielewski.

Sulakkeet, jotka voivat tukkia ohjaimen:
- CKSEL sulake pääoskillaattorin valitsemiseksi (ulkoinen oskillaattori valitaan, kun se puuttuu tai valitaan sisäisen erittäin alhainen taajuus);
- SPIEN peräkkäisen ohjelmoinnin kielto;
- RSTDISBL käyttämällä nollausnastaa lisä-I/O-linjana;
– aseta LOCK-bitit;
– muut, jotka häiritsevät peräkkäistä ohjelmointia.

Laitteen toimintaperiaate:

Syötämme piirilevylle 12 volttia, asetamme potilaan pistorasiaan, painamme START-painiketta ja sekunnin murto-osassa saamme toimivan mikro-ohjaimen. Jotta laite toimisi, sitä ei tarvitse kytkeä tietokoneeseen, eli mikropiiri voidaan avata jopa kentällä (jos 12V on käytettävissä).

Kun painat START-painiketta, laite yrittää parhaansa mukaan lukea potilaan mikro-ohjaimen allekirjoituksen. Kun allekirjoitus on luettu onnistuneesti, mikro-ohjaimen tyyppi määritetään tietokannasta ja tämän mikro-ohjaimen tehdasbittiasetukset palautetaan. Jos allekirjoitus on tuntematon tai mikro-ohjain tuottaa sen väärin, laite asettaa bitit tilaan, joka mahdollistaa sarjaohjelmoinnin. Kun sulakepalaa palautetaan, mikro-ohjaimen laiteohjelmisto pysyy ennallaan.
Siinä tapauksessa, että suojabitit on asetettu estämään mikrokontrolleria lukemasta/kirjoittamasta, kortilla on "ALLOW ERASE" -hygienia, jonka ollessa suljettuna laite "nollaa" mikro-ohjaimen kokonaan.

Indikaatio:
Laitteen toiminnan ilmaisemiseen käytetään kahta LEDiä:
Vihreä – potilas on parantunut onnistuneesti, sulakepalat on palautettu tehdasasetuksiin. Jos mikro-ohjain on "lukittu" (LockBits on käytössä), sulakebitit yksinkertaisesti tarkistetaan ja jos ne vastaavat tehtaan arvoja, vihreä LED syttyy.
Punainen – ongelmia sirun allekirjoituksessa, on mahdotonta lukea, onko pistorasiassa mikrokontrolleria tai eikö sellaista allekirjoitusta tietokannassa.
Vihreä vilkkuu - allekirjoitus on kunnossa, sulakebitit ovat virheellisiä, mutta niitä ei voida korjata, koska mikro-ohjain on "lukittu" (LockBits on kytketty päälle), mikro-ohjain on tyhjennettävä kokonaan (sinun on asetettava poistohyppykytkin - "SALLI POISTAA").
Punainen vilkkuu - allekirjoitus on kunnossa, mikro-ohjain "ei ole lukittu", mutta jostain syystä on mahdotonta palauttaa sulakebittejä.

Jos haluat saada tarkempaa tietoa "hoitoprosessista", kortilla on UART-lähtö. Lähetä tämä signaali terminaaliin ja saat "tulosteen" tehdystä.

Päätteen asetukset:
baudinopeus: 4800
pariteetti: ei mitään
databitit: 8
pysähdyskohdat: 1
kädenpuristus: ei mitään

Taulussa on kolme pistorasiaa 20-, 28- ja 40-jalkaisille "potilaille" kastekoteloissa. Jos sinun on "parannettava" toinen "potilas", levyllä on liitin adapterien liittämiseksi pistorasiaan mille tahansa tarvitsemillesi mikrokontrollereille. Laite tukee 106 erilaisia ​​tyyppejä AVR-mikro-ohjaimet.

Luettelo tuetuista ohjaimista ("lääkärin" onnistuneesti parantamat sirut on merkitty vihreällä):
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2 kt:
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
8 kt:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90,8pw,8b,8pw,8 A, Attiny87, Attiny88, AT90s8515, AT90s8535
16 kt:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega16P8P, Atmega16/7 wm216, AT90pwm316, AT90usb162
32 kt:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250 ga328P , Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/ PA,AT90can32
64 kt:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, 6Pga645, 6Pgaus 6, AT90usb647, AT90can64
128 kt:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 kt:
Atmega2560, Atmega2561
Jos olet palauttanut luettelosta ohjaimen, jota ei ole merkitty vihreällä, kirjoita siitä kommentteihin, niin merkitsen sen.

Laitekaavio:


Laite on melko yksinkertainen. Vastusten arvoja voidaan muuttaa (pienissä rajoissa, ilman fanaattisuutta)

Laitteen painetussa piirilevyssä on yksi tärkeä vivahde, joka on otettava huomioon laitetta koottaessa.
40k-nastaisen pistorasian jalkoja 29-37 (ne on merkitty kuvassa punaisella) ei tarvitse asentaa, ja on parempi olla poraamatta reikiä näille jaloille piirilevylle.


Kokoamme taulun, välähdämme ohjaimen ja aloitamme reanimoimisen, reanimoimisen ja uudelleen...

"Tohtorin" tärkein etu on sen autonomia. Sulakkeiden palauttamiseksi tarvitset vain itse laitteen. Ja kanssa uusin päivitys laitteeseen, kirjoittaja lisäsi myös täyden hallinnan UART-päätteen kautta tapahtuvaan lukituksen avausprosessiin.

Tiedostot:
Lataa projektitiedostot v2.11: (lataukset: 3172)
Arkistossa: laiteohjelmisto Atmega8, Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P, kuvaus, painetut piirilevyt laitteita ja sovittimia.
Lataa SMD-sovitinlevyt: (lataukset: 2062)(Tiny2313, Mega8, Mega16, Mega128)
Lataa SMD-sovitinkortti osoitteesta GetChip.net: (lataukset: 1654)(Tiny2313, Tiny13)

Melkein unohdin tärkeimmän asian - sulakkeet