Hallo ich habe vor zwei uC (ATMEGA8) zu betreiben. Dabei möchte ich dass beide synchron arbeiten. Ich möchte bei beiden variable Impulse erzeugen und damit zwei LED's ansteuern. Das ganze wird über einen Schalter aktiviert. (siehe Anhang) Diese Schaltung musss nicht wirklich Sinn machen. Ich möchte es anhand dieser einfachen Schaltung veranschaulichen, was ich vor habe. Würde es denn so gehen oder wären die Impulse nicht synchron zueinander? Ich verute mal das eventuell segnifikante Abweichungen existieren würden aufgrund interner Schwankungen bzw ungleicher Frequenz des internen RC-Oszillators? Stimmts? Wenn ja, wie kann man dafür sorgen, dass sie synchron laufen? 1 MHz Quarz anschlieesen?
Wie du schon richtig erkannt hast würden die LED's Aufgrund von Abweichungen der RC-Oszillatoren nicht synchron leuchten. Quarze alleine würden aber auch nicht funktionieren, da man auch dort minimale Abweichungen hat. Zudem können bzw. werden die Quarze unterschiedlich schnell anschwingen, das ganze wäre also auch mit Quarz nicht sofort ohne zutun synchron. Wie du siehst, Anschalten und fertig reicht also nicht, du müsstest die Chips auf anderem Wege miteinander Synchronisieren.
Hallo ja, dann wirds schwierig. Muss ich dann anders lösen.. Eine andere Frage. Kann ich denn zwei uC an der selben Versorgungsspannung anschliessen? Hab es nämlich noch nie mit zwei versucht. Auch mit de Schalter für zwei uC? :)
Stell per Fusebit die Funktion an, dass der erste den Prozssortakt auf Pin B-Irgendwas ausgiebt und nimm das als Taktquelle für den zweiten Controller Oder nimm nen Quarzoszilator und speise damit beide µC
Klar kannst du 2 Controller an die selbe Versorgungsspannung hängen aber vergiss nicht ihnen jeweils einen eigenen Abblockkondensator zu spendieren. Die Sache mit dem Schalter sollte ebenfalls kein Problem sein, höchstens das Prellen des Tasters müsste eventuell abgefangen werden. Ansonsten kann ich mich nur meinem Vorrredner anschließen, das sollte der einfachste weg sein, beide Chips mit dem selben Takt zu versorgen.
hallo vielen herzlichen dank. werde es so probieren. grüsse
Den selben Takt halte ich für die LEDs für überflüssig: Nehmen wir an, man kann einen Unterschied von 1/24 sec (ca. 40 ms) erkennen, und ein Takt dauert 1/1MHz (0,001ms), dann können die Controller einige Takte aus einander laufen, bis sie einen merkbaren Unterschied liefern. Würden die Prozessoren gleich schnell auf die Taste reagieren, wäre es also völlig egal, ob die Takte einige % abweichen. Wichtiger ist: Sie müssen zur selben Zeit einen Anlass zum reagieren erkennen. Z.B. über die Taste. hier ist die Frage: kann einer der Controller in einem Programmteil stecken, der das Erkennen des Tastendrucks verzögert? Wenn beide Controller nur ständig die Taste abfragen, oder die Taste per Interrupt erkannt wird, sehe ich keine Gefahr, dass du einen Unterschied merkst. Dann ist das Signal von der Taste die Synchronisation, die du suchst. Ansonsten eine andere Idee zur Synchronisierung: Ein Controller fragt die Taste ab und gibt dem anderen dann Bescheid. Z.B. über einen ext. Interrupt, Unterschiede in der Reaktion kommen von der Leitungsverzögerung (vernachlässigbar für das menschliche Auge, außer der Signalweg ist etliche Meter lang), durch etwaiges entprellen (vernachlässigbar für das menschliche Auge), ... oder aber dadurch, dass der Controller mit etwas anderem beschäftigt ist. Der Takt zu synchronisieren ist dann sinnvoll, wenn die Controller über längere Zeit das selbe machen sollen, ohne dabei auf Signale von außen zu reagieren. Und dann ist das Problem eher: Hat ein Prozessor einen Reset (z.B. Brownout) und der andere nicht? Werden sie gleichzeitig gestartet? Bzw. werden sich auch bei gleichzeitigem Starten einige Takte aus einander liegen. Ist das für deine Anwendung wirklich wichtig? Das aus einander Laufen der Takte liegt am Ende einer langen Liste von Problemen, die du GAR NICHT HAST. Der einzige Fall, den ich kenne, und wo synchrone Takte einen Sinn machen, ist die synchrone Kommunikation, wenn anhand der Takte die einzelnen Bits aus einander gehalten werden. Und je nach Übertragungsgeschwindigkeit im Vergleich zum Controllertakt ist auch hier evtl. ein zyklisches Synchronisierungssignal ausreichend und der tatsächlich selbe Takt nicht notwendig.
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.