<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> Oscilátor pro ATmega </title>
<meta name="keywords" content="odblokovat procesor AVR Atmel ATmega externí oscilátor">
<meta name="description" content="Jak odblokovat zaseknutý proceosr ATmega externím oscilátorem">
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
<link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
<script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
<!-- AUTOINCLUDE END -->
</head>
<body lang="cs">
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
<!-- ============== HLAVICKA ============== -->
<div class="Header">
<script type="text/javascript">
<!--
SetRelativePath("../../../../../");
DrawHeader();
// -->
</script>
<noscript>
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
<!-- ============== MENU ============== -->
<div class="Menu">
<script type="text/javascript">
<!--
SetRelativePath("../../../../../");
DrawMenu();
// -->
</script>
<noscript>
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
<!-- ============== TEXT ============== -->
<div class="Text">
<p class="Title">
Oscilátor pro ATmega
<br>
aneb
<br>
Jak odseknout zaseknutý procesor
</p>
<p class="Autor">
Milan Horkel
</p>
<p class="Subtitle">
Procesory řady ATmega mají ve svém konfiguračním slově možnost
nastavení oscilátoru. Když se, třeba i omylem, nastaví externí
oscilátor a ten není připojen, nejde procesor programovat přes ISP
rozhraní. Léčba spočívá v použití externího oscilátoru.
</p>
<p class="Subtitle">
<img width="640" height="344" src="OscATmega_files/image001.jpg"
alt="Pohled na oscilátor">
</p>
<p>
<a href="../Oscilátor pro ATmega.cs.pdf"><img class="NoBorder"
src="../../../../../Web/PIC/FileIco_PDF.ico"
alt="Acrobat"> PDF verze</a>
</p>
<h1> V čem je problém </h1>
<p>
Jádro pudla spočívá v tom, že se oscilátor procesoru používá i při
programování. Pokud je tedy nastaven externí oscilátor a ten není
připojen, nejde procesor naprogramovat. Stejná věc nastává, když je
nastaven krystalový oscilátor a není připojen krystal nebo externí RC
oscilátor a není připojen externí RC obvod.
</p>
<p>
Proč procesory nepoužívají při programování vnitřní oscilátor, který
tak jako tak mají, není jasné. Snad aby se při výrobním programování
mohla nastavit nejvyšší frekvence pro komunikaci.
</p>
<p>
<i>Tedy pokud máte procesor a ten vám nejde naprogramovat ještě
zdaleka nemusí být zničený ale jen špatně nastavený. Stačí si nedat při
programování pozor.</i>
</p>
<p>
Různé procesory mají různé možnosti oscilátoru. Je vhodné kouknout se
do katalogového listu.
</p>
<h1> Co zkusit jako první </h1>
<p>
Zaseklý procesor se oživuje asi v tomto pořadí (ne každý procesor
podporuje všechny možnosti):
</p>
<ul>
<li>Zkusíme smazání součástky (bulk erase) </li>
<li>Nastavíme nižší komunikační rychlosti programátoru </li>
<li>Připojíme externí krystal (na frekvenci nezáleží, nesmí být vyšší než procesor umí) </li>
<li>Připojíme externí RC článek (pokud tuto možnost procesor vůbec má) </li>
<li>Připojíme externí oscilátor </li>
<li>Použijeme programátoru s paralelním vysokonapěťovým programováním </li>
</ul>
<p>
Pokud se vám při experimentech s procesory povede zakázat
programování při nízkém napětí (low voltage programming), nezbude než
použít programátor, který podporuje programování s vysokým
programovacím napětím (high voltage programming, 12V). Tady nic jiného
nepomůže.
</p>
<h1> Externí oscilátor – jak na to </h1>
<p>
Vezmeme nějaký vhodný oscilátor, třeba ze starého mainboardu. Vybereme
takový, který nemá frekvenci vyšší než procesor dovede a zapojíme ho
podle schématu.
</p>
<p>
<img width="470" height="200" src="OscATmega_files/image002.png"
alt="Zapojení">
</p>
<p>
U některých oscilátorů může být potřeba čtvrtou nožičku připojit na zem
nebo na plus aby oscilátor kmital.
</p>
<p>
Dioda tam je proto, aby raději smrděla dioda než oscilátor při opačně
zapojeném napájení. Kondenzátor je blokovací, na hodnotě nezáleží.
Odpor ve výstupu je ochranný aby nebylo tak snadné oscilátor zničit.
</p>
<p>
Dráty na vývody použijeme s nějakými logickými barvami, aby se
nedaly poplést. Červená na plus, modrá na mínus a nějaká neutrální na
výstup. Na konce dáme konektory KONPC.
</p>
<p>
Provedení je zřejmé z obrázků. Pájíme součástky přímo na vývody
oscilátoru.
</p>
<p>
<img width="472" height="350" src="OscATmega_files/image003.jpg"
alt="Obrázek pájení">
</p>
<p>
Po ověření vystřihneme dírku do smršťovací bužírky, protáhneme dráty a
smrštíme nad zapalovačem. Nakonec vyřízneme okénko, aby byla vidět
frekvence oscilátoru.
</p>
<p>
<img width="472" height="252" src="OscATmega_files/image004.jpg"
alt="Pohled zhora">
</p>
<p>
<img width="472" height="286" src="OscATmega_files/image005.jpg"
alt="Pohled zdola">
</p>
<h2> Co je uvnitř plechovky </h2>
<p>
Pokud by vás zajímalo, co je uvnitř plechovky oscilátoru, tak tady je
do jedné vidět. V některých bývá integrovaný obvod, v jiných
jednoduchý oscilátor se 2 tranzistory. To kulaté vlevo je křemenný
výbrus (vypadá buď jako mléčné sklo nebo je úplně průhledný)
s napařenými stříbrnými elektrodami z obou stran výbrusu.
Frekvence je tím vyšší, čím je výbrus tenčí. Takhle vypadají krystaly
pro frekvence cca 1-25 MHz.
</p>
<p>
<img width="472" height="482" src="OscATmega_files/image006.jpg"
alt="Krystalový oscilátor - vnitřek">
</p>
</div>
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
<!-- ============== PATIČKA ============== -->
<div class="Footer">
<script type="text/javascript">
<!--
SetRelativePath("../../../../../");
DrawFooter();
// -->
</script>
<noscript>
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
</body>
</html>