mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zwei AVR, gemeinsamer Takt (Quarz)?


Autor: Volker Schulz (volkerschulz)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich moechte zwei Controller mit nur einem gemeinsamen Quarz versorgen.

Analog schrieb:
> Xtal1 Xtal2    Xtal1    Xtal2
>  |      |        |        X
>  +--[]--+--------+
>  |      |
> ---    ---
> ---    ---
>  |      |
>  -      -
>
>
> X = Not Connected


Verstehe ich das richtig: Einfach Xtal2 (vom µC mit Quarz) auf Xtal1 des
µC ohne Quarz? Also so, wie in angehaengter Zeichnung?

Wie werden die Fuses dann gesetzt?

Volker

Autor: Thomas W. (wagneth)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau doch mal ins Datenblatt.
Beim Atmega8 auf Seite 27.

So wie ich es verstanden habe -- ja.

Der "gebende" bekommt seine fuses wie immer nur ckopt muss gesetzt sein.

Der andere sieht dann einen externen Takt...

Autor: Thomas W. (wagneth)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falsche info !

Du brauchst noch einen "Clock Buffer".

Was da aus XTAL2 rauskommt ist wohl zu instabil.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An einem AVR den Quarz dran und den Taktausgang freischalten.
An letzterem kommt dann der zweite AVR dran (externer Takt).

Autor: Thomas K. (muetze1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder eine Oscillator, das ist dann definitiv ein Ausgangssignal und das 
sollte doch problemloser an zwei Devices geleitet werden.

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die entsprechende Seite des Datenblatts hatte ich mir bereits 
angeschaut, 100%ig eineutig ist das aber nicht. Und hier scheinen die 
Meinungen ja auch auseinander zu gehen. Hat irgendwer praktische 
Erfahrung mit einem Quarz fuer zwei µC?

Schonmal danke fuer die bisherigen Beitraege.

Volker

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm, das wird wohl auf jeden Fall auf Experimentieren hinauslaufen.
Die Verbindung zwischen den beiden Controllern erhöht ja nicht 
unerheblich die effektive Kapazität am rechten Quarkanschluß.
Da die (bei mir) immer so im Bereich 18-22pF liegen, solltest Du Dir ein 
paar wirklich kleine Kondensatoren besorgen.
Andererseits weiss man nicht wie der zweite Eingang das 
(An-)Schwingverhalten beeinflusst.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Norbert (Gast)

>Hmmm, das wird wohl auf jeden Fall auf Experimentieren hinauslaufen.

Nöö, einfach mal lesen. Wenn man den Taktausgang auf Full-Swing 
einstellt, kann/darf der noch einen zusätzlichen HC Eingang treiben, 
also einen zweiten AVR.

>Die Verbindung zwischen den beiden Controllern erhöht ja nicht
>unerheblich die effektive Kapazität am rechten Quarkanschluß.

Genau, das ist Quark ;-)

MFG
Falk

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Nibobee wird genau das gemacht: der X2-Ausgang des einen Processors 
geht (über einen Widerstand) an den X1-Eingang des anderen Processors.

Dort scheint es keine Probleme zu geben.
Bernhard

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:

> Nöö, einfach mal lesen. Wenn man den Taktausgang auf Full-Swing
> einstellt, kann/darf der noch einen zusätzlichen HC Eingang treiben,
> also einen zweiten AVR.
>
>>Die Verbindung zwischen den beiden Controllern erhöht ja nicht
>>unerheblich die effektive Kapazität am rechten Quarkanschluß.
>
> Genau, das ist Quark ;-)

Aha, wieder etwas dazu gelernt.

Man kann also durch setzen eines Flags im Controller die kapazitiven 
Auswirkungen längerer Leiterbahnen kompensieren und muß sich keine 
Gedanken über angepasste Kondensatoren (die normalerweise im Datenblatt 
des Quarzes angegeben werden) machen.

Cool!

