Forum: Mikrocontroller und Digitale Elektronik Slestames verhalten bei zwei AVRs an einem Oscillator


von DanDanger (Gast)


Lesenswert?

Hallo,
in meiner Schaltung werden zwei AVRs (ATMega-8 bei 5V) von einem 
einzigen Quarz-Oscillator (kein Quarz(!), sondern das Teil mit den 4 
Anschlüssen ;-)) mit dem Taktsignal versorgt. Die Fuse-Bits sind bei 
beiden AVRs auch korrekt gesetzt. Das Problem ist: Jeder AVR für sich 
genommen funktioniert super, aber sobald beide AVRs in der Schaltung 
sind passiert gar nichts mehr. Beispiel: AVR 1 lässt eine LED im Takt 
blinken. Sobald AVR 2 hinzugeschaltet wird (also an die 
Versorgungsspannung angeschlossen wird) hört auch das blinken der LED 
auf.
Es sieht fasst so aus, als wäre der Oscillator zu "schwach" um beide 
AVRs zu treiben (obwohl im Datenblatt steht, er könne zwei TTL-Eingänge 
betreiben).

Hat irgendjemand ne' Idee woran das liegen könnte?
Was wäre den generell die beste Vorgehensweise, wenn man zwei (oder 
mehr) AVRs mit einem einzigen Taktsignal versorgen möchte ?

Neugierige Grüße
  DanDanger

von Loonix (Gast)


Lesenswert?

DanDanger schrieb:
> Hat irgendjemand ne' Idee woran das liegen könnte?

Erde an MaWin: Fass!

;)

p.s. Für Insider...
p.s.s @DanDanger: Nix für Ungut!

von I. L. (Gast)


Lesenswert?

Loonix schrieb:
> Erde an MaWin: Fass!

ROFL

DanDanger schrieb:
> Hat irgendjemand ne' Idee woran das liegen könnte?

Hast du schonmal den Takt oszillographiert? Wenn der Takt weg ist, was 
soll denn passieren?

Gruß Knut

von Simon K. (simon) Benutzerseite


Lesenswert?

Wie haste das ganze denn verdrahtet?

von DanDanger (Gast)


Lesenswert?

Der Ausgang des Oscillators ist direkt auf die "XTAL1"-Eingänge der 
beiden AVRs geschaltet. Die "XTAL2"-Pins sind jeweils unbeschaltet.

von DanDanger (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal der Schaltplan für das Teil ;-)

von Ich (Gast)


Lesenswert?

DanDanger schrieb:
> Re: Slestames verhalten bei zwei AVRs an einem Oscillator
      ^^^^^^^^^

vielleicht solltest du die Tastatur nicht mit an den Takt anklemmen.

von Stefan (Gast)


Lesenswert?

@ich:
Dein Beitrag hat dem TE jetzt bestimmt mördermäßig geholfen, und du bist 
ein riesen Typ, dass Dir der Tippfehler aufgefallen ist, Daumen hoch!

@DanDanger:
Schau mal eben im Datenblatt des Mega8 ob der die Option hat das 
Datensignal wieder an XTAL2 auszugeben, so könntest Du beide in Reihe 
schalten

von Ich (Gast)


Lesenswert?

Stefan schrieb:
> Dein Beitrag hat dem TE jetzt bestimmt mördermäßig geholfen, und du bist
> ein riesen Typ, dass Dir der Tippfehler aufgefallen ist, Daumen hoch!

Danke, es ist doch Sinn diese Forum auf Rechtschreibfehler und 
irgendwelchen Paragrafen rumzureiten ohne Hilfe zu bieten. Zumindest ist 
es bei vielen Beiträgen so.

von DanDanger (Gast)


Lesenswert?

Hi,
leider gibt der Mega8 das Taktsignal nicht wieder aus.
Aber eigentlich (TM) sollte die Schaltung so wie sie im Schaltplan zu 
sehen ist ja auch funktionieren...

von Frank K. (fchk)


Lesenswert?

Zeig mal Deinen Aufbau!  Taktsignale sollten kürzestmöglich sein. Und 
denke auch daran, dass der Strom auch einen Rückweg braucht, d.h. eine 
saubere Masse ist auch Pflicht. Idealerweise liegen Hinweg und Rückweg 
eng beieinander.

Und bei Deiner Schaltung schwant mir auch böses. Du weißt, dass es 
größere AVRs gibt? Auch welche mit mehreren UARTs? Und das die auch 
lötbar sind?

fchk

