Ich habe einen Anwendungsfall, in dem ich mehr als 4 Sonarsensoren mit einem pic 628A-Mikrocontroller steuern muss. Das Bild ist auch für die Steuerung eines GPS und eines LCD verantwortlich, sodass Pins knapp sind. Die Sonarsensoren haben jeweils einen einzelnen Signalstift. Um sie zu betreiben, pulsieren Sie diesen Stift, der ein Ultraschall-Zwitschern erzeugt, und warten dann, bis er wieder hoch geht, was anzeigt, dass ein Echo erkannt wurde. Die Zeit zwischen dem Anfangsimpuls und dem Antwortimpuls entspricht der Laufzeit des Chirps.
Ich würde gerne alle Sonarsensoren auf einen einzigen Bus multiplexen können, bin mir aber nicht sicher, wie ich das bewerkstelligen soll. Ich möchte, wenn möglich, nur grundlegende Komponenten verwenden (keine spezialisierten ICs), da mein Hauptzweck dieses Experiments darin besteht, ein besseres Verständnis der Grundlagen zu erlangen. Da der Signalkanal sowohl Eingang als auch Ausgang zulassen muss, glaube ich nicht, dass Bipolartransistoren funktionieren werden. Ich habe überlegt, FETs zu verwenden, um jede Signalleitung zu multiplexen, aber ich bin mit diesem Zeug sehr unerfahren und würde mich über eine Anleitung freuen.
Was Sie wollen, ist ein 8:1 Multiplexer/Demultiplexer. Sie können sie als IC erhalten , aber ich weiß nicht, ob das unter Ihre Vorstellung von einem "spezialisierten" IC fällt oder nicht. Es ist die Art von Dingen, die Sie in einem Digital-Logik-Kurs für Studienanfänger verwenden würden.
Wenn Ihnen das nicht einfach genug ist, zeigt Ihnen das Blockdiagramm immer noch, was Sie bauen müssen.
Die untere Hälfte sind Ihre MOSFETs. Die obere Hälfte wird als Decoder bezeichnet , wenn Sie dies in einem einzigen IC erhalten möchten. Sie können die Inverter und UND-Gatter mit 4 Eingängen auch als separate ICs erhalten, oder Sie können diese aus Transistoren bauen, wenn Ihnen das gefällt. Hängt davon ab, wie schwer du es dir selbst machen willst.
Der einfachste Ansatz könnte darin bestehen, so etwas wie einen 74HC4051 zusammen mit einer Art Zählerchip zu verwenden, um zwischen bis zu sieben Geräten auszuwählen. Man könnte wahrscheinlich einen einzelnen Prozessor-Pin verwenden, um alles zu tun, wenn der Zähler von der steigenden Flanke auf der Datenleitung betrieben würde, obwohl es wahrscheinlich eine gute Idee wäre, eine kurze Verzögerung hinzuzufügen (möglicherweise mit ein paar Schmidt-Trigger-Wechselrichtern mit einem RC Verzögerung zwischen ihnen) zwischen der Datenleitung und dem Takteingang des Zählers (um sicherzustellen, dass die Datenleitung ganz hoch ist, bevor der Zähler vorrückt). Um die Notwendigkeit einer separaten Leitung zum Zurücksetzen oder Erfassen des Zählerstands zu vermeiden, verbinden Sie einen der 74HC4051-Eingänge mit einem Pulldown-Widerstand, der stark genug ist, um den „normalen“ Pullup am Pin zu überwältigen. Das wiederholte Aktivieren und Loslassen des Pins würde dazu führen, dass der Zähler weit genug vorrückt, um diesen Eingang auszuwählen;
Kaz
Timothy Schoonover