Hallo Leute Wie ich feststellen muss, ist Strom nicht unendlich schnell und benötigt etwas Zeit um sich auszubreiten. Ich habe eine unidirektionale (nur Senden) SPI Verbindung 20Mhz-Takt. Die MOSI Leitung muss einen Umweg über ein 6 Meter langes Kabel machen(3m hin und 3 zurück). Die SCLK und CS Leitungen können diesen Umweg leider nicht machen. Daher versuche ich eine Schaltung an der Abnahmestelle, Steckverbindung des Kabels, zu realisieren, die die CS und SCLK Signale um die Laufzeit am Kabel verzögert. Auf dem Zeitdiagramm ist oben das originale Signal zu sehen (CS habe ich raus gelassen, weil langweilig), darunter MOSI, wenn es von dem Umweg wieder kommt, und darunter SCLK mit einem digitalen delay von 75ns und Mosi, das über ein FlipFlop wieder syncronisiert wurde. Nun meine Fragen: Geht das so? Gibt es solche Verzögerungs-ICs? Können Verzögerungs-ICs, wie DS1110 von MAXIM, auch 20Mz um 75 ns verzögern?
Deine Zeichnung ist aber wohl Theorie. Denn 20MHz über eine 6 Meter lange Leitung zu schicken halte ich für arg problematisch. Kommen da überhaupt noch irgendwelche erkennbaren Flanken an? Hast du das mal auf einem Oszi angeschaut?
Ist dir eigentlich bewusst, dass 20MHz bereits Kurzwelle ist (15m) und dass die Leitung dabei gern als Antenne arbeiten würde? ...
Da gebe ich Hannes Recht und ich setze noch einen drauf: Lichtgeschwindigkeit ca. 300.000km/s bei 75ns ==> ca. 22m Schneller geht einfach nicht. Einstein entwickelte eine sehr interessante Theorie dazu ;) Bernhard
>Wie ich feststellen muss, ist Strom nicht unendlich schnell und >benötigt etwas Zeit um sich auszubreiten. Geh mal so ungefähr von 200000km/s aus. (hängt am Wellenwiderstand. Ich kann nicht ganz nachvollziehen was du da machen willst. Ein Clocksignal ist dazu da um anzugeben wann die Daten gültig sind da spielt man nicht noch dran rum, zu mindest nicht in der Art. Wenn du etwas übertragen willst mit der Frequenz und über die Entfernung dann nimm kein syncrones sondern ein asyncrones Verfahren bei dem der Takt wieder zurückgewonnen wird. Wie Hannes schon bemerkte ab 30 Mhz beginnen sich die Wellen von den Leitungen zu lösen, also pass auf was du da für Sender zusammenbaust.
Als Leitung dieht ein geschirmtes CAT5 Kabel. Hoffe das es nicht zu sehr Strahlt. Den Zeitversatz habe ich an Kabel gemessen und ergibt eine Geschwindigkeit von 161290 km/s. Die Daten der MOSI Leitung werden an ein Steuergerät gesendet und verändert zurückgesand. Aufgrund des Kabel, das fest vorgegeben ist, kann ich nur 4 Signale übertragen. CS,SCLK,MOSI zum Steuergerät und MOSI verändert zurück. Damit MOSI wieder zum SCLK syncron ist muss ich diesen Aufwand treiben. In diesem Datenblatt werde ich aus den Rec' Max und absolut Max werten nicht schlau. Weiß einer was dder unterschied ist? http://www.datadelay.com/datasheets/3D3220.pdf Gibt es so schnelle FlipFlops? http://www.datadelay.com/datasheets/3D3220.pdf
Da brauchst du auf der Senderseite einen Treiber und auf der Empfängerseite einen Abschlußwiderstand, da erstens sonst die Leitungskapaziäten aus den Flanken eher einen Wellenbrei machen und zweitens die Impedanzübergänge Reflexionen auf den Leitungen produzieren, was für noch mehr Brei sorgt.
damit ich überhaupt die Daten über die Leitung bekomme verwende ich LVDS Transmitter. daher brauche ich pro Signal zwei Adern. LVDS verwendet ein sehr kleines differenz signal von nur 0.3V bei einer mittleren Spannung von 1.1V. Probehalber habe ich so schon einmal daten mit 10Mhz über eine Rolle Lautsprecher Kabel geschickt und und diese noch Fehlerfrei empfangen können. Gibt es eine andere Möglichkeit die Daten sicher ein 6m Cat5 Kabel zu schicken? Dann könnte ich eventuell doch alle Signale hin und alle gemeinsam zurück schicken. Cat5 hat 8 Adern + die Schirmng die ich als GND verwende
Schalte die serielle Schnittstelle mal an die Transmitter ,ein Kabelpaar für RX und eins für TX. Wie schnell kann deine serielle werden?
Sorge beispielsweise dafür, dass Takt und Daten in die gleiche Richtung laufen. Mit 2 SPIs machbar, oder mit einem SPI in half-duplex, bei dem der sendende Teil immer Master ist, d.h. mit dynamischer Umschaltung des Masters.
einen Adapter für die Serielle schnittstelle hatte ich mir auch schon gabaut. 115200 bit/sec schneller kann ich den Hyperterminal nicht einstellen. ich brauche aber das 200fache. Die übertragung mit LVDS scheint mir recht sicher. Sieht auf dem Oszi gut aus, außerdem ist auf dem Steuergerät bereits ein entsprechender LVDS empfänger. Ich möchte die delay lösung implementieren. Kennt sich jemand mit solchen delay lines aus?
Eine einfache Delay Line ist ein 8-Bit-Treiber wie der 74AC541. Alle 8 Buffer hintereinanderschalten. Macht ca. 5 ns / Gate, also 40 ns pro Baustein. Die effektive Delayzeit mit gutem Scope ( >= 500 MHz ) ausmessen. Streuung bei "AC" recht gross, muss als Exemplarabhängig ausgemessen werden. Wenn man statt der direkten Verbindung der Gates mit kleinen Serien-R sowie anschliessendem C am nächsten Eingang beschaltet, bekommt man deutlich höhere Delay ; aber das Tastverhältnis kann leiden ! Versuche mal 33 Ohm mit 10 pF. "Echte" Delaylines sind teuer und schwierig zu beschaffen.
Wird auch so gemacht. So eine "Verzögerungsleitung " habe ich schon in einegen Oszillopen gesehen. Oder man schaltet simple Negator-Gatter paarweise hintereinader, so dass sich die Schaltzeiten addieren. (siehe Klaus)
man könnte auch einen can bus nemmen (1000 kBit/s bei maximal 40 meter). ist auf jeden fall sehr störsicher. aber ich denke olaf ist mit seinen lösung schon zu weit um solche änderungen aufzunehmen. gruss sven
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.