von DanDanger (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal das Platinenlayout (Platine ist Doppelseitig)

von DanDanger (Gast)


Lesenswert?

>Und bei Deiner Schaltung schwant mir auch böses.
Warum ?

von Chris (Gast)


Lesenswert?

So auf den ersten Blick sehe ich da Masseinseln. Kann es sein dass die 
nicht alle miteinander Verbunden sind?

von DanDanger (Gast)


Angehängte Dateien:

Lesenswert?

Nein, ich hab' nur versehentlich zwei mal die Platinen-rückseite 
hochgeladen.
Hier die "richtige" Voderseite ("Top"-Layer).

von Holger (Gast)


Lesenswert?

Hallo DanDanger,

die meisten Oszillatoren haben an Pin 1 eine ENABLE Funktion, high oder 
low aktiv; prüfe mal die Funktion indem Du Pin1 auf 5V bzw. Gnd legst.
Wenn Dein Oszillator diese Funktion hat und der Pin potentialfrei ist, 
weiß man nie was passiert.

Gruß Holger

von DanDanger (Gast)


Lesenswert?

Hi,
ich hab' das gerade mal geprüft. Der PIN1 vom Oszillator hat keinerlei 
funktion, es macht keinen Unterschied ob er auf VCC oder GND geschaltet 
ist. Mit nur einem AVR funktioniert das ganze ja seltsamerweise auch, 
nur wenn beide in der Schaltung sind ist irgendwie der Wurm drin...

von Frank K. (fchk)


Lesenswert?

DanDanger schrieb:
>>Und bei Deiner Schaltung schwant mir auch böses.
> Warum ?

Warum nimmst Du zwei, ältere AVRs, wo es ein etwas größerer auch getan 
hätte?

fchk

von DanDanger (Gast)


Lesenswert?

Weil ich die gerade noch bei mir auf Lager hatte ;-)

von spess53 (Gast)


Lesenswert?

Hi

>Weil ich die gerade noch bei mir auf Lager hatte ;-)

Verstehe ich nicht. Du verschwendest für die Kommunikation und 
zusätzlichen ISP mehr Pins als du gewinnst.

MfG Spess

von Frank K. (fchk)


Lesenswert?

... und sie schlecht zu werden drohten.

Kopfschüttelnd

fchk

von DanDanger (Gast)


Lesenswert?

Die Idee zwei AVRs zu nehmen war sicherlich nicht die beste, aber mich 
würd' ja schon noch interessieren, warum das Teil nicht funktioniert ;-)

Oder anders gefragt: Muss man irgendwelche verrückten Dinge beachten 
(Mondphase, Erdstrahlung, ...) wenn man zwei AVRs an einer gemeinsamen 
Taktquelle betreiben möchte!?

Gruß
  DanDanger

von Floh (Gast)


Lesenswert?

Zum Eingrenzen des Fehlers:
Ist es egal, welcher der beiden AVRs angeschlossen ist?
Oder läuft z.B. nur Prozessor 1 solo am Taktgeber?
Ansonsten wäre es auch mal nicht schlecht, den Takt zu oszilloskopieren.
Lötbrücken?
Kurzschlüsse?
Ich vermisse übrigends die Abblockkondensatoren auf dem Layout. :-)

von Frank K. (fchk)


Lesenswert?

DanDanger schrieb:
> Die Idee zwei AVRs zu nehmen war sicherlich nicht die beste, aber mich
> würd' ja schon noch interessieren, warum das Teil nicht funktioniert ;-)
>
> Oder anders gefragt: Muss man irgendwelche verrückten Dinge beachten
> (Mondphase, Erdstrahlung, ...) wenn man zwei AVRs an einer gemeinsamen
> Taktquelle betreiben möchte!?

Nur die üblichen Layoutregeln: Abblockkondensatoren direkt an die 
betreffenden Pins, wenn möglich Pin->C->Versorgung statt 
Pin->Versorgung->C, auf die Rückströme über Ground achten (Fläche der 
Masche minimieren), etc etc.

fchk

von Holger (Gast)


Lesenswert?

Hallo DanDanger,

am Oszillator sollte es eigentlich nicht liegen; ein Fanout von
zwei TTL's ist für CMOS-Eingänge deutlich mehr als ausreichend.
Wenn nix mehr zuckt, ganz lapidarer Ansatz:
Wenn zwei atmegas laufen "zieht die Leiterkarte mehr Strom".
Wie sieht denn die Spannungsversorgung aus?
Strombegrenzung evt. auf min gedreht? dann passiert:

Reset Sources
The ATmega8 has four sources of Reset:
• Power-on Reset. The MCU is reset when the supply voltage is below the 
Power-on Reset threshold (VPOT).
•••

Gruß Holger

von DanDanger (Gast)


Lesenswert?

@Floh:
Das Problem tritt wirklich nur auf, wenn BEIDE AVRs GLEICHZEITIG auf der 
Platine sind. Die Controller kann ich ansonsten beliebig tauschen 
(Controller A als IC1 / IC2, Controller B als IC1 / IC2), funktioniert 
ohne Probleme.
Es ist auch egal, ich welcher Reihenfolge das zuschalten passiert.
Z.B. läuft der Controller an IC1 problemlos, bis IC2 dazugeschaltet 
wird.
Analog läuft der Controller an IC2 problemlos, bis IC1 dazugeschaltet 
wird. Sehr mysteriös, das ganze...

