Also ich bin derzeit auf der Suche mithilfe von Schieberegistern Parallele Daten über ein kabel seriell zu übertragen und dann wieder in ein paralleles signal umzuwandeln. Ich bereits unter diesem link: http://www.dieelektronikerseite.de/Lections/Parallel,%20Seriell-Wandler%20-%20Bits%20in%20einer%20Reihe.htm einen schönen schaltplan gefunden, jedoch ist dieser leider nicht ganz zu ende geführt, jedenfalls leider bisher noch nicht. Kann mir da jemand weiterhelfen, bzw hat jemand eine gute Idee/einen schaltplan wie ich dieses ansonsten lösen könnte?
:
Bearbeitet durch User
Hallo, Ein Tackt, ein Zähler, ein Demuliplexer und 2 4Bit Schieberegister. Was willst Du mehr?
Also irwie kam das auf der seite unten so rüber als ob die leds immer aufleuchten wenn das signal grade da ist, eagl ob das byte komplett ist oder nicht. Weil das schieberegiter hat irwie kein zwischenspeicher oder so? Zitat: ,,Um beide Schieberegister hintereinander zu schalten, müssen wir nur das Bit 3 des ersten Registers zum Dateneingang des zweiten legen. So werden die eingehenden Bits einfach ins zweite Register durchgeschoben. Wenn man die Schaltung beobachtet, kann man schön sehen, wie die Daten im Schieberegister ankommen und auf den Leuchtdioden wieder zu erkennen ist. Aber so können wir damit noch nichts anfangen. Es sollen ja nur die Daten zu sehen sein, wenn das Byte komplett sein. Es wird also noch ein weiteres IC gebraucht, welches das fertige Datenbyte übernimmt, wenn das Signal 'Date End' gesendet wird.'' Gibt es für mein problem eine Lösung die mit weniger ICs auskommt, also taktgeber, schieberegister parallel->seriell und ein zweites seriell->parallel?
Ohne Gewähr.... Ich glaube der Counter hat ein asynchronen reset. Sollte also lieber nicht resettet werden
:
Bearbeitet durch User
Dankeschön für den Schaltplan :) PIN 14 ist das datensignal, PIN 11 die clock und PIN 12 das Data end signal richtig?
Martin H. schrieb: > Ein Tackt, ein Zähler, ein Demuliplexer und 2 4Bit Schieberegister. > Was willst Du mehr? Einen Takt mit kk geschrieben.
nerv schrieb: > Martin H. schrieb: >> Ein Tackt, ein Zähler, ein Demuliplexer und 2 4Bit Schieberegister. >> Was willst Du mehr? > > Einen Takt mit kk geschrieben. mal wieder son überflüssiger beitrag
Ich habe noch mal eine Frage :) ich habe bei den beiden schaltplänen ja 3 leitungen+Masse. Gibt es irgendeine Möglichkit das auf 2 stück+masse zu reduzieren? Weil dann könnt ich usb-B stecker nehmen
HM6402 und Derivate sind seriell/parallel- und parallel/seriell-Wandler nach RS232. Ein Chip (und einen stabilen Takt) auf jeder Seite und schon kann man über 2 Leitungen in eine Richtung senden. Mit 3 Leitungen geht auch voll duplex. Blackbird
> Gibt es für mein problem eine Lösung die mit weniger ICs auskommt
Wie wärs mit zwei µCs, einen zum Senden der andere zum Empfangen.
Ich habe jetzt den schaltplan mal ausprobiert, jedoch leuchten die LEDs entweder gar nicht oder sie flackern. Ich habe auch schon in datenblätter der ics geguckt, jedoch konnte ich den fehler nicht finden.
Ich mache sowas u.a. im Unterricht "Einführung in Digitaltechnik" als Simulation per Logisim (tolle Software! Free!). Da baue ich eine Parallel-Seriell-Parallel-Übertragung auch mit Schieberegistern auf. Ich verwende immer ein zusätzliches "Startbit" (logisch 1), welches als Erstes voraus in das Empfangsregister geschoben wird. Am vorderen Parallel-Ausgang des Empfangsregisters lauert eine Logik, die beim Eintreffen einer 1 die restlichen 8 Bit in einen Latch kopiert und das Schieberegister löscht ... damit ist das erste Bit wieder so lange Null, bis auch die folgenden 8 von der nächsten Sendung "im Körbchen" sind ...
:
Bearbeitet durch User
Malte S. schrieb: > Gibt es irgendeine Möglichkeit das auf 2 stück+masse zu reduzieren? Ja, Stickwort I2C. Allerdings wirds dann mit 74-ern haarig. Ist dann schon was für uC oder CPLDs.
> Gibt es irgendeine Möglichkeit das auf 2 stück+masse zu reduzieren?
Ja, das ST_CP Signal kann man mit Timern erzeugen, nachdem für eine
gewisse Zeit kein Takt anliegt. Dann müsstest du nach jedem übertragenen
Byte eine kleine Pause einlegen.
Danke für die Antworten, ich habe mich jetzt aber schon damit abgefunden das ich 3 Pins brauche ^^. Die sache mit microcontrollern ist die das ich Null erfahrung mit Programmieren habe und das wahrascheinlich teurer wäre oder? Weil ich bräuchte ja 2 stück und das alles in 45-facher ausführung wäre dann ziemlich teuer... Könnt ich eig für viele Übertragungschaltung einen Timer/Zähler nehmen? oder brauche ich für jede einen einzelnen? @Frank: Sie meinen das ist das Problem, weshalb das bei mir so flackert? Wie mache ich das denn? LG malte
Für eine wirkliche Anwendung wäre m.E. eine "richtige" Lösung besser. Ein Arduino Nano oder Mikro kostet z.B. ca. 4..6 Euro und bringt eine seielle Schnittstelle bis zu 230.000 b/s mit. Das Startbit in meinem Beispiel dient dazu, das Ende der Übertragung zu erkennen und mit der Übernahme in ein Parallelregister (Latch) gibts tatsächlich kein "Flackern" mehr. Kostet aber einen zusätzlichen Baustein. Wenn das Ganze mehr als ein Bastelprojekt ist, schreiben Sie mir eine PM, wir entwickeln Schaltungen und Software "abseits" von Standardlösungen ...
:
Bearbeitet durch User
Es gibt übrigens spezielle IC-Pärchen, die so eine parallel->seriell>parallel Wandlung durchführen, über nur zwei Drähte (Gnd und Signal) mitsamt Fehlerkorrektur. Siehe: Beitrag "Re: Klingeltasten digitalisieren zum Adern sparen" Oder: http://www.techome.de/manuals/8-Kanal-Datenmultiplexer_KM.pdf oder: http://www.conrad.de/ce/de/product/177342/Encoder-Decoder-Bausteine-Holtek-HT-600-Gehaeuseart-DIL-20-Ausfuehrung-Encoder
Frank Esselbach schrieb: > Das Startbit in meinem Beispiel dient dazu, das Ende der Übertragung zu > erkennen und mit der Übernahme in ein Parallelregister (Latch) gibts > tatsächlich kein "Flackern" mehr. Kostet aber einen zusätzlichen > Baustein. welcher wäre denn das? bzw wie sollte ich das realisieren? > Wenn das Ganze mehr als ein Bastelprojekt ist, schreiben Sie mir eine > PM, wir entwickeln Schaltungen und Software "abseits" von > Standardlösungen ... Ist so ne art lichtorgel zum mal feiern undso :)
Mir sind grade weitere ideen gekommen, wie wäre es mit einem LM3915. Das ist so ein balkendisplaytreiber der mit spannungspegeln arbeitet. Ich habe so ein teil vor langer zeit mal für irgendwas anderes verwendet http://www.dieelektronikerseite.de/Elements/LM3914%3B%20LM3915%20-%20Zeig%20mal%20wie%20stark%20du%20bist.htm
:
Bearbeitet durch User
Oder ich kaufe einfach DIN Stecker mit 8 Polen anstatt 7 ist wahrscheinlich billiger ^^
Ich habe , da die möglichkeit mit den 74HC ... ICs nicht wie gewünscht funktioniert hat die schaltung einfach mal nach dem schaltplan zu anfang meines threads aufgebaut. Es funktioniert, jedoch nicht so wie es eig gedacht habe. ich habe als anzeige der parallelen daten die aus dem 4015 kommen eine balkenanzeige genommen. Anstatt das ich bei dem beispiel auf dem schaltplan, wenn ich in den multiplexer 1-0-1-0-0-0-0-0 eingebe genau das gleiche auch wieder als paralleles signal wieder heraus bekomme, sieht es wie folgt aus: siehe anhang. ich bekomme zwar die daten in paralleler form wieder raus, jedoch nicht ständig, sondern als eine art lauflicht einfach gesagt. Imprinzip soll die kombination, welche als letztes angezeigt wird, bevor die daten wieder erneut eingelesen werden ständig zu sehen sein. Ich möchte also, solange ich zB 10100000 in den multiplexer eingebe an dem 4015 auch ständig diese kombination haben. Imprinzip suche ich eine art speicher der die bits aufnimmt und dann erst heraus gibt wenn das ,,data end'' signal das vorgibt. Vllt gibt es ja auch ein schieberegister mit paralleler ausgabe, am besten für 12 V geeignet, das so einen internen speicher besitzt und die daten erst ausgibt, wenn das ,,data end'' signal das vorgibt. Kann mir da jmd weiterhelfen oder hat ne idee? Könnte ich anstelle dem 4015 einfach ein 75HC595 nehmen oder kann ich die 74er reihe bei solchen anwendungen nicht mit der 4000er reihe ,,mischen''? Bild 1 habe ich ausversehen hochgeladen Bild 2 ist nochmal der schltplan Bild 3 ist ne skizze mit der besagten zeichenfolge die bei 10100000 am ausgang erscheint (bzw über die balkenanzeige ,,huscht'')
:
Bearbeitet durch User
> Imprinzip soll die kombination, welche als letztes angezeigt wird, bevor > die daten wieder erneut eingelesen werden ständig zu sehen sein. Mit dem 4015 geht das nicht, denn er hat kein Latch (bzw Storage Register). Der 74HCT559 kann das jedoch. Der braucht aber ein zusätzöiches Steuersignal. Soweit waren wir doch schonmal.
Stefan Us schrieb: >> Imprinzip soll die kombination, welche als letztes angezeigt wird, bevor >> die daten wieder erneut eingelesen werden ständig zu sehen sein. > > Mit dem 4015 geht das nicht, denn er hat kein Latch (bzw Storage > Register). Der 74HCT559 kann das jedoch. Der braucht aber ein > zusätzöiches Steuersignal. Soweit waren wir doch schonmal. Gibt es denn ein IC aus der 4000er reihe das einen latch bzw ein storage register besitzt? Oder kann ich da vielleicht einfach ein speicherregister oder puffer oder so etwas in der art hinter hängen?
ZU deinem Plan mit dem 595 vom 19.12: Man lässt keine Eingänge offen. /MR (Master Reset) ist ein Eingang. /OE (Output Enable) ist ein Eingang. Beide sind Low-aktiv. Du willst keine Resets, also kommt /MR an +5V Du willst aber die Ausgabetreiber eingeschaltet haben, also kommt /OE an GND
Karl Heinz schrieb: > ZU deinem Plan mit dem 595 vom 19.12: > > Man lässt keine Eingänge offen. > /MR (Master Reset) ist ein Eingang. > /OE (Output Enable) ist ein Eingang. > > Beide sind Low-aktiv. > > Du willst keine Resets, also kommt /MR an +5V > Du willst aber die Ausgabetreiber eingeschaltet haben, also kommt /OE an > GND Okay danke für die Antwort. Ich werde das gleich so ausprobieren. Ich habe mit schieberegistern leider noch keine erfahrung :) > Was gefällt dir an einem 74HCT559 nicht? Da gibt es eig nichts was mit da nicht gefällt, das einzige was etwas stört ist das diese eine versorgungsspannung von maximal 6V vertragen, ich jedoch 12V spannung habe.
Stefan Us schrieb: > CD4094 Dankeschön :) Das Data end signal muss an den ,,Strobe'' eingang oder? Was ist mit dem enable output eingang? muss der auch noch ein signal erhalten? ist der für die ausgabe der fertigen daten zuständig? Andere frage kann ich die 4000er und die 74HC Reihe vermischen? Weil ich habe leider nur einen 74HC4094 da. Den würde ich dann natürlich mit 5V anstelle der 9V versorgen.
Also ich habe das wie auf den schaltplan aufgebaut und den eingang strobe auf high gesetzt damit die daten sofort in das speicherregister übertragen werden. Das data end signal habe ich an den OE Eingang gemacht, damit die daten dann von dem speicher an die ausgänge ausgegeben werden. Jedoch habe ich jetzt ein durchhuschendes muster von: Wenn ich zB eingang Nr 2 bei dem multiplexer auf high mache erscheint am ausgangsregister die kombination: ausgang 1 - ausgang 2 - ausgang 3 - pause. Beim eingang 3 habe ich die nacheinanderfolgende kombination: ausgang 2- ausgang 3 ausgang 4 - pause. Weiß da vllt jmd woran das liegen könnte?
OE muss immer high sein, sonst sind die Ausgänge tri-statet. Hier Data End zu benutzen ist falsch. Solange Strobe high ist, wird ständig (mit jeder Clock) der Shift-Register Inhalt an die Ausgänge weitergegeben. Daher siehst du das Bitmuster durchrutschen. Muss es denn ein 4094 Shiftregister sein? Mit einem 74xx595 würde es besser funktionieren: Clock an SHCP Data an DS Data End an STCP OE auf low MR auf high
:
Bearbeitet durch User
Joe F. schrieb: > OE muss immer high sein, sonst sind die Ausgänge tri-statet. > Hier Data End zu benutzen ist falsch. > Solange Strobe high ist, wird ständig (mit jeder Clock) der > Shift-Register Inhalt an die Ausgänge weitergegeben. Daher siehst du das > Bitmuster durchrutschen. Oki danke ds wusste ich nicht :) Also müsste strobe an das data end oder ein ähnliches signal, welches dafür sorgt das der inhalt erst bei dem vollständigem bit in das speicherregister weitergegeben wird? > Muss es denn ein 4094 Shiftregister sein? > Mit einem 74xx595 würde es besser funktionieren: Grundsätzlich nicht, jedoch haben die 4000 er den vorteil das die mit 12V zurecht kommen, die 74HCer ja leider nur mit 6 maximal. Kann ich ICs der 4000er und 74er reihe eig mischen, wenn ich die 4000er mit 12V betreibe und die 74HCer mit 6? Gibt es eig für den 74HC595 eine Alternative aus der 4000er Reihe?
:
Bearbeitet durch User
> Oki danke ds wusste ich nicht :) Also müsste strobe an das data end oder > ein ähnliches signal, welches dafür sorgt das der inhalt erst bei dem > vollständigem bit in das speicherregister weitergegeben wird? Verstehe ich nicht ganz, wie du das meinst. Strobe müsste nur für eine Clock lang high sein, ist aber für volle 8 Clock cycles high. Daher hilft nur ein Shiftregister, das die Daten bei einer Clock-Flanke STCP an die Ausgänge übernimmt (wie beim 74xx595) >> Muss es denn ein 4094 Shiftregister sein? >> Mit einem 74xx595 würde es besser funktionieren: > Grundsätzlich nicht, jedoch haben die 4000 er den vorteil das die mit > 12V zurecht kommen, die 74HCer ja leider nur mit 6 maximal. 6V ist auch schon arg viel. > Kann ich ICs der 4000er und 74er reihe eig mischen, wenn ich die 4000er > mit 12V betreibe und die 74HCer mit 6? Nein. > Gibt es eig für den 74HC595 eine Alternative aus der 4000er Reihe? Mir unbekannt. Welche Schaltungeteile genau müssen denn mit 12V arbeiten? Wäre es nicht möglich, die gesamte Schaltung mit 3.3V oder 5.0V zu betreiben, und die Ausgänge des Schieberegisters mit einem 12V Treiberbaustein zu verbinden?
Es geht sogar mit nur einer Leitung: http://www.edn.com/design/systems-design/4410875/One-I-O-line-drives-shift-register-with-strobe Bild 4 Für das Timing (Seite 2) wird hier allerdings ein Attiny13 verwendet. Kann man aber sicher auch auflösen - geht dann ohne µC. Das Prinzip ist einfach, ja fast genial: -kurze L-Impulse schieben 1 ins Register -lange L-Impulse schieben 0 ins Register -keine Impulse mehr -> nach Ablauf Zeitglied -> Strobe Ausgangsregister Für 12V 4094 müsste man aber das Timing neu berechnen. Wenn es sein muss kann man noch die Versorgung des Empfängers mit der Taktleitung puffern und kommt dann mit einer 2 Draht Verbindung hin, also nur Masse und (Daten,Takt,Versorgung).
Joe F. schrieb: > Daher hilft nur ein Shiftregister, das die Daten bei einer Clock-Flanke > STCP an die Ausgänge übernimmt (wie beim 74xx595) oki dann werde ich den 595 nehmen. wobei ich dann gleich die angehängte schaltung nutzen könnte oder? weil da spare ich ein IC ein. Weil eigentlich nur der teil mit dem 595 mit 12 V betrieben würde. >> Grundsätzlich nicht, jedoch haben die 4000 er den vorteil das die mit >> 12V zurecht kommen, die 74HCer ja leider nur mit 6 maximal. > > 6V ist auch schon arg viel. Okay dann eher 5V, wobei da der teil der aus den 4000er ICs besteht nicht so richtig funktioniert hatte, bei 6Volt für alle bausteine hatten auch > >> Kann ich ICs der 4000er und 74er reihe eig mischen, wenn ich die 4000er >> mit 12V betreibe und die 74HCer mit 6? > > Nein. Okay also müssen alle bausteine mit 5Volt betrieben werden, das problem bei 5V war nur das die 3 CMOS bausteine (4512;4518 und 4069) da nicht richtig funktioniert hatten,bei 6 Volt ging dann alles... aber vllt auch nur ein zufall oder so >> Gibt es eig für den 74HC595 eine Alternative aus der 4000er Reihe? > > Mir unbekannt. > > Welche Schaltungeteile genau müssen denn mit 12V arbeiten? > Wäre es nicht möglich, die gesamte Schaltung mit 3.3V oder 5.0V zu > betreiben, und die Ausgänge des Schieberegisters mit einem 12V > Treiberbaustein zu verbinden? eig müsste nur der empfängerbaustein, sprich der 595er mit 12V betrieben werden, da ich dort nur 12V Versorgungsspannung habe, aber ansonsten mache ich einfach einen 5V Spannungsregler davor, das müsste dann ja gehen.
hp-freund schrieb: > Es geht sogar mit nur einer Leitung: > http://www.edn.com/design/systems-design/4410875/One-I-O-line-drives-shift-register-with-strobe > Für das Timing (Seite 2) wird hier allerdings ein Attiny13 verwendet. > Kann man aber sicher auch auflösen - geht dann ohne µC. Heißt einfach irgend einen Timer anstelle des microcontrollers? > Das Prinzip ist einfach, ja fast genial: > -kurze L-Impulse schieben 1 ins Register > -lange L-Impulse schieben 0 ins Register > -keine Impulse mehr -> nach Ablauf Zeitglied -> Strobe Ausgangsregister > Für 12V 4094 müsste man aber das Timing neu berechnen. > Wenn es sein muss kann man noch die Versorgung des Empfängers mit der > Taktleitung puffern und kommt dann mit einer 2 Draht Verbindung hin, > also nur Masse und (Daten,Takt,Versorgung). Naja die versorgung ist nicht das problem, also takt und daten würden reichen. Dankeschön, ist auf jeden fall eine gute Idee. Wobei das toleranzen und störungen gegenüber anfällig ist oder? Bzw andere frage wie kriege ich die daten so? Ich brauche doch auch noch eine schaltung welche dieses signal sozusagen erzeugt.
:
Bearbeitet durch User
Die Störanfälligkeit könnte bei langen Leitungen ein Problem werden. Allerdings auch bei anderen Versionen ohne genaues Timing da dadurch Fehlimpulse erzeugt werden können. Den Aufbau des Senders stelle ich mir so vor: Taktgeber, Parallel/Seriell Wandler dessen serieller Ausgang die Impulsdauer eines Monoflop steuert, einen Zähler für das Impulse/Pause Verhältnis und eine Einschalt-Reset Steuerung damit Zähler und Schieberegister im Gleichtakt sind.
hp-freund schrieb: > Die Störanfälligkeit könnte bei langen Leitungen ein Problem werden. > Allerdings auch bei anderen Versionen ohne genaues Timing da dadurch > Fehlimpulse erzeugt werden können. Wie sieht es bei 3 Meter Kabel dazwischen aus? Muss ich da schon bedenken haben? > Den Aufbau des Senders stelle ich mir so vor: > > Taktgeber, Parallel/Seriell Wandler dessen serieller Ausgang die > Impulsdauer eines Monoflop steuert, einen Zähler für das Impulse/Pause > Verhältnis und eine Einschalt-Reset Steuerung damit Zähler und > Schieberegister im Gleichtakt sind. Oki ich werde mal gucken wie das vllt klappen könnte :) weil nur Data leitung und GND ist echt nice. Andere frage ich habe jetzt die gesamte schaltung mit 74ern aufgebaut. genauergesagt das serielle signal wird jetzt von einem 74HC165 erzeugt und durch den 74HC595 wieder in ein paralleles umgewandelt. Jedoch habe ich das Problem das der 595er willkürlich mal alle an den parallelen angeschlossenen LEDs einschaltet, wenn man den strom trennt und wieder ranmacht, dann leuchtet eine von denen nicht aber die anderen usw. Habe ich da irgendwo noch einen fehler gemacht? Es sei gesagt das ich anstelle des 74HCT393 einen 74HC393 genommen habe? könnte das die ursache sein?
:
Bearbeitet durch User
Das Schieberegister ist beim Einschalten erstmal in einem zufälligen Zustand. Du könntest mit einem RC Glied den Master Reset für eine Zeit auf low halten.
Malte S. schrieb: > Wie sieht es bei 3 Meter Kabel dazwischen aus? Muss ich da schon > bedenken haben? In einer "ruhigen" Umgebung könnte das noch klappen. Aber ein Monitor, Schaltnetzteil usw. sollten nicht unbedingt in der Nähe sein. Das Problem mit den zufälligen Zuständen ist mit der Einschalt-Reset Schaltung zu beheben. Bei der Variante wie ich sie mir denke wird aber ständig der parallele Eingang abgefragt und übertragen, d.h. das nach einem Schiebedurchlauf das Ergebnis passt.
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.