Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz

[es] :: Elektronika :: Mikrokontroleri :: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz

Strane: 1 2

[ Pregleda: 8818 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1651



+62 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz03.02.2012. u 16:02 - pre 148 meseci
A da li si ti sve dobro odradio vezano za display? Imao sam slicnih problema kod prvih pokusaja rada sa displayom, jednostavno imas neku max brzinu na kojoj LCD moze da trci...
Ako si Fuses postavio kako je receno (Ext.Crystal Full-Swing i CKDIV8 iskljuceno) ne vidim zasto ne radi... Ideja sam bez...
There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz03.02.2012. u 17:09 - pre 148 meseci
Nije ono da ne radi nego ne radi kako treba. Displej odradi svoje i kad je veća brzina ali je vrijeme zadrške uvijek puno veće nego je zadato. Ne znam na koji način da ispitam da li mcu radi druge stvari dovoljno brzo. Neki jednostavan programčić da nešto radi a da imam uvid koliko je to brzo.
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz03.02.2012. u 17:42 - pre 148 meseci
Da nisi koristio neke _delay() funkcije za koje nisi bas procitao dokumentaciju detaljno :)
Oce to da brljavi (npr. u avrgcc-u) ako ne obratis paznju...

Ako si nasao neki stariji program ili primjer (stariji moze da znaci i samo par mjeseci stariji), a kompajlirao ga sa najnovijim avrgcc-om moguce je da su _delay() funkcije u medjuvremenu promjenjene, pa ono sto je ranije radilo vise ne radi kako treba.

[Ovu poruku je menjao Odin D. dana 03.02.2012. u 20:17 GMT+1]
 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz03.02.2012. u 20:24 - pre 148 meseci
Bruka, mcu cijelo vrijeme radi sa internim oscilatorom na 8MHz. Izgleda da se osigurači ipak moraju upisati u mcu ali s obzirom na prethodno iskustvo volio bih da ne mora tako. To što sam ja mijenjao osigurače a nisam ih upisao u mcu nije izgleda ni imalo efekta i kad ih očitam iz mcu to izgleda kao na slici. Postavio sam i u kompajleru interni oscilator na 8MHz i sad LCD fino radi promjenu na lcd-u svakih 8 sekundi kad uključim 'Wait 1".
Kao što sam na početku napisao kućište je tqfp i veliki je problem skinuti ga. Bojim se da ponovo ne promašim sa postavkama osigurača pa da mi zablokira. Postoji li neki jednostavan način da mu se promijenu osigurači, odnosno vrate na početno stanje ako zablokira?

Prikačeni fajlovi
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz03.02.2012. u 22:14 - pre 148 meseci
Citat:
kan042: Izgleda da se osigurači ipak moraju upisati u mcu


?!?!?!?!

a kako si mislio da fuse bitovi uticu na rad mcu-a ako ih ne upises u mcu ?!

problem sa pogresnim fuse bitovima je ako ukucas fuse bit u mcu da korist externi kristal nece moci "obicnim" programatorom da se vise upuca u njega novi firmware ako nije okacen externi kristal, to tebe realno ne tangira posto vec imas externi kristal....

ako upucas recimo fuse bitove koji kazu da imas externi oscilator, onda jeli ne mozes da upucas vise firmware ako nemas okacen externi oscilator. Externi oscilator napravis za prvu pomoc sa ne555 i par kondova i opet mozes da povratis cip .. isto tako ako ugasis ISP bit vise neces moci da ga upucavas obicnim ISP programatorom (usbasp i ekipa)

moja preporuka - kupis AVR DRAGON (intenzivno preporucuje, alatka ubija kako dobro radi), mocices da debagiras program direktno u avr-u, mocices da programiras kako oces i uvek mozes da upucas nove fuse bitove (njega bole uvo sta je tamo on uvek moze da upuca nove bitove u avr)...

postoji jeftinije resenje (dragon je oko 50eur) a to je da napravis sam avr fusebit doctor

http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/
http://www.instructables.com/id/AVR-Attiny-fusebit-doctor-HVSP/
http://www.radiolocman.com/shem/schematics.html?di=65084

fusebit doctor moze da upuca isto kao dragon bilo koje fuse bitove u bilo koji avr bez obzira sta si upucao u njega pre toga


 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz03.02.2012. u 23:19 - pre 148 meseci
Ne znam, u početku sam mislio da osigurače treba upisati u mcu a poslije sam nekako pogrešno shvatio da je dovoljno postaviti osigurače u programu te da će uređaj raditi s tim postavkama a opet će se moći naknadno mijenjati. Pokušaću još jednom pa bih volio da riješim još jednu nejasnoću. U kalkulatoru, za 'Full swing Crystal Osc.' sa vremenom od 65ms postoje 3 mogućnosti. Kakva je razlika je među njima i šta izabrati?

