Forum: Mikrocontroller und Digitale Elektronik Atmel Quarz-sharing für 4 µCs


von Werner (Gast)


Lesenswert?

Servus zusammen,

ihr könnt mir bestimmt ein wenig weiter helfen.
Ich würde gerne 4 µCs (1x Mega88 & 3x Tiny24) mit dem selben 20MHz-Takt 
versorgen. Nun habe ich allerdings das Problem, dass auf keinem der 4 
µCs der Clk-out Pin frei ist. Die Tiny24 sind voll belegt (XTAL1 und 
XTAL2 für den Takt noch frei) und der Mega 88 hat ausgerechnet am 
Clk-out-Pin den benötigten ICP1 drauf.

Ich frage mich nun, ob es nicht möglich ist den XTAL2-Pin des Mega88 mit 
den XTAL1-Pins der Tiny24 zu verbinden.
Vielleicht kann man ja sogar den XTAL2-Pin eines Tiny24 wiederum als 
Treiber nutzen, um das Taktisignal von Chip zu Chip zu schleifen, sodass 
der XTAL2-Pin des Mega88, an dem dann auch der Quarz hängen würde, nicht 
mehr als irgendwie nötig belastet wird.

Im DB des Mega88 lese ich, unter Kapitel 9.4 Absatz 2:
This Crystal Oscillator is a full swing oscillator, with rail-to-rail 
swing on the XTAL2 output. This is useful for driving other clock inputs 
and in noisy environments.

Was meint/wisst ihr? kann ich damit dann 3 XTAL1-Pins von den anderen 
Tiny24 + einen Quarz treiben?
und ließe sich der Takt auch von Chip zu Chip "durchschleifen"?

ich Danke euch schonmal für eure Hilfe
MfG
Werner

von Frank K. (fchk)


Lesenswert?

Nimm einen Oszillator oder bau Dir einen. z.B mit einem 74HCU04.

fchk

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Quarz an den Mega88  und Clock output buffer entsprechend programmieren.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Werner schrieb:
> µCs der Clk-out Pin frei ist. Die Tiny24 sind voll belegt (XTAL1 und
> XTAL2 für den Takt noch frei) und der Mega 88 hat ausgerechnet am
> Clk-out-Pin den benötigten ICP1 drauf.

Sind denn die Reset-Pins der Tinys noch frei? Die kann man ja notfalls 
auch als Ein- oder Ausgang verwenden.

von Mischmasch (Gast)


Lesenswert?

0,86 Cent und dein Problem ist gelöst 
www.reichelt.de/Oszillatoren/OSZI-20-000000/3/index.html?;ACTION=3;LA=44 
6;ARTICLE=13694;GROUPID=3174;artnr=OSZI+20%2C000000

von Davis (Gast)


Lesenswert?

Mischmasch schrieb:

> 0,86 Cent und dein Problem ist gelöst

Das glaube ich nicht.

von Werner (Gast)


Lesenswert?

Danke für eure Antworten,
die Gesuchte war noch nicht dabei (scherz!)

Oszillator bauen würde ich gerne auslassen, einen fertigen IC kenne ich 
keinen. Gibst das? wie nennt sich sowas?

Out-Buffer ist wie gesagt schon belegt, der Pin ist leider an keinem µC 
frei.

Die RESET-Pins würde ich ganz gerne zu programmieren behalten. Jedes mal 
den Chip zum Programmieren auslöten is doch etwas nervig bei meinen noch 
recht jungen Programmierkenntnissen.

von (prx) A. K. (prx)


Lesenswert?

Werner schrieb:
> Oszillator bauen würde ich gerne auslassen, einen fertigen IC kenne ich
> keinen. Gibst das? wie nennt sich sowas?

Was stört dich an einem komplett fertigen Oszillator wie im Beitrag von 
Mischmasch verlinkt?

von Werner (Gast)


Lesenswert?

