Forum: Mikrocontroller und Digitale Elektronik Externer Oszillator funktioniert nicht


von Manax (Gast)


Lesenswert?

Hi Leutz

Mit dem im Anhang geposteten Schaltplan habe ich so meine Probleme.
Das programm hat funktioniert bis ich von internem( 8 MHZ ) auf externen 
Quarz
"Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms"
umgeschaltet habe.

Seitdem geht gar nichts mehr. Als Kondensatoren hab ich 2* 22pF 
Keramisch benutzt ( Polung ist ja egal oder? ). Als Oszillator hab ich 
ein 20MHZ Quartz benutzt. Die Spannungsversorgung ist 5,2 Volt.

Wiederbeleben kann ich leider nicht ( AVR ISP ).
Woran liegt es, dass ich keine Verbindung per Programmer mehr aufbauen 
kann ?

mfg Manax

von Manax (Gast)


Angehängte Dateien:

Lesenswert?

Hoppla den Schaltplan vergessen

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Du schreibst es doch selber.
Ext Crystal Oszillator. Das ist kein Quarz, sondern ein 
Quarz-Oszillator.
Also einen 1MHz-Takt an den Oszillator-Eingang und Fuses richtig setzen.

von Falk B. (falk)


Lesenswert?

@  Manax (Gast)

>Das programm hat funktioniert bis ich von internem( 8 MHZ ) auf externen
>Quarz
>"Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms"
>umgeschaltet habe.

Flascher Fehler. Diese EInstellung ist für einen externen 
QuarzOSZILLATOR, welcher selber eine Takt generiert.

Was du aber wolltest ist ein External Crystal.

>Seitdem geht gar nichts mehr. Als Kondensatoren hab ich 2* 22pF
>Keramisch benutzt ( Polung ist ja egal oder? ). Als Oszillator hab ich
>ein 20MHZ Quartz benutzt.

Bitte nicht die Begriffe Ozillator und Quarz durcheinanderwerfen!!!

> Die Spannungsversorgung ist 5,2 Volt.

>Wiederbeleben kann ich leider nicht ( AVR ISP ).

Kann man, siehe hier.

http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen

>Woran liegt es, dass ich keine Verbindung per Programmer mehr aufbauen
>kann ?

Du hast die falsche Takteinstellung gemacht.

MfG
Falk

von g457 (Gast)


Lesenswert?

Laut Datenblatt zum attiny2313 (Tabelle 2 'device clocking select' und 
Tabelle 5 'start-up times for the crystal oscillator clock selection') 
gibts kein

> Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms"

Ich nehme an, dass das eine GUI-Einstellung in irgendeiner 
Entwicklungsumgebung ist. Also musst Du erst mal rausfinden, was die GUI 
daraus gemacht hat.

Sofern 'Crystal Osc.' für 'external clock' (CKSEL3:0 = '0000') steht, 
dann brauchst Du jetzt eine extrene Taktquelle - von einem Oszillator 
oder vom Programmieradapter (diverse bieten aus genau diesem Grund einen 
extra Taktausgang :-) oder eben einen extra µC auf ein Steckbrett 
basteln und den einen pin toggeln lassen.

HTH

--
GUIs können manchmal ziemlich unpräzise sein..

von Manax (Gast)


Lesenswert?

Danke für eure Hilfe jetzt weiß ich schonmal das es nicht richtig ist ^^

Leider weiß ich immer noch nicht was ich denn jetzt einstellen muss


Also mit einem Standardquarz 20.00MHZ und einer langsam steigenden 
Spannung (paar Elkos müssen erst laden) Brauch ich schonmal ne lange 
"Vorglühzeit" 65ms

1)  Ext. Clock; Start-up time: 14 CK + 65  ms
2)  Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms

Welche der beiden Auswahlmöglichkeiten ist denn jetzt die richtige ?


mfg Manax

von g457 (Gast)


Lesenswert?

> 1)  Ext. Clock; Start-up time: 14 CK + 65  ms
> 2)  Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms
>
> Welche der beiden Auswahlmöglichkeiten ist denn jetzt die richtige ?

..mit nem ★Quarz★ keine davon. 'External Crystal/Ceramic Resonator' aka 
CKSEL3:0 1000..1111 (Tabelle 2 'Device Clcoking Select' im Datenblatt 
ist die 'richtige' - welche genau entscheidet sich dann anhand von 
Tabelle 4 'Crystal Oscillator Operating Modes'.

Jetzt musst Du das nur noch auf deine GUI übersetzen..

HTH

von Frank B. (frank501)


Lesenswert?

Also ich tippe mal darauf, das beide nicht richtig sind. Ext Clock 
sollte ja klar sein. Und Ext Crystal Osc ist wenn man es genau nimmt ein 
kompletter Oszillator, der ohne jedwede Zusatzbeschaltung nen Takt 
ausgibt.
Aber da ein Externer Takt und der Takt von einem Quarzoszillator 
faktisch das selbe sind, tippe ich eher auf
> 2)  Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms

Oder hats Du irgend einene Einstellung wo nur ext. Crystal (ohne Osc.) 
steht?

Frank

von Yalu X. (yalu) (Moderator)


Lesenswert?

GUIs, die diese

  http://www.gadgetfactory.net/gf/project/eclipse-avr-gcc/scmsvn/?action=browse&path=%2Ftrunk%2Fde.innot.avreclipse.core%2Fproperties%2Ffusedesc%2Fattiny2313.desc&revision=2&view=markup

oder eine ähnliche Konfigurationsdatei benutzen¹, verwirren den Benutzer
gleich doppelt:

- Bug 1: "Ext. Crystal Osc." steht tatsächlich für einen Quarz und
  nicht für einen kompletten Oszillator. Insofern ist diese Auswahl
  schon einmal richtig.

- Bug 2: Den Eintrag "Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14
  CK + 65 ms" gibt es gleich dreimal, ohne dass man als Benutzer einen
  Unterschied erkennen kann. Die Unterschiede sieht man erst, wenn man
  die XML-Datei öffnet²:

1
  "Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms" val="0x1E"
2
  "Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms" val="0x0F"
3
  "Ext. Crystal Osc. 8.0-    MHz; Start-up time: 14 CK + 65 ms" val="0x3F"

  Die drei Varianten unterscheiden sich in der "Start-up Time from
  Power-down and Power-save" (258, 1k bzw. 16k Takte). Nur die letzte
  funktioniert für Quarze mit höheren Frequenzen (also bei dir) zuver-
  lässig. Möglicherweise hast du eine der beiden anderen Einstellungen
  erwischt.

Der allerletzte Eintrag in der Auswahlliste sollte also der richtige
sein. Falls es eine Möglichkeit gibt, das Fuse-Byte direkt als Hexzahl
einzugeben, würde ich dieses tun. Der Wert des Low-Bytes muss 0x3F sein.

Wenn dieser Wert schon eingestellt war, hast du wahrscheinlich einen
Schaltungsfehler oder ein defektes Bauteil.

¹) Ich habe sie zufällig im Netz gefunden. Sie scheint von einem
   Eclipse-AVR-Plugin zu stammen und ist angeblich "Based on: Atmel Part
   Description File "ATtiny2313.xml".

²) So viel zum Thema intuitive Benutzerschnittstellen ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.