mikrocontroller.net

Forum: Compiler & IDEs ATMega128 Timer0 mit externem Quarz


Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich brauche am Ausgang meines Timer0 (OC0) ein Signal mit 32768Hz, ich 
habe zwischen TOSC1 und TOSC2 einen Quarz mit einer solchen Frequenz, 
wie muss ich jetzt den Timer0 konfigurieren, damit er mit genau diese 
Frequenz am Ausgang ausgibt, komm einfach nicht hin...

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich dass sehe, kannst Du am Ausgang kein Signal mit der 
Taktfrequenz des Controllers bekommen. Der AVR braucht ja auch noch nen 
paar Takte zum arbeiten. Hat der 128 nicht nen Ausgang, an dem die 
Quarzfrequenz anliegt? Gabs bei nen paar AVRs

Werner

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst das ASSR-Register entsprechend konfigurieren. das "wie" steht 
im Datenblatt...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Werner:
Er spricht von Timer 0 im asynchronen Betrieb. Das hat nichts mit der 
Taktfrequenz zu tun, mit der die CPU läuft...

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@johnny.m
deshalb die einschränkung "so wie ich das sehe..."
ne, im Ernst, muss ich mir beizeiten mal anschauen, hab ich bisher noch 
nicht genutz.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AS0 im ASSR hatte ich schon auf 1 gesetzt wie im Datenblatt beschrieben, 
aber mich würde interessieren, ob ich überhaupt die selbe Frequenz am 
Ausgang der Timer0 rausbekommen kann die der Quarz liefert.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Allerhöchstens die halbe. Du musst einen Pin, den Du schaltest, ja auch 
wieder zurücksetzen. Also brauchst Du mindestens zwei Takte, einen zum 
einschalten des Pins und den nächsten, um ihn wieder auszuschalten...

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man die Freuqnz auch irgendwie direkt abzapfen, ich würde nämlich 
diese 32768 vom Quarz als Clock für einen Drucksensor benötigen.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese 32,768 kHz-Oszillatoren sind oft sehr empfindlich, wenn man sie 
belastet. Du könntest versuchen, über einen Buffer das Signal am 
TOSC2-Pin abzugreifen. Ich weiß aber jetzt nicht, ob die Amplitude dafür 
ausreicht. Hast Du denn keine Möglichkeit, aus deinem CPU-Takt irgendwie 
die 32 kHz zu gewinnen?

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wird mir dann wahrscheinlich nichts anderes übrig bleiben als eine 
ähnliche Frequenz mit dem Timer 0 zu generieren.

Sehe aber gerade, dass TOSC1 mit PE5 verbunden ist und TOSC2 mit PE4, 
könnte mir das weiterhelfen?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sollte Dir das weiterhelfen? TOSC1 und TOSC2 sind ganz normale 
"alternate pin functions" von PE4 und PE5...

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
das stimmt aber nicht, denn TOSC1->PG3 und TOSC2->PG4.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd Edlinger wrote:

> Sehe aber gerade, dass TOSC1 mit PE5 verbunden ist und TOSC2 mit PE4,
> könnte mir das weiterhelfen?

Wo bitte siehst du das denn?

Ich denke, dass du TOSC2 mit einem Gatter noch belasten kannst,
ich würde aber keine zu lange Leitung dranhängen.  Da aber die
Erfahrung der Leute sagen, dass man im Gegensatz zur Aussage des
Datenblatts besser sowieso ein paar pF Lastkapazität mit einplanen
sollte, wird der Eingang des Folgegatters einfach Teil dieser
Kapazität.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Huch, da hatte ich Dir jetzt einfach so geglaubt, dass es PE4 und PE5 
sind... PG3 und PG4 stimmt natürlich. Aber ich habe auch im Datenblatt 
nichts gefunden, dass da irgendwas verbunden ist.

Ansonsten wie von Jörg bestätigt: Du kannst zumindest versuchen, ein 
Gatter an TOSC2 zu hängen um den Quarztakt direkt abzugreifen. Beim 
Hauptoszillator geht das i.d.R. auch ganz gut (wenn man dafür sorgt, 
dass die CKOPT-Fuse gesetzt ist und der Pin nicht zu stark belastet 
wird). Mit dem asynchronen Oszillator habe ich noch keine derartigen 
Erfahrungen und weiß deshalb nicht, ob der das mitmacht.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
die Verbindung existiert auf meinem TinyBoard (von siphec), hätte ich 
vielleicht erwähnen sollen!

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.