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
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
Genau ich wollte alle Signale über eine! differentielle Leitung. Wenn lvds dann aber bitte nur ICs die unkompliziert erhältlich sind?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.