Mischmasch schrieb:
> 0,86 Cent und dein Problem ist gelöst
> www.reichelt.de/Oszillatoren/OSZI-20-000000/3/index.html?;ACTION=3;LA=44
> 6;ARTICLE=13694;GROUPID=3174;artnr=OSZI+20%2C000000

wenn ich das richtig lese kann der nur 15pF "treiben"... das dürfte 
relativ knapp sein bei 3 ICs oder nicht?
hat denn sowas noch keiner gemacht? Wundert mich!

von Werner (Gast)


Lesenswert?

Habe vielleicht eine ähnliche Lösung:
SN74LVC1GX04DBVR
http://www.ti.com/litv/sces581b
nur kann der 20MHz? das Datenblatt macht mich nicht direkt schlau...
Zitat:
Suitable for Commonly Used Clock Frequencies:
 15 kHz, 3.58 MHz, 4.43 MHz, 13 MHz, 25 MHz, 26 MHz, 27 MHz, 28 MHz

Was anderes finde ich gerade bei Mouser (lieferant ist leider 
vorgegeben) nicht. Vermutlich verwende ich nicht die richtigen 
Suchbefehle, aber meine Trefferquote ist momentan wirklich mager...

von Dietrich L. (dietrichl)


Lesenswert?

Werner schrieb:
> wenn ich das richtig lese kann der nur 15pF "treiben"

Wie kommst Du auf die Idee? Das geht schon, problemlos.

Gruß Dietrich

von (prx) A. K. (prx)


Lesenswert?

Werner schrieb:
> wenn ich das richtig lese kann der nur 15pF "treiben"...

Das dürften die Messbedingungen sein.

von (prx) A. K. (prx)


Lesenswert?

Werner schrieb:
> hat denn sowas noch keiner gemacht?

Doch. Aber vermutlich hat keiner der grad Mitlesenden Lust, für dich 
hier im Forum zu suchen, oder zu googeln. Ich habe es vage so in 
Erinnerung, dass es prinzipiell so geht, aber ein Gatter als Treiber 
nahe(!) am Ausgang des Oszillators die zusätzliche Last begrenzen 
sollte.

von Robert (Gast)


Lesenswert?

Was wäre denn nachteilig daran nun jedem seinen eigenen Quarz zu 
spendieren?

von Wilhelm F. (Gast)


Lesenswert?

A. K. schrieb:

> Was stört dich an einem komplett fertigen Oszillator wie im Beitrag von
> Mischmasch verlinkt?

Vielleicht der Energieverbrauch. Kenne aber die 
Niedrigst-Energie-Oszillatoren nicht so. Wenn es da was gibt: OK.



Ansonsten sah ich in meiner ollen 8051-Literatur eine einfache 
Beispielschaltung zur Taktverstärkung. Man trennte an der Output-Seite 
den Ziehkondensator an der Masse auf, und schleifte dort einen 
Universal-Kleintransistor z.B. BC547 (NPN) an Basis und Emitter ein. 
Antiparallel zur Strecke BE eine Diode 1N4148. Der Kollektor liegt über 
1k an 5V. Vielleicht wäre das etwas für Werner.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Darf ich da mal eine Übertriebe Lösung einwerfen :)

CPLD als Taktverteiler :)

von Wilhelm F. (Gast)


Lesenswert?

Dennis Heynlein schrieb:

> CPLD als Taktverteiler :)

Da kannst du bestimmt auch erläutern, wo das Sinn macht, und vor allem, 
was es kostet, und was man noch so an Bausteinen, Tools und Knowhow 
dafür extra braucht.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

>> Da kannst du bestimmt auch erläutern, wo das Sinn macht, und vor allem,
>> was es kostet, und was man noch so an Bausteinen, Tools und Knowhow
>> dafür extra braucht.

Ein Quarzoszillator,
ein CPLD
und die Nutzung des direkten Takteinganges eines µC (external clock).

Das ermöglicht eine Verteilung unterschiedlich geteilter Grundtakte an 
mehrere Controller.
Optional je nach Umfang des CPLD bis hin zum Reset-Managment und 
"Netzwerk" zwischen Controllern.
Je nach Realisierbarkeit der Stabilitätskriterien sanfter Taktwechsel 
ohne Reset.

