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


von Volker S. (volkerschulz)


Angehängte Dateien:

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

von Thomas W. (wagneth)


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...

von Thomas W. (wagneth)


Lesenswert?

Falsche info !

Du brauchst noch einen "Clock Buffer".

Was da aus XTAL2 rauskommt ist wohl zu instabil.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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

von Thomas K. (muetze1)


Lesenswert?

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

von Volker S. (volkerschulz)


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

von Norbert (Gast)


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.

von Falk B. (falk)


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

von Bernhard R. (barnyhh)


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

von Norbert (Gast)


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!

von Thisamplifierisloud (Gast)


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 ?

von Volker S. (volkerschulz)


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

von Bernhard R. (barnyhh)


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

von Matthias (Gast)


Lesenswert?

>Zur weiteren Information: Clockfrequenz = 15 MHz.

Spannungsversorgung? (5V?)

von Volker S. (volkerschulz)


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

von Chris (Gast)


Lesenswert?

>Welche Aufgabe hat dieser Widerstand denn?

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

von Bernhard R. (barnyhh)


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

von Volker S. (volkerschulz)


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

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.