Hvala za preporuku, ovo mi je još uvijek usputni hobi i Dragon mi za sad mi nije nužan. Pogledaću malo ovaj 'AVR Fusebit doctor'
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 01:18 - pre 148 meseci
Citat:
kan042:  U kalkulatoru, za 'Full swing Crystal Osc.' sa vremenom od 65ms postoje 3 mogućnosti. Kakva je razlika je među njima i šta izabrati?



Citat:
AVR Tutorial - FUSES:
The Startup Time is just how long the clock source needs to calm down from when power is first applied.
Always go with the longest setting 14CK + 65ms unless you know for a fact your clock source needs less time and 65ms is too long to wait.

By default, chips that come from the factory have the Internal 8 MHz clock with 14CK + 65ms Startup.


Dakle, startup time je vreme koje ce mcu cekati pre nego pocne da radi kada mu das struju. To vreme mcu ceka da se oscilator "stabilizuje". Ako si nekada gledao kako izgleda kada pocinje da radi oscilator, posebno onaj sa kristalom i 2 konda, on prvo osciluje na frekvenciji nekog od svojih harmonika i sa malim naponom i polako se amplituda povecava a frekvencija priblizava rezonantnoj frekvenciji kristala i tek posle nekog vremena (zavisi od kapaciteta kondenzatora, tipa kristala ..) ta frekvencija postaje "dobra" odnosno "stabilna". ako bi mcu odma krenuo da radi brljavio bi u pocetku zato sto niti ima dovoljnu amplitdudu na oscilatoru niti ima tacnu frekvenciju, zato postoji startup time koji mcu ceka. Ako ti znas npr da ce tvoj oscilator da bude stabilan za 4ms ti odaberes ono 4.1ms, ako imas neki super dobar oscilator koji odma radi kako treba ili te bas briga za brljanje u startu - ti stavis 0. Najsigurnije je 65ms posto za to vreme sigurno i obican RC oscilator zaosciluje stabilno.



Citat:
kan042:Hvala za preporuku, ovo mi je još uvijek usputni hobi i Dragon mi za sad mi nije nužan. Pogledaću malo ovaj 'AVR Fusebit doctor'


zato i stavih fuse doctor pored dragona. Dragon razbija, ja sam se mucio sa usbasp-om neko vreme a onda mi je kolega sa foruma (fala jos jednom) doneo dragona iz jevrope, to je pesma za raditi :D ... taj fuse doctor je zgodno imati ako nemas dragon posto se njima lako resetuju fuse bitovi ako nesto zabrljas :) ... u svakom slucaju, uvek kada upucavas fuse bitove u atmel, zapisi koje si fuse bitove upucao tako da ako mcu nece da se starta znas kako da ga opravis (ako mu na primer kazes da imas externi oscilator, onda da bi promenio vrednosti samo zakacis takav oscilator i sve sljaka :)


 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 09:28 - pre 148 meseci
Citat:
bogdan.kecman: Dakle, startup time je vreme koje ce mcu cekati pre nego pocne da radi kada mu das struju. To vreme mcu ......

Hvala, ovo si mi već dobro objasnio i to mi je sad jasno nego sam vidio da opet ima 3 verzije a razlika je u prvom CK i ne znam šta on znači. I u tutorijalu se navodi samo dio 14CK + vrijeme. Nije bitno za ovu situaciju ali volio bih da znam šta znači npr.
258 CK/14 CK + 65 ms ili 16K CK/14 CK + 65 ms

Ovako izgleda u kalkulatoru

Prikačeni fajlovi
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 12:01 - pre 148 meseci
CK je jedan clock, 1 takt, 1 "otkucaj srca" za mikrokontroler.
Mikrokontroler radi u taktovima, a taktove generise oscilator (bilo unutrasnji bilo spoljasnji).
Sto je oscilator brzi - to takt traje krace.
Oscilator od 8MHz generise 8 miliona taktova u sekundi, a oscilator od npr. 16MHz generise 16 miliona taktova u sekundi.
Zato mikrokontroler na koji stavis oscilator od 16MHz duplo brze radi od onoga na kome je oscilator od 8MHz.
To ti je isto kao clock PC procesora - sto vise podizes clock procesor brze radi.

Prema tome, npr. za oscilator od 20MHz koji pravi 20 miliona taktova u sekundi, jedan takt (clock, CK...) traje:

TCLK = 1 / 20 000 000 Hz = 0,00000005 s = 50 ns (nano-sekundi).

E sad, da bi obavili jednu masinsku procesorsku operaciju nekim procesorima (mikrokontrolerima) treba recimo 2,3,4,.. ili vise taktova (to zavisi od hardverske konstrukcije procesora), pa onda proizvodjaci kada u dokumentaciji napisu 'clock' ili 'ck' ili nesto drugo ponekad podrazumjevaju ustvari da je to ovo 2, 3, 4... puta duze vreme (potrebno za operaciju) nego onaj "sirovi" takt sto ga pravi oscilator.