-Tools ? Xilinx-Tools für lau
Sicherlich muß man sich das KnowHow aneignen ?
Schematic zeichnen für den Anfang.
Eine übertriebene Lösung implementiert selten einen Sinn !

von Wilhelm F. (Gast)


Lesenswert?

Dennis Heynlein schrieb:

> Das ermöglicht eine Verteilung unterschiedlich geteilter Grundtakte an
> mehrere controller.
> Optional je nach Umfang des CPLD bis hin zum Reset-Managment und
> "Netzwerk" zwischen Controllern.
> Je nach Realisierbarkeit der Stabilitätskriterien sanfter Taktwechsel
> ohne Reset.

Da habe ich bei Systemtakten und Ableitungen eher noch so Dinge wie CMOS 
4040 oder 4020 im Kopf. Auch Frequenzverdopplung mit Gattern. Aber jedem 
das seine.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Ist CMOS 4040 oder 4020 in der Lage zur Laufzeit den Takt anzupassen ? 
Einfach per Befehl über Seriellen Port ?

Und so teuer sind ja CPLDs nun auch nicht mehr :)

von Wilhelm F. (Gast)


Lesenswert?

Dennis Heynlein schrieb:

> Ist CMOS 4040 oder 4020 in der Lage zur Laufzeit den Takt anzupassen ?
> Einfach per Befehl über Seriellen Port ?

Entschuldigung, daß ich die ollen CMOS 4000 mit den langen Schaltzeiten 
als Synonym nahm, da gibt es ja auch schnelle Gatter 74ACxx. Je nach 
dem, was man braucht.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

ich wollt ja nur meinen Standpunkt mit einbringen :)
Kein Streit.

von Axel S. (a-za-z0-9)


Lesenswert?

Meine Fresse, ziehen sich denn hier alle die Hose mit der Kneifzange an? 
Einfach den µC mit dem potentesten Oszillator (vermutlich der M88) als 
Master deklarieren und als "full swing crystal oscillator" 
konfigurieren. Mit seinem Oszillator-Ausgang (XTAL2) dann die Eingänge 
(XTAL1) der anderen µC ansteuern (und die natürlich für "external clock" 
konfigurieren).

Dabei natürlich auf die Kapazitäten achten und die Bürde-Kondensatoren 
am Quarz entsprechend auslegen. Die Grenze ist spätestens dann erreicht, 
wenn man auf einen negativen Wert für den Kondensator an XTAL2 kommt :)

Im letzteren Fall kann man entweder einen externen Oszillator nehmen 
(der natürlich Lasten >15pF treiben kann, wer erzählt denn so einen 
Unsinn?) oder einen Clock-Buffer zwischen den Master-µC und die Slaves 
schalten. Dafür reicht schon ein 74 HC/AC Gatter.

Den dezidierten CLKO Pin braucht man nur, wenn man das Signal eines 
internen Oszillators synchron an alle µC verteilen will. Oder wenn man 
richtig viel Last treiben will ohne selber einen Buffer zu spendieren.


XL

von Mischmasch (Gast)


Lesenswert?

Axel Schwenke schrieb:
> Meine Fresse, ziehen sich denn hier alle die Hose mit der Kneifzange an?
> Einfach den µC mit dem potentesten Oszillator (vermutlich der M88) als
> Master deklarieren und als "full swing crystal oscillator"
> konfigurieren. Mit seinem Oszillator-Ausgang (XTAL2) dann die Eingänge
> (XTAL1) der anderen µC ansteuern (und die natürlich für "external clock"
> konfigurieren).

Ja, man kann sich natürlich einen runterholen und hoffen, dass das 
funktioniert. Oder man kauft sich für 0,86 seinen Seelenfrieden und 
wendet sich danach wichtigeren Problemen zu.

von Wilhelm F. (Gast)


Lesenswert?

Mischmasch schrieb:

> Ja, man kann sich natürlich einen runterholen

