. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Obnovení konfiguračních bitů obvodů AVR
4. června 2010 - 8:53 | Pandatron | Obnovení konfiguračních bitů obvodů AVR | Komentářů: 4  

Obnovení konfiguračních bitů obvodů AVR

Jednoduché zařízení pro obnovu továrního nastavených konfiguračních bitů mikrokontrolérů AVR umožňuje opětovné programování pomocí klasických ISP programátorů.

Při návrhu zařízení s mikrokontrolérem AVR je často potřeba změnit výchozí nastavení konfiguračních bitů (pojistek), jako je typ zdroje hodinového signálu či zapnutí nebo vypnutí specifických funkcí. Všechny obvody AVR mají možnost sériového programování v zapojení typu ISP (In-system programming), podporované například univerzálním programátorem PRESTO.

Nicméně v nastavení konfiguračních bitů lze snadno udělat chybu, což se často stává začátečníkům, ovšem výjimkou nejsou ani ostřílení programátoři. Jeho výsledkem bývá ohlášení chyby programátoru při dalším pokusu o přeprogramování obvodu.

Nejčastěji se tak děje při deaktivaci pinu RESET (konfigurační bit RSTDISBL), aby mohl být použít jako chybějící I/O, vypnutí možnosti ISP programování (bit SPIEN) nebo jen prostá změna zdroje hodinového signálu. Ve všech těchto případech se standardní sériové programování stává nefunkčním.

Zde uvedené zapojení, autorem označené jako ATtiny fusebit doctor (pojistkový doktor pro ATtiny) může obnovit nastavení konfiguračních bitů zpět, do továrního nastavení dle specifikace konkrétního obvodu Atmel. Obvod podporuje všechny nejčastěji používané mikrokontroléry řady ATtiny, které mají sériové programovací rozhraní - HVSP:

  • V 8-pinovém provedení: Attiny11, ATtiny12 , Attiny13 , Attiny15 , Attiny25, Attiny45, Attiny85 , Attiny22 , AT90s2323, AT90s2343 ;
  • V 14-pinovém provedení: Attiny24, Attiny44, Attiny84
  • V 20-pinovém provedení, s redukcí: Attiny261, Attiny461, Attiny861

Pro obvody řady ATmega je k dispozici druhé zapojení, uvedené v odkazech na konci článku.

Schéma zapojení
Obvod sám je velmi jednoduchý a jeho schéma je uvedeno na následujícím obrázku.


Obr. 1: Schéma zapojení

Jak je ze schéma patrné, neobsahuje žádné speciální ani jinak drahé součástky. Jeho základem je naprogramovaný mikrokontrolér ATTiny2313 (označen jako U$1), odpory, tranzistory a regulátor napětí +5 V (7805T).

K zapojení je pouze potřeba poznamenat, že programování mikrokontrolérů vyžaduje přítomnost napětí +12 V, které je potřeba dodat ze stabilizovaného adaptéru. Toto napětí je využíváno k inicializaci tzv. vysokonapěťového programování - HVSP (High-Voltage Serial Programming).

Rovněž bude "konfigurovaný" mikrokontrolér provozován při hodinovém taktu 4 MHz bez děliče (DIV8), což může znamenat mírný nárůst proudu.

Funkce obnovy konfiguračních bitů
Zařízení pro obnovu továrního nastavení konfiguračních bitů využívá specifikace HVSP programování. Jakmile dojde k zapnutí připojeného obvodu, je řídicím mikrokontrolérem vynuceno jeho přepnutí do režimu HVSP. Následně jsou z obvodu vyčteny základní informace o typu, sloužící k ověření jeho podpory. Po této operaci je zahájen proces vymazání obvodu, pokud je tak zařízení nastaveno pomocí propojek typu Jumper. Dalším krokem je přečtení Lock bitů a pokud nejsou aktivní, dojde k přepisu konfiguračních bitů do továrního nastavení. Následná kontrola ověří, zda byl proces úspěšný a výsledek oznámí uživateli pomocí dvou LED. Pokud došlo k nějaké chybě, opakuje zařízení celý proces vždy po 10s.


