Hallo, ich habe folgendes Problem: Ich möchte auf einer Zweidraht-Schnittstelle von Seite (A) ein 4 Bit Datenwort schicken. Auf Seite (B) möchte ich das Datenwort (Beispiel: 1101) parallel ausgeben. Da fällt mir sofort ein Schieberegister ein. Das Datenwort soll aber so lange an den parallelen Ausgängen des Schieberegisters anliegen, bis ich die nächsten 4 bit seriel an die Seite (B) schicke (Gerät(B) soll dafür nicht bedient werden müssen). Der Takt an dem Schieberegister wird doch aber dafür sorgen, dass die Daten nicht erhalten bleiben oder habe ich da etwas falsch in Erinnerung? Gruß Sebastian
Es gibt Schieberegister mit einem vorgeschalteten Latch. Allerdings keine 4-Bit weiten (wenn ich nicht irre). Du musst Du den Latch-Übernahme-Impuls noch mit einem zusätzlichen Zähler erzeugen. Es gibt irgendwo im Netz (in Ermangelung eines der guten alten Eulenbücher) ein Verzeichnis der 74er- und 40er-Reihe. Blätter da mal durch.
Sebastian W. schrieb: > eine Zweidraht-Schnittstelle Das ist der Knackpunkt. Welche denn? und zählst du GND da schon dazu oder nicht? Mit 2 Leitungen + GND könnte man I²C (aka TWI) verwenden. Da gibt es mehr als einen Baustein der 4 (oder mehr) digitale Ausgänge hat. Für ein "nacktes" Schieberegister braucht es wenigstens 3 Leitungen: Takt, Daten und Latch. Prinzipiell kann man das Latch zwar weglessen - aber dann wackeln die Leitungen halt, wenn man neue Daten einschiebt. XL
>Das ist der Knackpunkt. Welche denn? und zählst du GND da schon dazu oder nicht?
Ja, den GND zähle ich schon dazu. I²C wäre etwas wo ich noch nicht dran
gedacht habe. Da muss ich mich mal schlau lesen, danke!
Sebastian W. schrieb: > I²C wäre etwas wo ich noch nicht dran gedacht habe. Aber dann brauchst Du doch 3 Leitungen, hast aber nur 2. Und die Stromversorgung brauchst Du auch noch, oder wie war das gedacht? Es gibt auch den 1-Wire-Bus (http://de.wikipedia.org/wiki/1-Wire). Ob es aber da einen passenden Baustein gibt weiß ich nicht... Gruß Dietrich
Hab auch gerade gesehen, dass I2C drei Leitungen braucht. Sender und Empfänger haben bei meiner Idee eine eigene Spannungsversorgung. Als Verbindung stehen mir nur zwei Leitungen zur Verfügung. Eine für GND und eine für Tx-Daten. Mit einer RS232 Schnittstelle würde es ja gehen, lieber wäre mir eine einfache Lösung mit TTL-Pegel gewesen.
>...lieber wäre mir eine einfache Lösung mit TTL-Pegel gewesen.
Das geht durchaus. Wie oben schon beschrieben: Zähler und
Schieberegister mit Latch.
Sebastian W. schrieb: > Eine für GND und eine für Tx-Daten. Mit einer RS232 > Schnittstelle würde es ja gehen, lieber wäre mir eine einfache Lösung > mit TTL-Pegel gewesen. Wenn die Entfernung nicht zu lang und die Umgebung nicht zu störbehaftet ist geht das auch mit TTL-Pegeln. Du brauchst dann auf beiden Seiten z.B. einen µC mit UART. Gruß Dietrich
>Du brauchst dann auf beiden Seiten z.B. einen µC mit UART.
Ein UART ist nicht notwendig.
Bitkracherl schrieb: > Das geht durchaus. Wie oben schon beschrieben: Zähler und > Schieberegister mit Latch. Da muss man aber noch einiges dazu basteln, um auf einer Leitung Daten und Clock zu verschicken - z.B. einen Machnester-Kodierer bzw. Dekodierer. Dann ist ein kleiner µC mit UART doch wesentlich einfacher... Bitkracherl schrieb: >>Du brauchst dann auf beiden Seiten z.B. einen µC mit UART. > > Ein UART ist nicht notwendig. Dann sag mal, wie Du das machen willst. Gruß Dietrich
> Dann sag mal, wie Du das machen willst.
Das habe ich schon geschrieben. Ein Schieberegister mit Latch und ein
Zähler.
Scheibenhonig. Ich habe übersehen, dass er Ground zu den zwei Leitungen zählt. Das kam ja erst später im Thread. Sorry.
Bitkracherl schrieb: > Das habe ich schon geschrieben. Ein Schieberegister mit Latch und ein > Zähler. Und wie taktest Du die Daten in das Schieberegister? Mit nur einer Leitung? Vielleicht hast Du es ja nicht mitgekriegt: Sebastian hat 2 Leitungen, aber eine davon ist GND. Es bleibt also nur 1 Leitung für das Signal übrig. Gruß Dietrich
Ein typisches Beispiel für einen falschen Fokus bei der Fragestellung. Der TO fragt danach wie er eine Veränderung an den Ausgängen des Schieberegisters bei der Übertragung verhindert. Dafür ist natürlich die Voraussetzung, das er schon Takt und Daten übertragen kann. Das er da von Zwei-Draht-Schnittstelle schreibt, mag hingehen, denn man redet auch von 1-Wire, was ja auch zwei Verbindungen benötigt. In Wirklichkeit aber, ist das Problem der Übertragung selbst noch garnicht gelöst. Na jedenfalls würde ich dann auch I2C empfehlen.
I2C braucht ja auch drei Drähte. Bin wohl etwas abwesend. Sorry. Ich halte mich raus.
Dietrich L. schrieb: > Und wie taktest Du die Daten in das Schieberegister? Mit nur /einer/ > Leitung? 1. Monoflop an Leitung, Dauer 50% des Taktes. Mit dessen Ablauf wird das Schieberegister getaktet. 2. Monoflop an Leitung, Dauer 150% des Taktes, retriggerbar. Mit dessen Ablauf wird das Outputregister getaktet. Daten PWM-moduliert, 25%/75%. Nach den Bits mindestens 1 Takt Pause lassen. Aufwand: 1x Dual-Monoflop 4538, 1x Shift+Register 4094. ALternativ: 1x 8-Pin µC.
:
Bearbeitet durch User
MC145026 (Sender) + MC145027 (Empfänger) http://www.reichelt.de/?ARTICLE=11316 http://www.reichelt.de/?ARTICLE=11317 Gruß Jobst
Danke für die hilfreichen Antworten. Den Sender und Empfänger werde ich mir zum testen gleich bestellen. Gruß Sebastian
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.