Gab es mal, macht aber keinen Sinn mehr, da ein einfacher Microcontroller weit billiger und zugleich flexibler ist.
Wenn Du es als Lehrstück brauchst, bau es diskret aus Zählern und einem Schieberegister auf. Sonst nimm besagten Microcontroller. Geeignet wäre z.B. der AT90S2313. Der ist zwar schon reichlich überdimensioniert, hat aber den Vorteil, daß man kein richtiges (teures) Programmiergerät braucht, sondern ihn mit einem einfachen Adapter direkt in der Schaltung programmieren kann.
Ich würde nen Atmel 2313 und ein paar Dioden (zur Pegelwandlung) benutzen. Der Programmcode für den Controller würde in Assembler nur wenige Zeilen erfordern.
Naja, dafür gabs mal AY-3-1015 bzw. seinen CMOS-Nachfolger CDP6402. Heutzutage löst man das aber mit einem kleinen Microcontroller mit integriertem UART/USART, ein paar Byte Software sind halt nötig.
Ja - heutzutage schiesst man auch mit Kanonen auf Spatzen. Oder steuert mit einem Pentium seine WC-Spülung.
Der o.g. AY ist einfach die simpleste und zuverlässigste Lösung ohne jeden Programmieraufwand. Ein paar passive Bauelemente drum herum und fertig ist die Sache. Einfacher geht es nicht.
Gruss Wolfgang
--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Meine Güte - wo ist das Problem. So ein Wandler passt komplett mit allem Drum und dran in eine Zigarettenschachtel.
"kann"!
Eine sehr arrogante und dümmliche Einstellung!
Klar "kann" man mit "Software" viel Hardware ersetzen und/oder einfacher machen. Nur nicht jeder "kann" das. Manche können/wollen nur ein bischen was löten.
Gruss Wolfgang
--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Einen Taktgenerator brauchen die alten Brüder eh noch, AFAIR 16xBitrate.
Selbst mit externen Quarz ists noch einfacher als mit AY-3-1015, immerhin ist der Taktteiler ja schon im uC enthalten.
Naja, man sollte es sich halt aneignen können. Wie die UART/USART zu bedienen sind ist ja für alle uCs in einfachen Beispielen beschrieben, man Appnotes. Für echte Erkenntnisverweigerer gibts dann ja auch noch Fertiges bei Conrad oder ELV.
Ich habe das gleiche Problem seinerzeit mit ein paar 74ern gelöst. Vorteil: die lagen in der Grabbelkiste herum, womit die Materialbeschaffung entfiel.
In meinem Fall was es sogar bidirektional, also RS-232 -> 8Bit + Strobe und vice versa. Ich glaube, es waren es rund 30 cm^2 Platine. Unidirektional wird es etwas einfacher. Den Taktgenerator braucht man natürlich trotzdem.
Falls Interesse besteht, mache ich mich mal auf die Suche nach dem Schaltplan.
Klar, wenn man einen 40poligen Klotz in seiner Schaltung haben will.
Wenn man dagegen von der Genauigkeit mit einem internen Taktgenerator auskommt, dann kann ein Microcontroller viel einfacher sein. Und wer nichtmal in der Lage ist eine derartig kleines Programm zu schreiben wie es fuer so eine Anwendung notwendig ist der sollte heutzutage sowieso besser die Finger von der Elektronik lassen.
in dem Buch _Messen, Steuern und Regeln ueber die RS232-Schnittstelle_ von Kainka, Franzig-Verlag, ISBN 3-7723-6054-8 ist jeweils eine Schaltung zum ser. Empfang und Senden abgedruckt. Beide Schaltungen werden aus diskreten Bausteinen und ein paar CMOS-ICs zusammen geschraubt. Funzt also ohne Editor, Assembler, Compiler und Prommer.
Man kann natürlich einen 16-Poligen uC benutzen der einen internen RC-Oszillator hat. Dann kann man sich sogar den 3 zu 8 Dekoder sparen. Das währe also kaum zu trumpfen...
Man kann aber auch mit einem NE555 einen der Baudrate entsprechenden Takt erzeugen und damit ein 10 Bit Schieberegister takten. Auf den Dateneingang des Schieberegisters wird über eine Spannungsbegrenzungsschaltung direkt die TX-Leitung der seriellen Schnittstelle angeschlossen... Das einzige Problem dabei ist, mit dem NE555 die genaue Frequenz einzustellen.
wenn die Frequenz passt sollte das kein Problem sein, passende Schaltung gibts z.b hier:
formatting link
Trotzdem kommt man damit auf 3 ICs und viel Hünerfutter, mit einem 12pinnigen µC brauchts halt noch weniger, oder man nimmt die anderen Leitungen der seriellen Schnittstelle zu hilfe, dann ist es ganz einfach, dafür etwas langsamer...
Burkhart hat das uebrigens gemacht weil es diese UART Teile wirklich nirgends wo mehr zu kaufen gab. Aber auch er ist dann recht schnell auf Microcontroller umgestiegen. .-)
Am Tue, 26 Oct 2004 12:33:46 +0200 hat Wolfgang Gerber geschrieben:
...aber nicht in einen Zuckerwürfel :-) Mir ist Hardware allerdings auch lieber als Software. Ich hab das vorhin aber irgendwie so verstanden, daß es den AY... nicht/kaum mehr gibt. Ideal wäre also der AY... in einem SO oder SSO Gehäuse - selbstverständl. in CMOS - wir sind ja keine Heizungsbauer.
Hi Steve, Du brauchst also eigentlich nur 3 Bit um den Dekoder anzusteuern? Man könnte auch nur mit Pegelwandler arbeiten und die Register des UART direkt programmieren. Wenig Hardware aber doch einiges an Hirnschmalz. Um unter neueren Windows-Versionen direkt auf die Hardware zugreifen zu können braucht's einen sog. Port Enabler. Know How und Tools gibt's hier:
formatting link
Wäre nicht unbedingt der einfachste Weg aber superklein.
Ich würde eher einen AT89Cx021 und einen MAX232 (alternativ Transistorschaltung) als Pegelwandler nehmen. Damit hättest Du dann gleich 13 freie I/O Pins (20Pins -2xPower-2xQuarz-Reset-TxD-RxD), brauchst den Dekoder nicht mehr und alles gibt's als SMD! Natürlich kann man auch andere uC verwenden.
Da fällt mir ein... Die in einem anderen Thema angesprochenen USBRS232 Chips von FTDI haben einen sog. BitBang Mode. Dann laufen die zwar nicht als virtueller COM-Port, aber man kann 8 Bit direkt ansprechen. Passenden Beispielcode gibt's vom Hersteller und die Chips einzeln inzwischen auch bei Reichelt (glaub ich).
:> :> Ich suche einen geeigneten Baustein bzw. eine geeignete Schaltung um :> über die RS-232 Schnittstelle einen 8aus3-Decoder ansteuern zu können. :> Wenn die Ansteuerung nicht zu schnell sein muß, könnte man es wie beim Pulswahlverfahren realisieren. Man gibt einfach 1-8 mal 0xff an der seriellen Schnittstelle aus. Bei 0xff ist nur ein Bitwechsel, nämlich beim Startbit vorhanden. Dieser Bitwechsel taktet einen Zähler und triggert ein Monoflop. Wenn längere Zeit kein Byte mehr ankommt, fällt das MF wieder ab und der aktuelle Zählerstand kann in ein Register übernommen werden. Bei geeigneter Wahl der Bitmuster reichen bereits zwei Bytes, um 8 Bitwechsel zu erzeugen.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.