Autor: Thisamplifierisloud (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Quark kostet doch nur wenige Centaven.

Warum die Sparsamkeit ?

Oder willst Du die AVRs "2in Einklang" bringen ?
Ich glaube nicht, daß die beiden so exakt gleichzeitig
losrennen.

Oder Stereo-AVRing ?

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thisamplifierisloud schrieb:
> Ein Quark kostet doch nur wenige Centaven.
>
> Warum die Sparsamkeit ?
>
> Oder willst Du die AVRs "2in Einklang" bringen ?
> Ich glaube nicht, daß die beiden so exakt gleichzeitig
> losrennen.
>
> Oder Stereo-AVRing ?

Nein, kein "Einklang", es geht tatsaechlich um die Sparsamkeit. Weniger 
in finanzieller Hinsicht als vielmehr um Layout Space.


Bernhard R. schrieb:
> Beim Nibobee wird genau das gemacht: der X2-Ausgang
> des einen Processors geht (über einen Widerstand) an
> den X1-Eingang des anderen Processors.

Was fuer ein Widerstand?

Volker

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Widerstand beträgt 820 Ohm lt. Schaltbild. Ich denke, daß sein Wert 
relativ unkritisch ist; irgendwo zwischen 220 Ohm und 1 kOhm sollte 
generell passen.

Die Clockleitung incl. Widerstand ist übrigens nicht gerade "kurz".
Zur weiteren Information: Clockfrequenz = 15 MHz.

Bernhard

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Zur weiteren Information: Clockfrequenz = 15 MHz.

Spannungsversorgung? (5V?)

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe nun das Ganze mal wie folgt testaufgebaut:

MEGA8535 auf Platine mit Spannungsversorgung und 3.6864 MHz Quarz Takt 
(ueber 18pF nach GND). Fuses: SUT_CKSEL auf Ext. Crystal, Med. Freq., 
16K CK + 64ms; CKOPT gesetzt.

MEGA8 auf STK500 Experimentierboard, Board-Takt per Jumper deaktiviert. 
Fuses: SUT_CKSEL auf Ext. Clock, 6CK + 64ms; CKOPT nicht gesetzt.

XTAL2 vom MEGA8535 ueber 20cm Leitung mit XT1 auf dem STK500 verbunden 
(geht auf XTAL1 des MEGA8). Im spaeteren Layout werden es nur ein paar 
Millimeter Leiterbahn sein.

Auf beiden Controllern laeuft ein Programm mit Timer (Prescaler 1024), 
der PORTB (auf Ausgang) invertiert.

An PINB0 jeweils eine Low-Current LED mit Vorwiderstand nach VCC.


Dann habe ich den MEGA8535 in Betrieb genommen, LED blinkt wie erwartet. 
Dann das STK500 in Betrieb genommen: Funktioniert. Beide µC lassen die 
LEDs augenscheinlich mit selber Frequenz blinken.


Wie stabil / genau das Ganze nun ist, kann ich natuerlich nicht sagen. 
Mir fehlen auch die technischen Hilfsmittel um das herauszufinden. Werde 
evtl. nachher mal seriell Daten vom MEGA8 zum PC uebertragen und nach 
Fehlern ausschau halten.


Bernhard R. schrieb:
> Der Widerstand beträgt 820 Ohm lt. Schaltbild.
> Ich denke, daß sein Wert relativ unkritisch ist;
> irgendwo zwischen 220 Ohm und 1 kOhm sollte
> generell passen.

Welche Aufgabe hat dieser Widerstand denn?


Volker

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Welche Aufgabe hat dieser Widerstand denn?

Der bildet zusammen mit den parasitären Kapazitäten der Leitung einen 
Tiefpass.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Nibobee ist ein Accubetriebener Billig-Roboter-Bausatz ähnlich dem 
ASURO.

Betriebsspannung also ca. 5 V (unstabilisiert),
Getriebener Processor: ATMEGA16,
Leiterbahn incl.Widerstand: mehrere Zentimeter.

Die ganze Angelegenheit sieht für mich aus nach
"funktioniert per Design" - nicht nach "funktioniert per Zufall  Test  
gut zureden".

Bernhard

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass es generell funktioniert kann ich ja nun auch bestaetigen, die 
Diskussion um Genauigkeit und Zuverlaessigkeit hat trotzdem ihre 
Berechtigung, denke ich.

Der interne Takt der AVRs funktioniert ja auch "by design", driftet aber 
dennoch gerne (ueber die Temperatur) so stark, dass der Fehler 
beispielsweise fuer die serielle Kommunikation zu gross wird.

Es gibt halt doch noch Abstufungen zwischen "Geht" und "Geht nicht". ;)

Volker

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.