SKDATM16

zdravím, postavil jsem si programátor SKDATM16 (z knihy Práce s mikrokontroléry AVR ATmega16). Fungoval na první zapojení ale potom jsem omylem změnil programovatelné propojky MCU a nastavil jsem tam nějakou blbost. A od té doy už se mnou odmítá komunikovat. Nevíte co s tím? Dík za odpovědi.

:arrow_right: administrator: přesunuto z "AVR"

Asi si si nastavil zdroj clock na externy (byva to 90% pripadov zleho nastavenia FUSE).
Procesor teraz caka, v akom rytme ze to ma vykonavat instrukcie.
Skus pripojit k MCU nejaky zdroj externych hodin napr 100kHz s 555, alebo nieco podobne.
Alebo procesor vytiahni a daj niekomu preprogramovat v paralelnom programatore.

Ale já mám připojenej vnější krystalový oscilátor. V té knížce je ale napsaný že těma propojkama dá nastavit např. vnější RC oscilátor. No ten je připojenej jen na XTAL1. Tak jestli jsem to omylem nastavil na to, tak to bude asi tím.

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvek se necituje!

Nazdavam sa, ze ty nemas pripojeny externy krystalovy oscilator
ale externy krystal. Ale mozem sa mylit,
Si si isty?
Externy krystalovy osilator ma zvycajne styri nozicky, ma 2 piny na napajanie, jeden vystupny s frekvenciou a zvycajne ma este enable)

Externy krystalovy oscilator sa pripaja iba na pin Xtal1. Pin Xtal2 je nezapojeny (mozno je Xtal1 a 2 prehodeny, treba si to pozriet presne v datasheete)

Najpravdepodobnejsie mas pripojeny k procesoru externy krystal (dve nozicky), ten ale nie je oscilator a sam o sebe nic nerobi. Interny oscilator v procesore - ak je aktivovany - vie tento krystal budit, tym ho rozvybruje na dopredu danej frekvencii a tak sa generuje clock pre procesor. Ak si vsak pomocou FUSE vypnes interny oscilator, procesor nema byt ako taktovany a tak stoji a caka kedyze mu na jeho clocku nastane nejaka EXTERNA zmena. Tu treba zabezpecit EXTERNYM oscilatorom, ktory kmita sam o sebe a nepotrebuje na to dalsiu spoluucast procesora. Procesor si z neho iba berie tu vystupnu frekvenciu. Cez FUSE nastavis, aky zdroj pre clock sa ma pouzit. Ci interny osilator RC, alebo interny oscilator spolupracujuci s vonkajsum Xtalom, alebo vonkajsim RC clankom, alebo vonkajsim rezonatorom (to su vsetko pasivne suciastky, ktore sami o sebe negeneruju nic) alebo externy zdroj signalu generovany niekym inym a nie samotnym procesorom. Ak si FUSE prepnes na poslednu moznost (kazda z moznosti ma niekolko modov), musis do procesora priviest od niekal hodiny.
Mohol si ho samozrejme prepnut i na RC oscilator, ako pises, treba vyskusat obe moznosti. I RC, ak nepomoze tak externy oscilator.

Ale mozno sa mylim a mas na doske krystalovy oscilator - ako pises - a v tomto to nie je.
Tak potom plati moja rada B) z predchadzajuceho prispevku a daj procesor do programatora.

:wink:

jj…mám tam teda externý krystal (krystal a kondenzátory proti zemi). Takže jestli dobře chápu tak pokud jsem tam nastalil externý rezonátor tak prostě potřebuju něco co samo o sobě kmitá a připojit to na XTAL1?

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvek se necituje!

Ak si tam nastavil externy keramicky rezonator, tak tam mas dat externy rezonator. Ale to keby si vedel :slight_smile:
Keramicky rezonator tiez nie je samostatny oscilator, ale svojou povahou je v tomto pripade skoro totozny s krystalom.

Najlepsie bude, ked ten Xtal vyberies i s tym kondikom co mas na pine XTAL1 (nemam s tym skusenosti, tak neviem, ci by to slo i s nimi) a na pin XTAL1 privedies signal z nejakeho samostatneho generatora. Na presnosti a stabilite v tomto pripade nezalezi. Vyrobis si ho napriklad z 74132, alebo pomocou NE555, alebo pomocou OZ. Ktore zapojenie ti je blizsie a co mas zrovna po ruke. Ak mas nejaky laboratorny generator, mozes i z neho. Len daj pozor, aby si nepresiahol dovolenen napatie. Schemy vygooglis, alebo najdes v katalogovych zapojeniach suciastok. Frekvenciu maj aspon 100kHz.
Nastavenie FUSES a pripojenie zdroja CLK najdes v kapitole
“System Clock and Clock Options” pre Tvoj procesor.

