PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mittels Rechtecksignal von ca. 1Mhz RS232 Daten übertragen



dnwalker
07.09.2013, 13:34
Hallo,

ich muss ein RS232 Signal über eine Glasfaser übertragen. Das Problem ist das die Sender und Empfänger am Anfang und am Ende der Glasfaser erst ein Signal ab etwa 1Mhz passieren lassen. Also ist eine direkte Übertragung nicht möglich.

Jetzt habe ich mir mal angesehen, wie Modem-Chips die für eine Übertragung auf der Elektroverkabelung im Haus vorgesehen sind arbeiten.

Da wird auch im Rhythmus der High und Low Zustände eine Trägerfrequenz ein- und ausgeschaltet. Leider liegt die Trägerfrequenz bei weitem nicht bei meiner benötigten Frequenz von 1MHz. Also scheidet dieser Weg auch aus.


Jetzt habe ich mir gedacht ich nehme einen Taktgenerator (Quarzoszillator) für kleines Geld der mir den Takt erzeugt. Diesen Takt wollte ich auf einen Eingang eines UND-Gatter geben. Auf den 2. Eingang des Gatters wollte ich den Ausgang RX eines ATMega16 legen.

So müsste ich mein Sendesignal doch erzeugen können - oder mache ich da einen Denkfehler?

Soweit so gut aber jetzt muss das Signal am Empfänger wieder zurück gewonnen werden. Soweit ich weiß dürfte das Signal etwas sehr schnell sein um es direkt mit einem Atmel per Interrupt-Eingang wieder in RS232 Signale zu wandeln.

Man müsste ein Chip haben der solange das Rechtecksignal anliegt einen High-Pegel ausgibt und wenn kein Rechtecksignal anliegt LOW-Pegel ausgibt. Im Prinzip wie ein Monoflop das solange man es schnell genug nachtriggert auch immer auf High bleibt und ohne Triggersignal auf LOW schaltet.


Also wenn einer von Euch eine Möglichkeit kennt möglichst einfach das Empfangssignal wieder in RS232 Signale zu wandeln wäre das schon klasse.


Mein Wissen ist in diesem Bereich leider begrenzt vor allem bin ich nicht auf dem neuesten Stand was es da eventuell an fertigen Chips gibt.


Gruß

walker

Vitis
07.09.2013, 17:48
ja, du denkst richtig, mit Glasfasern hab ich war noch nicht gearbeitet, aber bei Infrarotübertragung macht man das genauso, nur eben mit ~38kHz.
Einfach den Träger, in Deinem Fall dann 1 MHz ein-aus-schalten. Aber Vorsicht, bei der UART ist logisch 0 Highpegel, wenn das halbduplex hin und her gehen soll, dann mußt Du einmal das Signal invertieren, z.B. mit nem kleinen Transistor in Emitterschaltung, weil Du sonst dauernd Träger hast. Zum Senden aber den TX nehmen, nicht RX.
1 MHz könntest Du mit dem 16-Bit-Zähler ... Timer1 z.B. auswerten, den als Counter laufen lassen, und Pulse zählen lassen, das macht der in Hardware ohne Probleme, zusätzlich brauchst Du noch ne Zeitbasis, nen Timer, der mit der Baudrate synchron läuft.
Der Rest ist dann einfach, im Timerinterrupt den Counter auslesen, wenn größer x, dann ist Bit logisch 1, wenn kleiner x, dann ist logisch 0, Counter resetten und die Bits aneinanderreihen, fertig ist die Software-UART.

dnwalker
08.09.2013, 16:38
Hallo,

so im Prinzip bin ich jetzt einen Schritt weiter .... ich habe jetzt mit einem CD4098 (retriggerbares Monoflop) probiert und damit sollte es möglich sein das RS232 Signal aus dem Übertragungssignal zu gewinnen. Die ganze Sache habe ich jetzt mit einem Funktionsgenerator der 5V Rechtecksignal bei 1MHz erzeugen kann probiert.

Nun habe ich aber als Ausgangssignal an meiner LWL-Strecke nur eine Rechteckspannung mit ca 1,5V die nicht reicht meinen CD4098 zu triggern. Ich muss das Signal also von der Spannung her verstärken. Das wollte ich jetzt mit einem OP-Verstärker machen.


Welchen OP könnte man da verwenden und wie müsste ich den beschalten? Soweit ich das jetzt bei den OP's gelesen habe kann ich nicht einen z.B. 1Mhz Typen nehmen sondern der sollte mindestens um den Faktor 10 schneller schalten können sonst ist wohl die Verstärkung nur 1.

Stimmt das so oder habe ich das falsch verstanden?

Wäre klasse wenn Ihr mir da weiter helfen könntet.

Gruß

walker

Valen
08.09.2013, 22:23
Nun habe ich aber als Ausgangssignal an meiner LWL-Strecke nur eine Rechteckspannung mit ca 1,5V die nicht reicht meinen CD4098 zu triggern. Ich muss das Signal also von der Spannung her verstärken. Das wollte ich jetzt mit einem OP-Verstärker machen.


Welchen OP könnte man da verwenden und wie müsste ich den beschalten? Soweit ich das jetzt bei den OP's gelesen habe kann ich nicht einen z.B. 1Mhz Typen nehmen sondern der sollte mindestens um den Faktor 10 schneller schalten können sonst ist wohl die Verstärkung nur 1.

Stimmt das so oder habe ich das falsch verstanden?

Wäre klasse wenn Ihr mir da weiter helfen könntet.Wurde ein Transistor-verstarkung Schaltung nicht einfacher gehen? Ich habe aber keine Ahnung welche Transistor-typ bis auf 1MHz schalten kann.

Peter(TOO)
08.09.2013, 23:25
Hallo,

Das schafft schon ein einfacher BC546 (Ft= 300MHz).

MfG Peter(TOO)

Klebwax
09.09.2013, 02:05
Wie wärs mit FSK und einer PLL als Empfänger. Ein 4066 würde das leisten. Als 74HC4066 geht der bis 17MHz.

The signal input can be directly coupled to large voltage signals, or indirectly coupled (with a series capacitor) to small voltage signals. A self-bias input circuit keeps small voltage signals within the linear region of the input amplifiers.

Das löst schon mal das Problem mit dem Verstärker.

Aus dem selben Chip könnte man, indem man nur den VCO benutzt, auch den Transmitter bauen.

So ein Monoflop ist ein "pain in the ass". Er macht aus jedem noch so kurzen Störimpuls ein langes Signal.

MfG Klebwax

dnwalker
09.09.2013, 14:56
Hallo,

der 74HC4066 könnte man sicher auch nutzen soweit wie ich dich verstehe - der macht dann im Prinzip auf der Sendeseite die gleiche Arbeit wie mein UND-Gatter. Sind ja eigentlich auch nur schnelle steuerbare Schalter -richtig?

Wie das auf der Empfängerseite gehen soll ist mir jetzt nicht ganz klar ?? PLL kenne ich mich nicht aus - werde ich gleich mal googeln.

Die Sache mit dem Transistor werde ich mal testen.

Klar ist das Monoflop nicht optimal aber hatte ich gerade in der Bastelkiste ....und erst einmal hat es funktioniert. Aber ich bin da natürlich offen für weitere gute Tipps.

Danke Euch

Gruß
walker