Nein, man läßt sich einen runter holen.

War ein Mann im Kofferladen, und zeigte in Gegenwart der Verkäuferin 3 
Meter hoch auf die oberste Regalablage. Die Verkäuferin sagte da: Soll 
ich ihnen einen runter holen? Der Mann sagte dann: Jaaaa. Für den Koffer 
komme ich dann mal wieder...

von Axel S. (a-za-z0-9)


Lesenswert?

Mischmasch schrieb:
> Axel Schwenke schrieb:
>> Meine Fresse, ziehen sich denn hier alle die Hose mit der Kneifzange an?
>> Einfach den µC mit dem potentesten Oszillator (vermutlich der M88) als
>> Master deklarieren und als "full swing crystal oscillator"
>> konfigurieren. Mit seinem Oszillator-Ausgang (XTAL2) dann die Eingänge
>> (XTAL1) der anderen µC ansteuern
>
> Ja, man kann sich natürlich einen runterholen und hoffen, dass das
> funktioniert.

Kannst du auch irgendwie begründen warum das nicht funktionieren soll? 
Oder ist das wieder nur ein Fall von "der Hersteller hat nicht extra ins 
Datenblatt geschrieben, daß das so geht, also wirds auch nicht gehen"?

> Oder man kauft sich für 0,86 seinen Seelenfrieden

Ein externer XO hat auch Nachteile. Er ist tendenziell größer als ein 
nackter Quarz (die verlinkte Blechbüchse sowieso). Er braucht mehr 
Strom. Er ist nicht ziehbar. Und ein Gatter als Clock-Buffer (von dir 
strategisch weggeschnippelt) ist ja womöglich ohnehin noch frei.

Ansonsten ist XTAL2 bei entsprechender Konfiguration der Ausgang eines 
CMOS-Inverters. Sicher weniger potent als ein IO-Driver. Aber 
andererseits sicher mehr als genug, um einen anderen AVR mit Takt zu 
versorgen. Sooo unempfindlich kann dessen Eingang ja auch nicht sein, 
wenn er auch für einen low power XO taugt.


XL

von Wilhelm F. (Gast)


Lesenswert?

Axel Schwenke schrieb:

> Ansonsten ist XTAL2 bei entsprechender Konfiguration der Ausgang eines
> CMOS-Inverters. Sicher weniger potent als ein IO-Driver. Aber
> andererseits sicher mehr als genug, um einen anderen AVR mit Takt zu
> versorgen. Sooo unempfindlich kann dessen Eingang ja auch nicht sein,
> wenn er auch für einen low power XO taugt.

Vorsicht! Von mir selbst gemessene Ausgänge an Invertern von 
Quarzschaltungen bringen oft nur Sinus, das ist aber auch beabsichtigt, 
weil der Inverter als Linearverstärker arbeitet, nicht als 
Digitalschaltglied, und die Amplitude längst auch nicht mehr bis VCC.

von Peter D. (peda)


Lesenswert?

Diesen XTAL2 Mist habe ich früher auch mal gemacht, es bringt nur Ärger. 
Das taugt nicht für die Serie.

Wenn mehrere Quarze stören, dann nehme ich einen Oszillator und gut.
Oder den CLKO bei den ATmega.


Peter

von 6A66 (Gast)


Lesenswert?

Axel Schwenke schrieb:
> Mit seinem Oszillator-Ausgang (XTAL2) dann die Eingänge
> (XTAL1) der anderen µC ansteuern (und die natürlich für "external clock"
> konfigurieren).

Würd' ich noch zwei HC04 Drinverter hinter den Quarz spendieren und dann 
verteilen.

rgds

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Der Ausgang des Analog Comparator des m88 hängt intern übrigens am ICP1.
Wenn also die AINx noch frei sind, dann das Signal da anschließen und 
der CLK Out ist wieder frei ;)

Wenn selbst die dicht sind, dann bandgap einschalten und den ADC 
Multiplexer Output nutzen für den Comparator input duckundwech.

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.