atmega 128 ext. xtal ?

trix

Golden Member

hallo,

ik ben bezig om mijn atmega128 die ik eerst gebruikte op de interne 1Mhz (default), om te zetten naar een extern xtal van 8Mhz.
en het werkt niet :( nu ga ik twijfelen of ik de juiste optie in de fuses heb gekozen.
ik denk namelijk zelf van wel, omdat ik nog wel terug kan naar de interne klok.
ik heb ook de: #define F_CPU 8000000UL veranderd.

eigenwijs = ook wijs
trix

Golden Member

ik ben nog even wat aan het spelen met:

XTAL Divide Control Register – XDIV

c code:


XDIV |= 1<<XDIV6 | 1<<XDIV5  | 1<<XDIV4 | 1<<XDIV3 | 1<<XDIV0;
XDIV |= XDIVEN;  // moet 1 zijn om de devider actief te laten zijn.

hiermee zou je het kristal door 8 delen, waardoor ik weer op mijn oorspronkelijke 1 Mhz uit zou komen. maar dat werkt voor als nog nog niet.

eigenwijs = ook wijs

je moet high frequence external crystal/resonator hebben als fuses.
die XDIVEN moet je volgens mij gelijk met die bit vlaggen zetten.
Of anders iig ervoor.

sorry datasheet niet goed gelezen.
De wat recentere AVR's hebben de CLKPR register en ik dacht dat het daar wel moest, of het was bij de watchdog interval :S
nevermind.

Je moet iig geen low freq crystal kiezen.
Kun je hem nog wel programmeren nu?

[Bericht gewijzigd door Stijnos op vrijdag 7 februari 2020 11:45:39 (46%)

buckfast_beekeeper

Golden Member

Weet het niet zo uit het hoofd, is low crystal niet onder 1MHz? Bijvoorbeeld een horlogekristal 32.768khz. Div 8 kan je toch laten staan in de fuses ook.

Van Lambiek wordt goede geuze gemaakt.
trix

Golden Member

ik zie in de fuses geen mogelijkheid om meteen door b.v. 8 te delen.
wil ik waarschijnlijk ook helemaal niet, maar hierboven was om het een en ander te testen.

eigenwijs = ook wijs
trix

Golden Member

ja ik kan hem nog programeren, zoals gemeld kan ik nog gewoon met de fuses terug naar de interne 1 Mhz clock.

eigenwijs = ook wijs
buckfast_beekeeper

Golden Member

In de fuse settings bij LOW op bit 7 zit CKDIV8. Als je deze fuse laat zaols standaard, dan gaat ook een 20MHz kristal gedeeld worden door 8.

Voor het kristal moet je Ext. Full-swing crystal nemen.

Dat je hem kan programmeren kan 2 betekenissen hebben. Of je fuses staan correct, of je fuses zijn niet gewijzigd.

Van Lambiek wordt goede geuze gemaakt.
trix

Golden Member

zijn wel gewijzigd, dat denk ik omdat het display niet meer initialiseert. en ga ik terug naar de 1Mhz interne klok dan initialiseert hij weer wel.

edit: ext. full-swing crystal zie ik bij mij niet staan.

als ik zo de opties bij de fuses bekijk dan lijkt de door mij gekozen optie de enigste die mogelijk is (buiten 2 andere die verschillen in de opstart tijd) alle anderen zijn met:oscilator, resonator of externe klok.

[Bericht gewijzigd door trix op vrijdag 7 februari 2020 12:55:49 (34%)

eigenwijs = ook wijs
trix

Golden Member

zou ik soms ext. crystal/resonator moeten kiezen zoals het blauw geselecteerde ?
maar ik durf deze niet zo goed te proberen, bang dat ik dan de atmega niet meer kan progammeren :)

edit: ik heb de gok genomen (met dicht geknepen billen :)) en het werkt nog steeds niet, maar ik kan wel terug naar de interne klok. dus deze optie bied wel een klok aan de avr.

[Bericht gewijzigd door trix op vrijdag 7 februari 2020 13:37:23 (31%)

eigenwijs = ook wijs
buckfast_beekeeper

Golden Member

Ik vermoed nog meer naar beneden. De full swing kristallen staan meestal onderaan.

Van Lambiek wordt goede geuze gemaakt.

pluis even in de datasheet. Ik heb er nu geen zin in om dat helemaal uit te zoeken.
de MEGA128 is een beetje een afwijkend beestje. Die heeft zie ik idd geen CKDIV8 fuse
En je hebt nog de CKOPT fuse die afhankelijk van het type crystal het juiste amplifier circuit kiest.

Meestal staan de high frequency kristallen idd helemaal onderaan.

trix

Golden Member

ik heb mijn post ge-edit.

ik heb de gok genomen (met dicht geknepen billen :)) en het werkt nog steeds niet, maar ik kan wel terug naar de interne klok. dus deze optie bied wel een klok aan de avr.

[Bericht gewijzigd door trix op vrijdag 7 februari 2020 13:38:36 (78%)

eigenwijs = ook wijs
trix

Golden Member

opgelost,...

durf het bijna niet te vertellen,....maar ik gebruik nu nog een ontwikkelings bordje met een atmega128 er op, en daar moest je om het extern xtal te kunnen gebruiken een jumpertje omzetten. wat ik nog niet had gezien omdat er een 20-p flatbandcable overheen lag.

dom dom dom dom in het kwadraat |:( |:( |:(
weer 3 uur naar de kl*ten.

iedereen toch bedankt voor de inzet.

ik ben nu bezig om een prototype pcb te maken, kan die flouwekul in ieder geval niet meer voor komen.

edit: mocht iemand hier ooit met de zoekfunctie terecht komen.
ik heb:
ext. crystal/resonator medium freq.;start-up-time: 16k CK + 64 ms gekozen

eigenwijs = ook wijs

Op 7 februari 2020 14:28:24 schreef trix:

dom dom dom dom in het kwadraat |:( |:( |:(
weer 3 uur naar de kl*ten.

ach zo had ik laatst 3 dagen ipv 3 uur :)