Wie können zwei separate Geräte Taktdaten an einen Schieberegister-IC senden?

Ich verwende einen Mikrocontroller, um ein Byte in ein 74HC595-Schieberegister zu takten und es zu verriegeln. Es sendet dann ein Signal an das andere Gerät, das 8 Taktimpulse sendet, wenn es bereit ist, das Byte zu empfangen.

Meine Frage ist also, können sich die beiden Geräte den einen Pin für die Schieberegisteruhr teilen? Sollen sie voneinander isoliert werden?

Eine Möglichkeit besteht darin, beide Taktsignale über ein ODER-Gatter zu verbinden.
@BrianDrummond Ist ein ODER-Gatter nicht nur zwei Dioden, die einen Übergang bilden?
Zwei Dioden und ein Pulldown-Widerstand sind eine Möglichkeit, ein ODER-Gatter herzustellen, ja. Nicht der beste Weg für schnelle Signale, aber OK für einen Mikrocontroller.
Wäre dies für Signale mit einer Periode von 80 μs geeignet? Was unterscheidet sich von einem 4071-AND-Gatter-IC und der oben beschriebenen Methode?
(a) ja, (b) jeder grundlegende Text zur booleschen Logik wird den Unterschied zwischen AND und OR erklären.
Entschuldigung, ich meinte einen 4071 ODER-Gatter-IC

Antworten (1)

Wenn beide Mikrocontroller das Einstellen der Pins unterstützen, die Sie als serielles Taktsignal auf einen hochohmigen Zustand / Tristate verwenden (wenn Sie einen normalen GPIO-Pin verwenden, würden die meisten Mikros dies unterstützen), können Sie das, was Sie beschrieben haben, ohne zusätzliche erreichen Komponenten oder Isolieren der Clock-Pins voneinander. Was Sie tun werden, ist einfach die beiden Mikro-Taktstifte und den Takteingang des Schieberegisters direkt miteinander zu verdrahten und dann den seriellen Taktstift jedes Mikros auf hohe Impedanz zu setzen, wenn er nicht aktiv ein Taktsignal erzeugt, so dass das andere Mikro frei ist, um das zu treiben Uhrenlinie. Es gibt eine ältere Frage, die sich damit befasst, was es bedeutet, einen Pin auf hohe Impedanz / Tristate eines Pins zu setzen .

Wie Sie mit der Frage nach dem „Isolieren“ der Taktleitungen voneinander aufgegriffen haben, möchten Sie die Pins mit drei Zuständen versehen, damit es nicht zu „Konkurrenz“ kommt, wenn ein Mikro versucht, die Taktsignalleitung in eine Richtung zu treiben (z . hoch) und das andere Mikro versucht, es in eine andere Richtung zu treiben (z. B. niedrig) - was dazu führen würde, dass die beiden Mikros viel Strom liefern / senken, die Dinge heiß werden, möglicherweise den magischen Rauch entweichen lassen und im Allgemeinen Probleme verursachen . Daher sollten Sie darauf achten, dass niemals beide Mikros gleichzeitig aktiv (dh nicht hochohmig) die Taktleitung ansteuern, insbesondere während der Übergabezeit, wenn Sie wechseln, welches Mikro das ansteuert Uhrenlinie.

Sie werden wahrscheinlich auch einen Pull-up-Widerstand auf der gemeinsam genutzten Taktleitung hinzufügen wollen, um zu vermeiden, dass die Taktleitung aufgrund von Rauschen, die sie zu Zeiten aufnimmt, frei herumschwingen kann, wenn kein Mikro die Leitung aktiv antreibt (dh beide haben ihre Uhren). hochohmig einstellen - dies wird wahrscheinlich zumindest kurzzeitig passieren, wenn Sie den vorherigen Satz beachten...). Möglicherweise können Sie ohne den Pull-Up-Widerstand davonkommen, indem Sie die internen Pull-Ups an den Mikros verwenden, oder einfach Glück haben und keine "unechten" Taktsignale aufnehmen, aber es wäre sicherer, den externen Pull-Up hinzuzufügen.