mega8 belso oszcilator
-
Vendég
mega8 belso oszcilator
Sziasztok!
A kovetkezoben szeretnem a segitsegeteket kerni:
ATmega8 tipusu avr-re szeretnek rakni egy (32768Hz) orakvarcot.Ez szabna meg az orajelet a tmer -nek.
A kerdesem :
Nem tudom,hogy lehetseges az,hogy hasznalni az avr beepitett oszcillatorat es az XTAL labakon az orakvarcot egyszerre?
A kovetkezoket olvastam az adatlapban:
Ha belso RC osc. akarok hasznalni,akkor CKOPT fuse UNPROGRAMMED kell legyen
Ugyanakkor CKOPT fuse 0 (PROGRAMMED) kell legyen belso kondenzatorok bekapcsolasahoz: TOSC1,2.
Namost ha nem kapcsolom be a belso kondikat es kulso kondikat rakok,akkor mukodni fog?
Koszi elore is!
A kovetkezoben szeretnem a segitsegeteket kerni:
ATmega8 tipusu avr-re szeretnek rakni egy (32768Hz) orakvarcot.Ez szabna meg az orajelet a tmer -nek.
A kerdesem :
Nem tudom,hogy lehetseges az,hogy hasznalni az avr beepitett oszcillatorat es az XTAL labakon az orakvarcot egyszerre?
A kovetkezoket olvastam az adatlapban:
Ha belso RC osc. akarok hasznalni,akkor CKOPT fuse UNPROGRAMMED kell legyen
Ugyanakkor CKOPT fuse 0 (PROGRAMMED) kell legyen belso kondenzatorok bekapcsolasahoz: TOSC1,2.
Namost ha nem kapcsolom be a belso kondikat es kulso kondikat rakok,akkor mukodni fog?
Koszi elore is!
-
Robert-
Belső osc: FUSE biteknél egyszerűen beállítod 1-4-8 MHz-re (Internal clock).
Ekkor a XTAL lábon NE legyen semmi.
Ha a Timer2-n az órát használod akkor ezeken a lábakon _csak_ a kvarc lehet, kondi nem!
A Belső OSC nem igényel külső kondenzátort!
DE: a Belső OSC nem jó hőfokfüggésű és a névlegestől +/- 5 %-l is eltérhet akár. Sorosport felé (UART) jellemzően a 4MHz belső Osc a legjobb, és 9600 bps felett ne akard használni (Akkora szórás van, hogy a PC sorosporttal sem tud kommunikálni!).
Ekkor a XTAL lábon NE legyen semmi.
Ha a Timer2-n az órát használod akkor ezeken a lábakon _csak_ a kvarc lehet, kondi nem!
A Belső OSC nem igényel külső kondenzátort!
DE: a Belső OSC nem jó hőfokfüggésű és a névlegestől +/- 5 %-l is eltérhet akár. Sorosport felé (UART) jellemzően a 4MHz belső Osc a legjobb, és 9600 bps felett ne akard használni (Akkora szórás van, hogy a PC sorosporttal sem tud kommunikálni!).
-
Vendég
re:
Koszonom a valaszt!
Lehet egyszerre belso oszcillator es a timer2 -nek a kulso orakvarc?
En a FUSE beallitasokbol ugy vettem ki,hogy nem lehet...
Udv!
Lehet egyszerre belso oszcillator es a timer2 -nek a kulso orakvarc?
En a FUSE beallitasokbol ugy vettem ki,hogy nem lehet...
Udv!
-
Vendég
re:
Koszonom a valaszt!
Ebbol kiderult,hogy nem lehet belso egyszerre oszcillatort es a timer2 -nek orakvarcot hasznalni:(
Udv!
Ebbol kiderult,hogy nem lehet belso egyszerre oszcillatort es a timer2 -nek orakvarcot hasznalni:(
Udv!
-
Vendég
re
Szia!
Mar le is mondtam arrol,hogy mega8 -nal egyszerre timer2-kulso-kvarccal es belso oszcilator orajel.
Orommel olvasom,hogy lehetseges,igy egesz picibe ossze tudnam hozni a dolgot;-)...az az igazsag hogy nem regen kezdtem avr-ekkel foglalkozni, avr-gcc -t hasznalok,es elegge jol haladok:-)
De ugyanakkor nem ertem,hogy hogy kell beallitani a fuse biteket ahhoz hogy az emlitett dolog mukodjon?
Varom valaszod..
Nagyon koszonom !
Mar le is mondtam arrol,hogy mega8 -nal egyszerre timer2-kulso-kvarccal es belso oszcilator orajel.
Orommel olvasom,hogy lehetseges,igy egesz picibe ossze tudnam hozni a dolgot;-)...az az igazsag hogy nem regen kezdtem avr-ekkel foglalkozni, avr-gcc -t hasznalok,es elegge jol haladok:-)
De ugyanakkor nem ertem,hogy hogy kell beallitani a fuse biteket ahhoz hogy az emlitett dolog mukodjon?
Varom valaszod..
Nagyon koszonom !
-
Vendég
re:
Erre voltam kivancsi!
Koszonom!
Hamarosan ki fogom probalni,ha nem mukodik ujra jovok:-)
Koszonom!
Hamarosan ki fogom probalni,ha nem mukodik ujra jovok:-)
-
Vendég
re
Hello!
Ujra akadt egy kis problemam:(
A kovetkezo beallitasokkal probalkoztam ,de nem az elvartnak megfeleloen mukdik.
low fuse CKSEL3 0-3. bitek = 0100 --> internal osc.8Mhz
low fuse egesszeben igy nez ki: 1110 0100
high fuse : CKOPT 4. bit = 1,ez alapbol 1,gondolom nem volt modositva ,nem neztem meg ,mert ha 0 lenne,akkor szerintem nem mukodne a belso oszcillator,de mukodik mert az LCD -t hajtja az avr.
A timer2 elosztot 128 -ra allitottam,az orakvarc az XTAL labakra van kotve.
Namost azt szerettem volna elerni ,hogy pontosan 1 masodpercenkent legyen Timer2 overflow.Az overflow rutinban frissitettem az LCD-t,es lathato,hogy nem tartja be az egy masodpercet,olyan gyorsan frissit ahogy csak tud:-)
Namost nem tudom hogy fuse beallitas nem jo vagy mi lehet a baj...
Lehet hogy a belso oszcillatort hasznalja jelenleg a timer2?
Minden segitseget elore is kosznok.
Kozben tanulmanyozom az adatlapot is..
Ujra akadt egy kis problemam:(
A kovetkezo beallitasokkal probalkoztam ,de nem az elvartnak megfeleloen mukdik.
low fuse CKSEL3 0-3. bitek = 0100 --> internal osc.8Mhz
low fuse egesszeben igy nez ki: 1110 0100
high fuse : CKOPT 4. bit = 1,ez alapbol 1,gondolom nem volt modositva ,nem neztem meg ,mert ha 0 lenne,akkor szerintem nem mukodne a belso oszcillator,de mukodik mert az LCD -t hajtja az avr.
A timer2 elosztot 128 -ra allitottam,az orakvarc az XTAL labakra van kotve.
Namost azt szerettem volna elerni ,hogy pontosan 1 masodpercenkent legyen Timer2 overflow.Az overflow rutinban frissitettem az LCD-t,es lathato,hogy nem tartja be az egy masodpercet,olyan gyorsan frissit ahogy csak tud:-)
Namost nem tudom hogy fuse beallitas nem jo vagy mi lehet a baj...
Lehet hogy a belso oszcillatort hasznalja jelenleg a timer2?
Minden segitseget elore is kosznok.
Kozben tanulmanyozom az adatlapot is..
-
Vendég
re
Kozben megtalaltam az adatlapban,remelem ez igy mukodni fog:oops:
ASSR reg.ben az AS2 1 -be kell legyen allitva,akkor az orajelforrast a TOSC1 TOSC2 -n levo oszcirol veszi..kulonben a clock forras = az MCU clock -al..
ASSR reg.ben az AS2 1 -be kell legyen allitva,akkor az orajelforrast a TOSC1 TOSC2 -n levo oszcirol veszi..kulonben a clock forras = az MCU clock -al..
Üdv!
Megoldottam:
Kikotortam a kupisdobozomból egy 1000 éves kínai vekkert.
Szétszedtem bekapcsoltam másodpercenként rángatta az elektromágnest.
A kvarcot lehegesztettem róla, rátettem az XTAL1, XTAL2-re.
Mega8 fusebit: internal oscillator
Egész pontosan jár, legalábbis mikor a belsőről számoltam a timert, ahhoz képest jelentősen pontosabb.
Kondenzátorok nélkül tettem az XTAL lábakra, aki esetleg jó angolos az segíthetne hogy mi is van a belső kondikkal ilyenkor:
For AVR microcontrollers with Timer/Counter Oscillator pins (TOSC1 and TOSC2), the crystal is
connected directly between the pins. By programming the CKOPT Fuse, the user can enable
internal capacitors on XTAL1 and XTAL2, thereby removing the need for external capacitors.
The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying an external clock
source to TOSC1 is not recommended.
Note: The Timer/Counter Oscillator uses the same type of crystal oscillator as Low-Frequency Oscillator
and the internal capacitors have the same nominal value of 36 pF.
Megoldottam:
Kikotortam a kupisdobozomból egy 1000 éves kínai vekkert.
Szétszedtem bekapcsoltam másodpercenként rángatta az elektromágnest.
A kvarcot lehegesztettem róla, rátettem az XTAL1, XTAL2-re.
Mega8 fusebit: internal oscillator
Kód: Egész kijelölése
$regfile = "M8def.dat" 'Chip
$crystal = 8000000 'Sebesseg saját belső oszcillátorról
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40
Config Timer2 = Timer , Async = On , Prescale = 128
On Timer2 Myisr
Enable Interrupts
Enable Timer2
Config Portb = Output 'LED
Do
Loop
Myisr:
Toggle Portb.4
'get here every second with a 32768 Hz xtal
Return
Kondenzátorok nélkül tettem az XTAL lábakra, aki esetleg jó angolos az segíthetne hogy mi is van a belső kondikkal ilyenkor:
For AVR microcontrollers with Timer/Counter Oscillator pins (TOSC1 and TOSC2), the crystal is
connected directly between the pins. By programming the CKOPT Fuse, the user can enable
internal capacitors on XTAL1 and XTAL2, thereby removing the need for external capacitors.
The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying an external clock
source to TOSC1 is not recommended.
Note: The Timer/Counter Oscillator uses the same type of crystal oscillator as Low-Frequency Oscillator
and the internal capacitors have the same nominal value of 36 pF.
Ha csak a 32 kHz Q-t használod timernek M8 esetén, akkor:
- a fő oszcillátor csak a belső 8MHz lehet (vagy bármi ami a belső RCről beállítható)
- a Timer0 (vagy Timer2) a belső órát használja
- a XTAL1 és XTAL2 helyre megy ekkor a külső Q (32kHz)
- nem szükséges az óra esetén járulékos kapacitás.
Adatlapokból legalábbis ezt láttam....
- a fő oszcillátor csak a belső 8MHz lehet (vagy bármi ami a belső RCről beállítható)
- a Timer0 (vagy Timer2) a belső órát használja
- a XTAL1 és XTAL2 helyre megy ekkor a külső Q (32kHz)
- nem szükséges az óra esetén járulékos kapacitás.
Adatlapokból legalábbis ezt láttam....
okés akkor jól csináltam mert ha elveszem menet közben a 32kHz-es kvarcot az óra megáll 
de mostanra 3 óra alatt siet kb 1 sec-et. szóval vagy a kínai vekker kvarc-a szutyok, és egy jobb minőségűvel pontosabb lesz, vagy valamivel korrigálnom kell (trimmer kondi??). A kínai órában is volt az egyik lábán egy kondi, lehet átrakom azt is és jobb lesz.
de mostanra 3 óra alatt siet kb 1 sec-et. szóval vagy a kínai vekker kvarc-a szutyok, és egy jobb minőségűvel pontosabb lesz, vagy valamivel korrigálnom kell (trimmer kondi??). A kínai órában is volt az egyik lábán egy kondi, lehet átrakom azt is és jobb lesz.
Kód: Egész kijelölése
CONFIG CLOCK = soft
Config Date = Mdy , Separator = / ' ANSI-Format
Date$ = "11/11/00"
Time$ = "02:20:00"
Do
Print "{027}[2J"; date$;" "; time$
Loop
Ez mit csinál?