Zwei AVR, gemeinsamer Takt (Quarz)?

OP #1570310
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
Angehängte Dateien:
Gast #1570456
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.
#1570484
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
Gast #1570506
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!
Gast #1570516
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 ?
OP #1570540
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
#1570558
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
OP #1570595
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
#1570689
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
OP #1570750
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren