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
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...
Falsche info ! Du brauchst noch einen "Clock Buffer". Was da aus XTAL2 rauskommt ist wohl zu instabil.
An einem AVR den Quarz dran und den Taktausgang freischalten. An letzterem kommt dann der zweite AVR dran (externer Takt).
Oder eine Oscillator, das ist dann definitiv ein Ausgangssignal und das sollte doch problemloser an zwei Devices geleitet werden.
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
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.
@ 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
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
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!
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 ?
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
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
>Zur weiteren Information: Clockfrequenz = 15 MHz.
Spannungsversorgung? (5V?)
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
>Welche Aufgabe hat dieser Widerstand denn?
Der bildet zusammen mit den parasitären Kapazitäten der Leitung einen
Tiefpass.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.