@Holger:
Ja, das habe ich zerst auch gedacht. Der Spannungsregler (LM 117) kann 
laut Datenblatt einen Dauerstrom von 1.5A liefern. Mein Netzteil 
(Strombegrenzung) sagt mir, das zu keinem Zeitpunkt mehr als 300mA von 
der Schaltung gezogen werden. Da ist somit noch mehr als ausreichend 
Luft drin ;-)

Ich werde die Schaltung wohl nochmal genauer auf "kalte" Löststellen, 
etc.
untersuchen müssen ;-(

Gruß
  Daniel

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

DanDanger schrieb:
> @Holger:
> Ja, das habe ich zerst auch gedacht. Der Spannungsregler (LM 117) kann
> laut Datenblatt einen Dauerstrom von 1.5A liefern. Mein Netzteil
> (Strombegrenzung) sagt mir, das zu keinem Zeitpunkt mehr als 300mA von
> der Schaltung gezogen werden. Da ist somit noch mehr als ausreichend
> Luft drin ;-)

Du hast den Teil des Schaltplans mit der Spannungsreglung noch nicht 
gepostet. Wie hoch ist die Spannung am Ausgang deines Netzteils? Wie 
hoch ist die Strombegrenzung des Netzteils eingestellt?

Gruß,
Magnetus

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

VCC ist übrigens grottenschlecht geroutet !

von DanDanger (Gast)


Angehängte Dateien:

Lesenswert?

Die Stromversorgung ist die Standardbeschaltung für dem LM117/317 aus 
dem Datenblatt. Das Teil kann einen Dauerstrom von 1.5A liefern und ist 
zur Zeit auf eine Spannung von 5V eingestellt.
Die Strombegrenzung des Labornetzteils ist auf 2A eingestellt (bei 9V), 
allerdings zieht die Schaltung zu keinem Zeitpunkt mehr als 300mA.

Die Versorgungsspannung an den beiden ICs ist ebenfalls stabil bei 5V
(mit Multimeter nachgemsessen).
Selbst wenn beide ICs im Sockel sind, die Stromversorgung bleibt stabil 
bei 5V.

Gruß
  Daniel

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

DanDanger schrieb:
> Die Strombegrenzung des Labornetzteils ist auf 2A eingestellt (bei 9V),
> allerdings zieht die Schaltung zu keinem Zeitpunkt mehr als 300mA.

Miss doch mal die Stromaufnahme der Schaltung bei Teilbestückung.

IC1 bestückt, IC2 unbestückt:  Stromaufnahme = ?
IC1 unbestückt, IC2 bestückt:  Stromaufnahme = ?

Gruß,
Magnetus

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

DanDanger schrieb:
> Die Versorgungsspannung an den beiden ICs ist ebenfalls stabil bei 5V
> (mit Multimeter nachgemsessen).

Das sollte man hier lieber mit einem Oszi messen. Das MM zeigt dir keine 
HF-Schwingung an!

von DanDanger (Gast)


Lesenswert?

IC1 bestückt, IC2 unbestückt:  Stromaufnahme ca. 170mA
IC1 unbestückt, IC2 bestückt:  Stromaufnahme ca. 170mA
IC1 bestückt, IC2 bestückt:  Stromaufnahme ca. 300mA

Irgendwas scheint dafür zu sorgen, das sich die AVRs immer resetten wenn 
beide Controller in die Schaltung eingebaut werden.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Die wichtige Frage ist doch: WIE genau hast Du die MCUs gefused?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Löte mal versuchsweise bei beiden AVRs_ je ein C mit 100nF _direkt an 
die Pins 7 und 8.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Du schickst die kompletten 300mA übrigens über eine 0,3mm breite 
Leiterbahn. Dass das Fehler verursacht überrascht mich nicht.

von DanDanger (Gast)


Lesenswert?

Hallo zusammen,
so wie es aussieht scheint's tatsächlich an der schlecht gerouteten 
Stromversorgung auf der Platine zu liegen. Werd' beim nächsten mal 
zusehen,
die Stomversorgung als erstes (mit entsprechender Breite) zu verlegen 
;-)

Für zukünftige Projekte ist es immerhin gut zu Wissen, das der Fehler 
"nur" am Platinenlayout lag.

Nochmal danke an alle, die geholfen haben :-)

Gruß
  Daniel

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

DanDanger schrieb:
> Nochmal danke an alle, die geholfen haben :-)

Mooooment... Dein (aktuelles) Problem ist mit den beiden Cs alleine 
nicht gelöst!

> so wie es aussieht scheint's tatsächlich an der schlecht gerouteten
> Stromversorgung auf der Platine zu liegen.

Auch wenn es jetzt funktionieren mag, rate ich dir dringend die zu 
dünnen Leiterbahnen mit einem Draht von Hand nachzuverdrahten!

> Nochmal danke an alle, die geholfen haben :-)

Gern geschehen ;)

Gruß,
Magnetus

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.