Forum: Mikrocontroller und Digitale Elektronik FuseBit | ext Quart schwingt nicht an


von Net_Hans (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

seit knapp zwei Wochen bekomme ich meine µC Schaltung nicht ans laufen. 
Inzwischen konnte ich mir ein Oszi ausleihen und musste feststellen ,das 
der externe Quarz nicht schwingen will.
Ich verwende einen ATMEGA168A-PU mit 20MHz.
Der Schaltplan und meine FuseBit-Einstellungen habe ich als Bilder 
beigeführt. Könnte bitte jemand da drüber gucken und mir sagen, was ich 
ändern muss, damit ich den µC zum laufen bekomme?

Danke
mfG Hans

von Bernd S. (bernds1)


Lesenswert?

EXTXOSC ist falsch, da will er einen externen Oszillator haben, von dem 
aus der Takt in den Prozessor eingespeist wird.
Ich hab jetzt den Fuses-Dialog nicht griffbereit, aber in der Liste 
steht noch was mit EXTFSC oder so ähnlich, also Fullscale-Crystal.
Schau mal nach, findest du schon. Allerdings kriegst du den Prozessor 
ohne Takt nicht umprogrammiert. Du mußt jetzt von extern einen Takt 
einspeisen. Oder du machst das mit HV-Programmierung.

von Fabian B. (Gast)


Lesenswert?

Wie misst du die Schwingung vom Quarz? Wenn der richtig verschaltet ist 
sollte er schon schwingen.

Oder ist mit den Fuses ein Problem da, so dass der interne Quarz vom 
atmega noch schwingt und ansich alles funktioniert?

Ein Bild vom Aufbau zeigt auch gerne mal die Fehlerquellen...

von Bernd S. (bernds1)


Lesenswert?

Lies mal noch den Artikel:
http://www.mikrocontroller.net/articles/AVR_Fuses

Da steht auch, wie man einen "verfusten" Prozessor wieder zum Leben 
erweckt.

von amateur (Gast)


Lesenswert?

Auch wenn Du schrecklich sparsam, was Kondensatoren betrifft, gewesen 
bist, sollte es eigentlich gehen. Ich hätte noch dicht bei Vcc und AVcc 
einen Kondensator platziert und wenn Du mal Analog sprechen willst auch 
bei AREF.

Wichtig beim Quarz ist, dass Du Dich an die Layout-Vorschriften hältst. 
D.h. Verbindungen so kurz wie möglich.

Vielleicht hilft auch das alte Kinderlied: ... with a beep, beep here 
...
Oder anders Ausgedrückt: Mit einem Ohmmeter alle Pins befragen.

von Bernd S. (bernds1)


Lesenswert?

amateur schrieb:
> Auch wenn Du schrecklich sparsam, was Kondensatoren betrifft, gewesen
> bist, sollte es eigentlich gehen.

Nein, geht nicht!

Mit den Kondensatoren hast du recht, und auch eine Drossel muß noch 
rein, wenn man Analogmessungen mit dem ADC machen will.
Hier kann man sich darüber informieren:
http://www.kreatives-chaos.com/artikel/avr-grundschaltungen

Aber das ist nicht der Grund, weshalb der Quarz nicht schwingt. Der 
Grund sind die Fuses, das sieht man auf dem linken Bild.

von Net_Hans (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die ersten Antworten.

erst mal zum Programmieren:
ich Programmiere auf dem STK500 und dem AVRISPII mittels ISP. Das geht 
auch alles wunderbar. Nur scheint es mir auf dem STK500 so zu sein, das 
der Quart extern zum schwingen angeregt wird.

Die FuseBits habe ich jetzt auf "EXTFSXTAL_16KCK_14CK_65MS" umgestellt. 
Das hat aber keine Verbesserung gebracht.

Den Takt habe ich mit dem Oszi direkt am Pin XTAL1 gemessen. Das 
Ergebnis ist wieder als Bild dabei.

Des weiteren habe ich Layout und Platinen-Foto mit bei gefügt.

Bitte bei dem Platinen-Foto nicht wundern. Das ist halt ein Prototyp. 
und dank zahlreicher Einträge in diversen Foren habe ich schon das ein 
oder andere mit Umlöten versucht ...

mfG Hans

von Spess53 (Gast)


Lesenswert?

Hi

> Der Grund sind die Fuses, das sieht man auf dem linken Bild.

Quatsch. EXTXOSC_8MHZ_XX_16KCK_14CK_65MS bedeutet:

Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 
65 ms

Aber möglicherweise liegt es am Aufbau.

MfG Spess

von Bernd S. (bernds1)


Lesenswert?

Spess53 schrieb:
> Hi
>
>> Der Grund sind die Fuses, das sieht man auf dem linken Bild.
>
> Quatsch. EXTXOSC_8MHZ_XX_16KCK_14CK_65MS bedeutet:
>
> Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK +
> 65 ms
>
> Aber möglicherweise liegt es am Aufbau.
>
> MfG Spess

Ich will mich bestimmt nicht streiten, aber heißt nicht "Ext. Crystal 
Osc", daß ein externer Oszillator an XTAL1 angeschlossen wird, der den 
Takt liefert? Und der TO hat eben keinen Oszillator, sondern nur einen 
Quarz.
Da müssen die Fuses auf EXTFSXTAL_16KCK_14CK_65MS (oder so ähnlich) 
gestellt werden. Ich habe das Studio nicht hier, sondern auf der Arbeit. 
Deshalb "so ähnlich"...

Korrigiere mich bitte, wenn ich unrecht habe. Ich schaue morgen gern 
nach und schreibe nochmal die genaue Bezeichnung.

von Spess53 (Gast)


Lesenswert?

Hi

>Ich will mich bestimmt nicht streiten, aber heißt nicht "Ext. Crystal
>Osc", daß ein externer Oszillator an XTAL1 angeschlossen wird, der den
>Takt liefert? Und der TO hat eben keinen Oszillator, sondern nur einen
>Quarz.

Ein externer Oszillator läuft z.B. unter 'EXTCLK_6CK_14CK_65MS'

Aber vielleicht funktioniert es mit

Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 
ms"

->

von Spess53 (Gast)


Lesenswert?

Hi

Fortsetzung (aus Versehen auf 'Absenden' gedrückt):

->EXTFSXTAL_16KCK_14CK_65MS

besser.

MfG Spess

von Net_Hans (Gast)


Lesenswert?

Danke für eure Anworten. Sobald ich wieder zu hause bin, werde ich alle 
vorgeschlagenen Einstellungen ausprobieren.

Als Notlösung stelle ich einfach jede sinnfoll mögliche Kombination an 
FuseBits mal ein. Kann es ja mit dem STK500 rückgänig machen.

Aber noch mal zur Hardware, diese soll keine AD-Aufgaben übernehmen. Von 
daher sollte das doch so passen oder?

mfG Hans

von spess53 (Gast)


Lesenswert?

Hi

>Aber noch mal zur Hardware, diese soll keine AD-Aufgaben übernehmen. Von
>daher sollte das doch so passen oder?

Nein. Es fehlen die Abblockkondensatoren (100n) zwischen VCC und GND und 
zwischen AVCC und GND. AREF gehört nicht an VCC. Da auch nur 100n nach 
GND.

Deine Masseführung auf dem Bild sieht nicht sehr optimal aus.

MfG Spess

von Net_Hans (Gast)


Lesenswert?

OK dann trenn ich die VCC-Verbindugn zu AREF und setz die fehlenden 
Kondensatoren noch ein. Mal sehen ob das Besserung bringt.

mfG Hans

von Net_Hans (Gast)


Lesenswert?

:-( hat alles nichts gebacht .. Ich bekomme immer noch kein sauberes 
Signal.

Hat eventuell noch jemand eine Idee?

Ich habe eben auch den Quarz gegen einen 8MHz Quarz getauscht und einen 
ATMega 8 eingesetzt, auch das brachte keinen Erfolg.

mfG Hans

von amateur (Gast)


Lesenswert?

Hast Du mal, wenn Du die Sicherungen noch umstellen kannst, den ganzen 
Kram zurückgestellt?
Also auf 8 MHz internen Tick-Tack ev. mit Div8 und dann versucht 
irgendwas, auf irgendeinem Port, auszugeben?
Wenn das dann funktioniert könntest Du auch gleich mal versuchen, ob die 
Ports B6 und B7 noch unter den Lebenden weilen. Ein bisschen Rumgezappel 
dürfte auch mit eingelötetem Quarz gehen - und was ganz wichtig ist, bei 
der Gelegenheit feststellen was am Quarz ankommt.
Wenn mich nicht alles täuscht, ist im Quarzbetrieb einer der Beiden 
Ausgang und der Andere Eingang. Siehe Handbuch.

Mehr fällt mir auf die Schnelle auch nicht ein oder zwei:-)

von meckerziege (Gast)


Lesenswert?

Wenn du mit einem Oszi direkt an den Quarzpins misst, dann kann es 
vorkommen dass die zusätzliche Kapazität usw. die Schwingung stört.
Woraus schließt du dass der Quarz nicht läuft?

von amateur (Gast)


Lesenswert?

Ich Vergaß:
Am besten einen Test nach dem Andren und bei Ausgabeversuchen möglichst 
schnell messen. Ich habe keine Ahnung wie lange ein eventueller 
Kurzschluss an einem I/O-Pin dauern darf.

von c-hater (Gast)


Lesenswert?

spess53 schrieb:

> AREF gehört nicht an VCC.

Das kann man so nicht sagen. Wenn man z.B. an Spannungen relativ zum 
tatsächlichen Vcc interessiert ist (und nicht relativ zu einem 
tiefpaßgefilterten Vcc-Verschnitt), kann Aref sehr wohl an Vcc gehören.

Genau deswegen gibt es übrigens auch die Möglichkeit, die Referenzbits 
in ADMUX entsprechend zu konfigurieren...

von (prx) A. K. (prx)


Lesenswert?

Net_Hans schrieb:
> Den Takt habe ich mit dem Oszi direkt am Pin XTAL1 gemessen. Das
> Ergebnis ist wieder als Bild dabei.

Hoffentlich mit Tastkopf 10:1. Bei 1:1 macht jeder Quarz schlapp.

von Net_Hans (Gast)


Lesenswert?

@amateur

mit dem Internen Tackt läuft der µC supper, sauberes Rechtecksignal an 
den Ausgängen von XTAL1 und XTAL2

@meckerziege
Das macht sich dadurch bemerkbar, das die Signale an den Ausgangspins 
einer Entladekurfe von einem Kondensator gleichen. Sobald der µC den 
Ausgang auf High schaltet, habe ich kurz eine Spitze auf 5V und dann 
eine Entladekurve ... ganz komisch

von (prx) A. K. (prx)


Lesenswert?

PS: Es stört weniger, wenn man am Ausgang des Oszillators zu misst, also 
an XTAL2.

von (prx) A. K. (prx)


Lesenswert?

Net_Hans schrieb:
> mit dem Internen Tackt läuft der µC supper, sauberes Rechtecksignal an
> den Ausgängen von XTAL1 und XTAL2

Nanu! Mit internem RC-Oszillator sind die Pins doch normale IO.

von Net_Hans (Gast)


Lesenswert?

Das mit dem Tastkopf habe ich noch nicht berücksichtigt. Das probiere 
ich gleich aus.

Muss ich die XTAL Pins im DDRB-Register gesondert betrachten, als 
Ausgang/Eingang?

von (prx) A. K. (prx)


Lesenswert?

Net_Hans schrieb:
> Muss ich die XTAL Pins im DDRB-Register gesondert betrachten, als
> Ausgang/Eingang?

Nein. Wenn für Quarz konfiguriert, dann sind die Pins fest dafür 
konfiguriert und DDRB6/7 sind funktionslos.

von Spess53 (Gast)


Lesenswert?

hI

>Wenn man z.B. an Spannungen relativ zum
>tatsächlichen Vcc interessiert ist (und nicht relativ zu einem
>tiefpaßgefilterten Vcc-Verschnitt), kann Aref sehr wohl an Vcc gehören.

Was für ein 'tiefpaßgefilterten Vcc-Verschnitt' meinst du?

MfG Spess

von amateur (Gast)


Lesenswert?

Dann bleiben eigentlich nur noch Quarz und Kondensatoren über. Stehen 
die beiden Kondensatoren auch mit beiden Beinen auf der Erde (0V).
Übrigens ich weiß nicht mit welchem Studio Du arbeitest, aber Anno 4 
bekam das Teil es nicht mit, wenn Du dem Prozessor geändert hast und er 
gerade zuhause ist. Keine Ahnung ob Du in einen beliebigen Prozessor die 
Fuses eines "anderen" reinbrennen darfst bzw. ob deren Bedeutung 
variiert.
Zum Thema Quarz nur so viel: In der Liste gibt es zwei Sorten sehr 
ähnlich "klingender" Einträge. Die Verzögerungszeiten dürften bei deiner 
Anwendung, noch unwichtig sein aber die einen beziehen sich auf einen 
externen Tacktgeber (1 Draht) und die anderen auf einen externen Quarz 
8MHz... Wie die sich allerdings später melden weiß ich nicht.

von Net_Hans (Gast)


Lesenswert?

Hallo,

so das Problem ist gelöst und ich schäme ich schon fast für die Ursache.
Zum einen waren die Fuse-Bits anfangs falsch gesetzt.
Aber zum Anderen hatte mir mein Elektronikhandel des Vertrauens die 
falschen Stützkondensatoren zugeschickt. Es waren nicht 22pF im Tütchen, 
es waren 22nF ... hätte ich vorher die Aufschrift gelesen hätte ich es 
schon beim Bestücken festgestellt :-( ... naja aus Fehlern lernt man.

Danke noch mal an alle, die mir mit ihrem Wissen zur Seite standen.
DANKE

mfG Hans

von c-hater (Gast)


Lesenswert?

Spess53 schrieb:

> Was für ein 'tiefpaßgefilterten Vcc-Verschnitt' meinst du?

Nun, den der effektiv rauskommt, wenn man die REFS-Bits in ADMUX auf 
AVCC setzt und an AREF einen Kondensator bastelt. Der Kondensator stellt 
eine Hälfte eines Tiefpasses dar, der Rest (Widerstand und sogar 
Induktivität) steckt in der internen Schaltung des Analogteils.

Nicht, daß das falsch wäre, für viele ADC-Anwendungen ist das sogar 
genau richtig. Aber eben nicht für alle.

von amateur (Gast)


Lesenswert?

1000 Mal so viel Kapazität - da hast Du ja ein gutes Geschäft gemacht;-)

von Bernd S. (bernds1)


Lesenswert?

Net_Hans schrieb:
> so das Problem ist gelöst...

Hallo Hans,

das ist doch mal eine gute Nachricht. Aber so ist das eben. Das gleiche 
hätte jedem passieren können, wenn man z.B. in die falsche SMD-Schachtel 
greift und statt 22p eben 22n nimmt. Bei SMD sieht man das nicht mal, da 
steht nix drauf, und die C's sehen gleich aus.
Kleine Ursache, große Wirkung. Hauptsache, es geht jetzt.
Glückwunsch!

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.