Obr. 2: Rozložení pinů pro HVSP

Obnovení konfiguračních bitů
Obnovení továrního nastavení konfiguračních bitů mikrokontroléru (tedy jeho léčba) začíná stiskem tlačítka START. O vše ostatní je již postará řídicí mikrokontrolér. Závěrečný stav je indikován pomocí dvou LED:

  • Zelená LED - Konfigurační bity jsou obnoveny. Pokud je zvolena funkce Lockbits, je jejich stav pouze překontrolován a pokud souhlasí, rozsvítí se tato LED.
  • Červená LED - Chyba při komunikaci s mikrokontrolérem. Obvod není možné přečíst, není přítomen, nebo jeho typ nesouhlasí s podporovanými obvody.
  • Blikající zelená LED - Obvod je připojen správně, ovšem přečtené pojistky nesouhlasí. Tento stav může nastat při volbě Lockbits, kdy jsou bity jen čteny a nejsou měněny.
  • Blikající červená LED - Typ připojeného obvodu souhlasí, komunikace funguje, ovšem z nějakého důvodu nebylo možné konfigurační bity změnit. Stav je znovu překontrolován po 10s.


Obr. 3: Fotografie sestaveného zařízení

Funkce propojek Jumper
Na desce jsou osazeny dvě propojky typu Jumper, označené jako "chip erase" a "unknown signature":

  • Chip erase - umožňuje vymazání celé programové paměti Flash připojeného obvodu. To je nezbytné v případě, že jsou aktivní Lock-bity, zamezující možnost zápisu bez předchozího úplného vymazání. Vymazání programové paměti je aktivované, když je Jumper spojen.
  • Unknown signature - Popis neznámého obvodu - jev velmi vzácný, ovšem ne zcela vyloučený. Může se tak stát například v případě, kdy došlo k vymazání nebo přepsání identifikace obvodu. Identifikace, kalibrace a další hodnoty nemusí být vždy pevně uloženy ve struktuře čipu a mohou tak být poškozeny, nebo zcela vymazány například v případě nestabilního napájecího napětí při programování apod. Obvykle je v takových případech čtena hodnota FF FF FF, přesto že čip pracuje správně a může být znovu přeprogramován.
    Pokud se tedy vyčtená identifikace neshoduje s databází podporovaných obvodů (včetně hodnot FF FF FF a 00 00 00), pak je možné zapsat do obvodu univerzální nastavení konfiguračních bitů. Univerzální konfigurace znamená, že bude obnovena funkce ISP (bit SPIEN) a funkce vstupního pinu RESET (bit RSTDISBL) mikrokontroléru. Volba oscilátoru nebude změněna. Poté bude možné mikrokontrolér přeprogramovat libovolným ISP programátorem, samozřejmě při případném použití vhodného externího zdroje hodinového signálu.

Upozornění: Nepoužívejte volbu Unknown signature s obvody ATtiny11 a ATtiny15!

Stáhněte si prosím Flash Player pro přehrávání videí.

Závěr
Soubory projektu (ve formátu Eagle 5.4.0), návrh desky s plošnými spoji (pdf, png), HEX a BIN soubor jsou ke stažení na konci článku. Aktualizovanou verzi firmware, s případnou doplněnou podporou dalších obvodů, naleznete na stránce autora konstrukce - Attiny fusebit doctor (HVSP).
Podobně je k dispozici i konstrukce pro obvody ATmega. Tu je možné nalézt na stránce Atmega fusebit doctor.

Odkazy & Download:
Domovská stránka autora
Attiny fusebit doctor (HVSP)
Atmega fusebit doctor

Eagle 5.4.0 project files - DOWNLOAD
Firmware V2 HEX and BIN - DOWNLOAD







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (4):

Zobrazit starší 30 dnů (4)...



Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PUSBIO4R - USB - 4x relé + 4x vstupy
Modul PUSBIO4R patří do skupiny nové řady USB – relé a USB – I/O převodníků. Moduly jsou vybaveny výkonovými relé a izolovanými vstupy. Pro ovládání slouží aplikace PUSBIO – Control Software.
Skladem od 735 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007