www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schwingt mein Quartz oder nicht?


Autor: Rene Schir (gigastulle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen

Ich benutze ein Atmega8 mit externem Quartz.
Ich Programmiere schon eine Ganze weile an der Sache rum und mir ist nun 
Aufgefallen Das Das Program an Mancher Stelle einfach Stehen zu bleiben 
scheint da sich an eine CS Leitung auf low bleibt und das SCK Signal 
auch Weg ist. ALLERDINGS NICHT IMMER der Fehler das der AVR 
einzuschalfen scheint ist vollkommen Sporadisch und läst sich kaum 
Provozieren. Durch mein OZI habe ich nachgewissen das Der AVR wenn der 
Fehler auftrit stehen geblieben sein muss !!! Ich habe mal das Ozi an 
das Qaurtz gehalten und das gemessen was im Anhang zu sehen ist. Laut 
dem Bild Leite ich mal ab das Das Quartz NICHT schwingt. Allerdings habe 
ich das Selbe Messergebnis wenn Der AVR läuft !!! das kann doch irgent 
wie nicht sein oder ???

Nun zu den Details:
- Schaltung wie im DatenBlatt
- 11,0592 MHz Quartz
- 2x 22pF Condesatoren Parallel wie im Datenblatt

Fuses:
Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms

Selbst wenn ich den auf HIGH Freq. umschalte habe ich das Selbe ergebnis 
!!!

Das dumme ist das ich nicht weis wie groß die Kondensatoren sein müssen 
da mir nur die Frequenz bekannt ist mit der das Qaurtz schwingen soll.

Achso noch zum schluss wenn der AVR eingeschalfen ist und ich mit der 
OSZI Messpitze einen Pin vom Quartz berühre läuft er kurz weiter und 
bleibt wieder stehen :(

Vielen Dank schon mal im Vorraus

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das Program an Mancher Stelle einfach Stehen zu bleiben
>scheint da sich an eine CS Leitung auf low bleibt und das SCK Signal
>auch Weg ist.

Schalte den SS Pin auf Ausgang.

Autor: Stefan N. (laser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du nen 1x Tastkopf verwendet? Wenn ja, versuchs mit einem 10x, der 
beeinflusst den Quarz nicht so sehr.

Autor: Alex P. (drdatensalat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wichtig ist, dass du am richtigen Pin misst!
wenn du den Oszi auf den Eigang des UC-Oszillators hällst, hört er 
sofort mit schwingen auf!
Irgend wo sollte im Datenblatt die Ersatzschaltung zu sehen sein (ein 
Logikinverter). Am Ausgang davon kannst du messen, aber du brauchst 
einen 10:1 Tastkopf (glaube ich)
Alternativ: Wenn ein UC-Pin für eine externe Frequenzeinspeisung ist, 
ist das der Eingang, der andere Pin ist der Ausgang (an dem man messen 
kann).

Die Kondensatoren dürften in etwa OK sein. Datenblatt des UC?

Schreib doch ein Testprogramm das nur einen Portpin toggelt, dann kannst 
du am Ausgangs-Port-Pin messen.

Autor: Rene Schir (gigastulle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
>>Das Program an Mancher Stelle einfach Stehen zu bleiben
>>scheint da sich an eine CS Leitung auf low bleibt und das SCK Signal
>>auch Weg ist.
>
> Schalte den SS Pin auf Ausgang.

SS benutze ich garnicht da er ja nach jeder Botschaft auf High geht und 
das will ich aber nicht da alle botschaften länger als 1 Byte sind.
Die Komunikation funktioniert ja es ist eben nur so das er manchmal 
stehen bleibt und nicht weiter macht das kann nach 10s ude erst nach 
20min sein.

Autor: Rene Schir (gigastulle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan N. schrieb:
> Hast du nen 1x Tastkopf verwendet? Wenn ja, versuchs mit einem 10x, der
> beeinflusst den Quarz nicht so sehr.

Habe jetzt mit 10x gemessen an beiden pins, mit dem selben ergebnis :(

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Schalte den SS Pin auf Ausgang.

>SS benutze ich garnicht da er ja nach jeder Botschaft auf High geht und
>das will ich aber nicht da alle botschaften länger als 1 Byte sind.

Hä? Nö, der geht nicht von alleine auf High.
Schalte den Pin auf Ausgang.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  Laut dem Bild Leite ich mal ab das Das Quartz NICHT schwingt.

Nee, der könnte auch mit niedriger Amplitude schwingen, das kann man aus 
dem Bild nicht klar erkennen. Das klappt aber bei der Frequenz ohne 
CKOPT nicht zuverlässig.

Autor: Blumenkohl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
>>> Schalte den SS Pin auf Ausgang.
>
>>SS benutze ich garnicht da er ja nach jeder Botschaft auf High geht und
>>das will ich aber nicht da alle botschaften länger als 1 Byte sind.
>
> Hä? Nö, der geht nicht von alleine auf High.
> Schalte den Pin auf Ausgang.

Ich möchte die Aussage noch einmal unterstreichen! Wenn der SS-Pin als 
Eingang ein LOW-Signal sieht, schaltet der ATMega vom SPI-Master-Modus 
direkt in den SPI-Slave-Modus um! Sollte im Datenblatt unter den 
SPI-Modi auch so vermerkt sein ;)

Sobald Du den SS-Pin als Ausgang setzt, ist dieses Verhalten 
abgeschaltet.

Autor: Rene Schir (gigastulle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blumenkohl schrieb:
> holger schrieb:
>>>> Schalte den SS Pin auf Ausgang.
>>
>>>SS benutze ich garnicht da er ja nach jeder Botschaft auf High geht und
>>>das will ich aber nicht da alle botschaften länger als 1 Byte sind.
>>
>> Hä? Nö, der geht nicht von alleine auf High.
>> Schalte den Pin auf Ausgang.
>
> Ich möchte die Aussage noch einmal unterstreichen! Wenn der SS-Pin als
> Eingang ein LOW-Signal sieht, schaltet der ATMega vom SPI-Master-Modus
> direkt in den SPI-Slave-Modus um! Sollte im Datenblatt unter den
> SPI-Modi auch so vermerkt sein ;)
>
> Sobald Du den SS-Pin als Ausgang setzt, ist dieses Verhalten
> abgeschaltet.

DANKE DANKE DANKE das scheint des rätzels lösung zu sein und ist auch 
plausiebel zum Fehlverhalten im Programm !!!

Hab das Tei jetzt schon über 30min am laufen un der Fehler ist nicht 
wieder aufgetretten !!! Der SS pin war unbeschaltet und auf AUSGANG und 
somit ist sehr sehr wahrescheinlich warum er aufhöhrt über SPI zu senden 
und dann bleibt er ein einer programierten Busy schleife hängen auf SPIF 
wartet und es iom SLAVE nie kommen wird. Danke noch mal für diesen TIP

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.