Forum: Mikrocontroller und Digitale Elektronik Serializer für digitale Signale auf Basis eines differentiellen Signals


von Frank (Gast)


Lesenswert?

Hey Leute,

ich müsste ein SPI Signal sowie 5 weitere digitale Signale (Rotary, 
Pushbutton,  Reset Signal) über eine ca 1 Meter lange Leitung 
übertragen.
SPI läuft auf 8 MHz.

Wollte die Signale über ein serdes über eine differentielle Leitung 
übertragen.
LVDS finde ich für diese Anwendungszweck übertrieben.

Wie würdet ihr das denn anstellen? Wenn dann bitte ICs die möglichst für 
normal sterbliche erhältlich sind.

Dachte schon an einen zweiten Mikrocontroller und Verbindung via UART, 
das will ich aber vermeiden weil kein Lerneffekt da wäre.

Danke & Gruß
Markus

von STK500-Besitzer (Gast)


Lesenswert?

RS422 Treiber

von Georg (Gast)


Lesenswert?

Frank schrieb:
> Wollte die Signale über ein serdes über eine differentielle Leitung
> übertragen.

Über eine oder über 6 differentielle Leitungen? Für eine brauchst du 
Multiplexer und Demultiplexer, die gibts fertig für LVDS.

Georg

von Frank (Gast)


Lesenswert?

Genau ich wollte alle Signale über eine! differentielle Leitung.

Wenn lvds dann aber bitte nur ICs die unkompliziert erhältlich sind?

von Bürovorsteher (Gast)


Lesenswert?

TI: SN65LV1023ADB als Multiplexer, SN65LV1224BDB als Demultiplexer.
Vorsicht: es müssen Hardwarevorkehrungen gegen Falschsynchronisieren 
getroffen werden. Die Demultiplexer funktionieren nur bei 
Fastzufallssignalen auf den Datenleitungen richtig.

von Bürovorsteher (Gast)


Lesenswert?

Achja, und noch etwas: es ist dafür Sorge zu tragen, dass auf der 
seriellen Leitung ein gleichspannungsfreies Signal anliegt, also 
genausoviel Nullen wie Einsen. Sonst ist mit Bitfehlern zu rechnen.

von Uwe B. (uwe_beis)


Lesenswert?

Frank schrieb:
> ein SPI Signal sowie 5 weitere digitale Signale (Rotary,
> Pushbutton,  Reset Signal)

Wo ist den der SPI-Master? Vermutlich der Controller. In welcher 
Richtung werden die SPI-Daten übertragen?

Können die 5 Signale nicht an ein weiteres SPI-IC angeschlossen werden? 
Dann können die SPI-I/Os in Reihe geschaltet werden und du hast nur noch 
eine etwas längere SPI.

Soll die Übertragung transparent sein, also der Controller hat jetzt 
schon einen SPI-Anschluss und 5 weitere Eingänge, die genau so erhalten 
bleiben müssen (weil es z. B. ein Fremdprodukt ist) und deshalb auch am 
Controller eine Rx/Tx-Hardware gebraucht wird, oder darf der Controller 
mit der Aufgabe "Zerlegung" der Signale betraut werden?

> Dachte schon an einen zweiten Mikrocontroller und Verbindung via UART,
Das scheint mir, je nach weiteren Randbedingungen, auch sehr 
naheliegend. Allerdings eine Randbedingung wie
> das will ich aber vermeiden weil kein Lerneffekt da wäre.
hätte ich jetzt nicht erwartet. Das haut mich etwas um.

Ich könnte eine kreativ lehrreiche Lösung mit HF-Übertragung der 
Einzelsignale auf mehreren Trägerfrequenzen vorschlagen. Das wäre eine 
transparente Lösung, käme mir aber doch etwas arg abgefahren vor.

Also was auch immer dahinter steckt:
Bei nur einer Leitung kann kein Takt übertragen werden. Selbsttaktende 
Systeme sind aufwändiger. Bidirektionale noch aufwändiger. Die SPI für 
die Übertragung zu dekodieren und mit den 5 weiteren Signale zu einem 
Datenstrom zusammenzufassen, bleibt wohl nicht aus. UARTs sind für > 8 
MBit/s auf jeden Fall zu langsam, insbesondere bidirektional. Sofern ein 
µC genügend schnell ist, wird man kaum auf einen verzichten können. 
Andernfalls käme ein CPLD in Frage, vielleicht, je nach Randbedingung 
(s.o.), auf beiden Seiten. Das wäre leicht erhältlich und vielleicht 
sogar lehrreich - oder kennst du das auch schon?

Mir scheint, ob es differentiell, LVDS oder asymmetrisch ist, ist dein 
allerkleinstes Problem. RS485 (die bidirektionale Variante der RS422) 
wäre sinnvoll.

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
Noch kein Account? Hier anmelden.