a stačil by na to taktování astabilní klopný obvod vytvořený z invertoru se schmitovým klopným obvodem, rezistoru a kondenzátoru?..nebo potřebuju něco lepšího? Jde mi totiž jen ty propojky změnit na externý krystal.

Stačí to s tim invertorem. A taktovací frekvenci opravdu aspoň těch 100kHz, lépe aspoň 500kHz

Cau Raptor ,mam postaveny tento isty programator co aj ty ,len sa mi v programe SDKATM16 nechce prihlasit ,nevies ,cim to moze byt?vsetky napatia mi sedia a v rs debug som aj nastavil COM1 ,vsetky vystupy a provest inicializaci ,ale nejako mi to nechce prihlasit to mcu…

čau…těžko říct. Máš to dobře sestavený? Já měl docela problém s těma SMD součástkama. Fakt dost blbě se to pájí. Jinak já to rozjel napoprvé. Jen jsem si já blbec tam potom nastavil externí oscilátor tak se mě to už potom nechtělo taky přihlásit.

zostavene by som to mal mat dobre ,len nikdy nevies a smd by tiez nemali byt zle ,som bol prekvapeny ako sa mi ich podarilo naspajkovat…dnes som zistil ,ze na resete mcu pri odskrtnutom rts v rs debugu ma byt minimalne 4,5 volta a ja tam mam iba 0,5 volta ,neviem ,co to moze robit…medzi seriovym portom a resetom je iba 10kilovy odpor a Zenerka ,ale ineho typu aka mala byt ,tak idem za chvilu odspajkovat tu Zenerku a pozriet ,ci je ta Zenerka fakt na 4,7V a nie nejakej inej hodnoty…inak dik ,ze si odpisal…

takze tu Zenerku som pozeral a je dobra ,cize v tom to nebude…a tu su vsetky hodnoty co som nameral ,pri napojeni na seriovy port bez zapnuteho rs debugu ,MOSI(pin6) = 0V ,SCK(pin8) = 5,08V ,RESET(pin9) = 3,92V a Ucc na IO1 mam 7V ,podla ozivenia malo byt -7V…pri zapnuti rs debugu a linky odskrtnutia TXD bolo SCK = 0V ,pri odskrtnuti aj DTR bolo MOSI = 0V ,a pri odskrtnuti aj RTS bol RESET = 0,15V ,ale MOSI skocilo na 5,08V a Ucc IO1 zostalo 7V…a ,ked som zaskrtol “Provest incializaci” ,tak MOSI padlo na 0V ,SCK skocilo na 5,08V a RESET na 3,92V…tie hodnoty su trocha skreslene ,lebo baterka nema presne 9V ,ale 8,5V takze tak…pri tych skokoch napati ani neviem ,ktore by mohlo byt to chybne ,mohol by si mi to prosim ta pomerat na svojom programatore tak ako je to vyssie?a napisat mi to sem?velmi by si mi pomohol…

Ten programator som nikde nevygooglil.

Ake mas napajanie procesora? To aky cip (IO1) napajas 7V?
Napajanie procesora musi byt +/-5V.

noo ,neda sa vygooglit ,je iba v knihe ATmega16 od Matouska…a napajanie procesora mam 5V a napajanie na TL062 ,ktory je vo funkcii prevodnika RS232 je 7V…inak nevies ,ci to moze byt v tom ,ze musim mat reset 4,5V(tak je to pisane v knihe) a potom by sa mi cely procesor nastartoval?

tak jsem teda provedl měření…jestli ti to teda pomůže…zapnul jsem napájení a zapojil sítový kabel…vymazal jsem flash pamět a vypnul ovládací program…reset=-0,62V, sck=5,01V, mosi=5,02V, miso=0V.

Ja neviem, ale to je ako podla tej schemy normalne, ze na resete je -0,62V?
Nesvedci to skor o tom , ze uz je aktivna ochranna dioda v cipe a robi co moze?
Povedal by som slovami klasika “prapodivno uchvatne” :slight_smile:

no v té publikaci od matouška je napsaný že napětí na resetu musí být v rozmezí -0,7V až 5V…takže asi v poho…

Raptor este jedna otazka ,isiel ti ten programator na prvy raz?a nebola vobec chyba v navrhu plosaku?dik za rychlu odpoved…

Stejný problém jsem měl také, R1 je prostě moc velkej (10k) takže jsem místo R1 jedna dal odpor 100ohmů a bylo po problému.

Mohli byste nam sem hodit schema? mam takovy divny pocit, ze to bude neco na principu ponyprogu(ktery lezi vedle me na stole :slight_smile:). Potom dat misto odporu 10k jen 100R by nebyla uplne nejvhodnejsi velikost v pripade, ze to treba budi tranzistor… Kdyz nam hodite zapojeni, muzem se na to pak podivat :wink:
Dat nekam soucastku 100x mensi ve stylu pokus omyl by se taky nemuselo vyplatit :wink: