Hallo,
folgendes Szenario: Ein TFT-Farbdisplay, welches über SPI angesteuert
wird, soll in einem Gehäuse untergebracht werden, in welchem sich kein
Controller befindet. Der Controller befindet sich in einem Gehäuse, ca
2-3 m entfernt. Da SPI-Leitungen bekanntlich relativ kurz gehalten
werden sollen, kann ich die Ansteuerung nicht direkt vornehmen. Ich
möchte also eine Lösung, welche über ein möglichst dünnes Kabel den
Displayinhalt zuverlässig überträgt. Es sollen keine bewegten Bilder
oder Videos übertragen werden, wohl aber die Uhrzeit und veränderliche
Werte. Meine Überlegung ist, einen SPI nach I2C Converter zu benutzen
und im Displaygehäuse aus dem I2C-Signal wieder das SPI-Signal zu
generieren. Hat das schon jemand ausprobiert oder gibt es dafür
vielleicht elegantere oder sogar fertige Lösungen?
@ IQuadratC (Gast)
>Controller befindet. Der Controller befindet sich in einem Gehäuse, ca>2-3 m entfernt. Da SPI-Leitungen bekanntlich relativ kurz gehalten>werden sollen, kann ich die Ansteuerung nicht direkt vornehmen.
Doch. Man muss nur ein bisschen das Thema Wellenwiderstand
berücksichtigen. 3m sind mit SPI machbar.
>Werte. Meine Überlegung ist, einen SPI nach I2C Converter zu benutzen>und im Displaygehäuse aus dem I2C-Signal wieder das SPI-Signal zu>generieren.
Aua.
> Hat das schon jemand ausprobiert oder gibt es dafür>vielleicht elegantere oder sogar fertige Lösungen?
Nimm gleich RS232.
Beib' bei SPI, verwende zur Erhöhung der Störsicherheit differentielle
Treiber à la RS422 oder LVDS. Das verdoppelt zwar die Leiteranzahl (je
zwei für Takt und Daten), ist aber, wenn über twisted-pair geführt,
reichlich robust.
Falk Brunner schrieb:> Doch. Man muss nur ein bisschen das Thema Wellenwiderstand> berücksichtigen. 3m sind mit SPI machbar.
Hast Du konkrete Erfahrungen? Welches Kabel sollte benutzt werden? Habe
eins vergessen: Die Betriebsspannung für das Display soll über das selbe
Kabel bereitgestellt werden.
@ Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
>Beib' bei SPI, verwende zur Erhöhung der Störsicherheit differentielle>Treiber à la RS422 oder LVDS. Das verdoppelt zwar die Leiteranzahl (je>zwei für Takt und Daten), ist aber, wenn über twisted-pair geführt,>reichlich robust.
"Ich möchte also eine Lösung, welche über ein möglichst dünnes Kabel den
Displayinhalt zuverlässig überträgt. Es sollen keine bewegten Bilder
oder Videos übertragen werden, wohl aber die Uhrzeit und veränderliche
Werte."
Also Trivialitäten.
@ IQuadratC (Gast)
>> Doch. Man muss nur ein bisschen das Thema Wellenwiderstand>> berücksichtigen. 3m sind mit SPI machbar.>Hast Du konkrete Erfahrungen?
Ja.
>Welches Kabel sollte benutzt werden?
Was dir gefällt. Twisted Pair oder Flachband.
>eins vergessen: Die Betriebsspannung für das Display soll über das selbe>Kabel bereitgestellt werden.
Ja und? Ein einfaches dreiadriges Kabel mit GND, VCC und RS232_DATA
reicht locker. Ein kleiner uC am TFT, fertig. Dünner geht das Kabel
nicht.
I2C ist zudem auch nicht für grössere Entfernungen gedacht. Denn
ausgeschrieben heißt das "Inter-IC-Bus", also gedacht zur Verbindung von
ICs auf der Platine...
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite
>I2C ist zudem auch nicht für grössere Entfernungen gedacht. Denn>ausgeschrieben heißt das "Inter-IC-Bus", also gedacht zur Verbindung von>ICs auf der Platine...
Ich hatte mal I2C in einem Industriesensor drin, der bis zu 500m
(fünfhundert Meter) Anschlußlänge hatte . . .
Lothar Miller schrieb:> I2C ist zudem auch nicht für grössere Entfernungen gedacht. Denn> ausgeschrieben heißt das "Inter-IC-Bus", also gedacht zur Verbindung von> ICs auf der Platine...
Deswegen gibts auch extra Repeater, Bus Puffer, ......
@TO: Ich hab sowas schon gemacht, allerdings anderst. Auf der
Displayplatine ist ein größerer Mega-Proz, der die Verwaltung und
Steuerung des Displays übernimmt und via I2C über einen eigenen
Befehlssatz "Auträge" ausführt. In dem Mega sind z.B. über 50
Festgrafiken/Symbole gespeichert und diese werden über einen Befehl des
Masters angezeigt. Dafür muß dieser nur 3 Bytes via I2C senden:
x-Koordinate, y-Koordinate und Symbolnummer. Ähnlich einfach schreibt
man Texte, zeichnet Linien, Kreise oder was man eben sonst implemetiert.
Ich arbeite übrigens mit Kabellängen bis 3m (normales USB-Kabel).
Warum verrätst du nichts über die Baudrate der SPI? (Sag' nicht, dass du
sie nicht kennst - dann kennst du die Aufgabenstellung auch höchstens
nur zur Hälfte.)
2 - 3m sind nicht tragisch, wenn die Geschwindigkeit nicht zu hoch ist.
Serielle Widerstände hinter den Treiber-Ausgängen, entsprechend den
Wellenwiderständen der Leitungen, machen das System schon erheblich
robuster, weil der Empfänger keine Reflektionen mehr sieht.
Die gemeinsame Masse oder kapazitives oder induktives Übersprechen würde
bei noch größeren Längen das nächste Problem ergeben können.
Symmetrische Übertragung mit RS-422, wie Rufus schon empfahl, wäre dann
die Lösung. Ich spreche aber jetzt schon von Längen im km-Bereich oder
Geschwindigkeiten bei 20 MBit/s (aber nicht beides gleichzeitig).
Als Kabel für hohe Ansprüche kommen Datenkabel mit paarweise verdrillten
Leitungen in Frage, bei sehr langen Leitungen bzw. Datenraten mit PE-
(und nicht mit PVC-)Isolation. Für ein paar Meter tun es
Telefonleitungen, die sind auch paarweise verdrillt.