0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeKako oživeti mikrokontrolerje AVR (3)

    Kako oživeti mikrokontrolerje AVR (3)

    Proti koncu leta 2009 smo v revijah SE številka 169 in 170 objavili shemo naprave, ki lahko »oživi« AVR mikrokontrolerje v primerih, ko jih na običajen način ni več mogoče programirati. Problem največkrat nastane takrat, ko nepazljivo sprogramiramo takšno kombinacijo fuse bitov, ki serijskem ISP programatorju ne dovoli več dostopa do mikrokontrolerja. Enako se lahko zgodi tudi med čisto »običajnim« programiranjem, če kakšna motnja zmoti normalno komunikacijo med programatorjem in mikrokontrolerjem.

    Slike ni

    Slike ni

    Takšen mikrokontroler postane »mrtev« in ga ni mogoče več programirati niti brisati z ISP programatorji, ki jih običajno uporabljamo (Proggy, USBasp, Sample electronics, STK500…). Vendar je mogoče večino takšnih mikrokontrolerjev ponovno oživeti, če jim fuse bite nastavimo v standardno (privzeto) kombinacijo. Za takšno delo pa potrebujemo programator, ki omogoča postopek visokonapetostnega programiranja mikrokontrolerjev. Vse AVR mikrokontrolerje je mogoče programirati na ta način: najprej se na Vcc priključek mikrokontrolerja priključi napajanje 5 V, potem pa na reset priključek pripeljemo »visoko napetost« 12 V. Takoj zatem se med programatorjem in mikrokontrolerjem vzpostavi serijska (pri manjših izvedbah mikrokontrolerjev, 8 in 14-pinskih ohišjih) ali paralelna komunikacija (pri mikrokontrolerjih v večjih ohišjih). Obstajata dva protokola za vzpostavitev paralelne komunikacije, ki je odvisna od vrste mikrokontrolerja, ki ga želimo oživeti.

    V skladu s temi zahtevami smo leta 2009 razvili napravo za oživljanje mikrokontrolerjev, ki je delovala kot dodatek našim razvojnim sistemom MiniPin in MegaPin (slika 9). V osnovi je ta naprava le tiskano vezje z več različnimi podnožji, v katera se v odvisnosti od izvedbe ohišja namestimo mikrokontroler, ki ga je potrebno oživeti, poleg podnožij pa je na ploščici še DC-DC pretvornik iz 5 V na 12 V, nekaj drugih elektronskih elementov in konektorji. Krmiljenje delovanja tega vezja izvaja mikrokontroler ATmega8515 ali kakšen podoben, ki se sicer nahaja na razvojni ploščici MiniPin ali MegaPin. S tipkami, LCD prikazovalnikom in interaktivnim programom izberemo vrsto mikrokontrolerja, ki ga želimo oživeti in ukaz, ki naj bi se izvedel.

    Slike ni

    Več podrobnosti o načinu delovanja in uporabi programa boste našli v omenjenih člankih. Leta so tekla in »obujevalec« nas je navduševal z možnostjo oživljanja »umrlih« mikrokontrolerjev – osebno nisem naletel niti na enega takšnega, ki ga ne bi bilo mogoče oživeti. To nas je spodbudilo k razmišljanju o tem, da bi ga morda lahko predelali v samostojno napravo. V ta namen smo na prvotno ploščico tiskanega vezja za oživljanje dodali še krmilni mikrokontroler, štiri tipke (TP1-TP4), signalno LED diodo LED1 in konektor za priključitev alfanumeričnega LCD prikazovalnika z 2×16 znaki (slika 10).

    Odločili smo se za bolj zmogljiv mikrokontroler, ATmega162, saj je v ATmega8515 zmanjkalo prostora za programske izboljšave. Dodali smo še USB konektor, prek katerega se celotna naprava napaja iz USB vodila osebnega računalnika (ne potrebuje drugega vira napajanja) ter integrirano vezje FT230 za ponovno programiranje krmilnega mikrokontrolerja prek bootloaderja. Ko smo začeli s to predelavo starega izdelka nam je bila prvotna zamisel ponuditi res majhen izdelek, ki bi znal samodejno „oživeti“ mikrokontroler na podlagi njegovega prebranega podpisa (signature). Za takšno delovanje bi bila povsem dovolj le ena tipka (TP4) in ena LED dioda (LED1). Kasneje smo se vseeno odločili zadržati in celo izboljšati obstoječe funkcije starega interaktivnega programa, za kar je bilo seveda potrebnih več tipk (TP1-TP4) in LCD prikazovalnik. Uporaba mikrokontrolerja z več programskega pomnilnika nam je omogočila tudi to, da smo vanj istočasno lahko shranili oba programa, uporabnik pa lahko s kratkostičnikom J1 določi, katera različica naj se izvaja.

    V nadaljevanju bomo natančno opisali delo z napravo za oživljanje mikrokontrolerjev. Ne bomo opisovali samega programa, zato za bolj podrobna pojasnila o načelih njegovega delovanja bralce ponovno opozarjam na vsebino omenjenih člankov. Vsekakor pa si moramo ogledati razporeditev komponent na ploščici tiskanega vezja; razpored ključnih komponent je prikazan na sliki 11. Podnožja, označena s predznakom DIP, so namenjena priključitvi mikrokontrolerjev, ki naj bi jih „oživeli“. Za 20-pinske in 40-pinske mikrokontrolerje sta predvideni po dve podnožji, DIP20A in DIP20B ter DIP40A ir DIP40B. V podnožji z oznako A se priključijo mikrokontrolerji, ki imajo priključke za napajanje nameščene diagonalno (priključka 20 in 10, oziroma 40 in 20). V podnožji z oznako B lahko namestimo tiste mikrokontrolerje, ki imajo priključke za napajanje nameščene na sredini (5,6 in15,16, oziroma 10,11 in 30,31). Pri podnožjih DIP8, DIP14 in DIP28 glede priključitve ne bi smelo biti dvoma.

    Kako oživeti mikrokontrolerje AVR (3)

    AX elektronika d.o.o.

    www.svet-el.si

    2014_SE223_33

    Ozivljavanje_AVR(3)
    SE223_33-40