Kod savremenih mikrokontrolera sve je to jos vise zbrljano, zato sto oni uglavnom spoljni ili unutrasnji oscilator koriste samo kao bazu od koje ce mnozenjem, djeljenjem i kojekakvim glavatanjem napraviti sami sebi takt koji im treba - tako da kad vidis da je na neki mikrokontroler nakacen oscilator od 9MHz ne mora da znaci da mu je CK = 1/9MHz, moze biti bilo sta.
 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 13:26 - pre 148 meseci
Ovo sa klokovima mi je uglavnom jasno ali ne znam šta to ustvari znači u kalkulatoru i koju opciju je najbolje izabrati. Malo je zbrkan i ovaj ATMEGA88 20AU jer se kao takav ne navodi nigdje u datasheet-u. Pretpostavljam da trebam u kalkulatoru izabrati ATmega88 bez sufiksa.
Imam još par dilema. Ako ispravno unesem osigurače i upišem program u ,da li ću moći kasnije da unosim izmjene programa? Za sad sam napisao samo osnov programa, onako više za probu, i još ću sigurno dosta toga dodavati i mijenjati.
I na kraju da li da prvo upišem program ili osigurače?
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 13:36 - pre 148 meseci
Citat:
kan042: Ako ispravno unesem osigurače i upišem program u ,da li ću moći kasnije da unosim izmjene programa?

Moci ces sve dok ne setujes LOCK fuse-ove (osigurace kako ti kazes).
Takodje, gledaj da ne prebacis preko fuse-ova mod za programiranje u neki koji tvoj programator ne podrzava, pa poslije neces moci da ga dozoves pameti sa tim programatorom, te ces morati da se dovijas na druge nacine...

Citat:
kan042: I na kraju da li da prvo upišem program ili osigurače?

Trebalo bi da je svejedno.
Osigurace podesi samo jednom kako treba i samo jednom ih upisi, nema potrebe da ih upisujes svaki put kada mijenjas nesto u programu.
Program ces obicno upisivati vise puta, kako budes ispravljao bug-ove i vrsio izmjene.
 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 14:17 - pre 148 meseci
Hvala Odine. Iskreno, malo mi je zbrkana terminologija jer ne koristi svako istu a često ne mogu sa sigurnošću da zaključim šta je pisac htio da kaže. Osigurači se odnose na Fuse bit i nadao sam se da će biti razumljivo. Kad kažeš Lock Fuse-ove pretpostavljam da misliš na gornji red osigurača.
I dalje mi nisu jasni brojevi (boldirani) kod određivanja Clock-a u kalkulatoru a odlučio sam se za '16K CK/14 CK + 65 ms' po sistemu eci-peci-pec ....

Probaću upisati ove osigurače pa ako neko vidi grešku neka me ispravi.

Prikačeni fajlovi
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 17:57 - pre 148 meseci
Citat:
kan042: I dalje mi nisu jasni brojevi (boldirani) kod određivanja Clock-a u kalkulatoru a odlučio sam se za '16K CK/14 CK + 65 ms' po sistemu eci-peci-pec ....



16K CK + 65ms

Znaci da kada dodje struja oscilator ce da krene da osciluje
onda ce mcu da izbroji 16000 taktova tog oscilatora (16K CK) pa ce onda da ceka 65ms i tek onda ce poceti da radi (moguce da ce prvo da ceka 65ms pa onda da broji 16000 taktova, nije preterano bitno koji je redosled)

Dakle te dve cifre definisu koliko ce mcu da "ceka" pre nego krene da radi, kao sto sam ti rekao odaberes "najduze vreme" (najvise CK + najvise ms) i bas te briga. Ako znas tacno da ce tvoj oscilator da se stabilizuje ranije .. a ti smanjis to

el sad jasno?


Citat:
kan042:misliš na gornji red osigurača


Gornji red ne pipaj ako ne znas "tacno" sta radis :D

Sve te "*lock*" fuse bitove ne pipaj posto se oni koriste kada oces da "zakljucas" mcu (na primer napravio si projekat, finishirao ga i oces da ga prodas, onda zalokujes mcu na njemu i klijent onda kao ne moze da procita sadrzaj i da ga uduplira - na zalost za sitnu kintu to kinezi razvale tako da je zastita pateticna a samo sebi pravis problem) ...
 
Odgovor na temu

kan042
Nebojša
Mostar

Član broj: 175364
Poruke: 352
*.dynamic.telemach.ba.



+2 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 18:19 - pre 148 meseci
Raaaaadiiiiiiiiiiiiiiiiiiiiiiiii!!!!

Bogdane veliko hvala i ostalima naravno. Naučio sam nešto novo a sklop radi i to sve na 20MHz. Sad mogu da se igram sa programiranjem i još ponešto naučim. Ako nešto zapne, javit ću se opet i nadam se dobiti ovako dobru podršku.

Hvala još jednom!
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz04.02.2012. u 20:26 - pre 148 meseci
pamti pa vrati :D .. najbolji nacin da utvrdis gradivo je da ga preneses nekom drugom, ako taj drugi lako svati znaci da si ga i ti dobro svatio
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: ATMEGA88 problem sa podešavanjem Fuse za kristal 20MHz

Strane: 1 2

[ Pregleda: 8818 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.