Wie wird SC16IS740 programmiert?

Ich bin daran interessiert, den UART-SPI-Konverter SC16IS740 als Schnittstelle mit dem W5500-Ethernet-Controller mit SPI-Eingängen zu verwenden . Da mir das Datenblatt unklar ist, frage ich, ob jemand weiß, wie SC16IS740 programmiert wird? Über UART- oder SPI-Schnittstelle oder beides?

Wenn die SPI-Schnittstelle zum Programmieren verwendet wird, kann jemand eine kostengünstige UART-SPI-Brücke (oder einen Konverter) empfehlen?

AKTUALISIEREN

W5500 ist Teil eines Datenerfassungssystems, das aus mehreren Sensorplatinen mit MSP432 besteht, die jeweils über ein Kommunikationsmodul verfügen, das Ethernet über Kabel oder Glasfaser überträgt, und einem „Gateway“, das alle Daten von Sensorplatinen zusammenfasst und eine Verbindung zu einem lokalen herstellt Bereich Netzwerk. W5500 wird da am Gateway platziert

Systemdiagramm

Einige Module können über Ethernet-Kabel und andere über Glasfaserkabel übertragen. Das Kommunikationsmodul ist die Ethernet-Schnittstelle der Hauptplatine.

Bei der Übertragung über Glasfaser müssen elektrische Signale vom W5500 in optische umgewandelt werden. Praktisch kann ich W5500 nicht auf den Kommunikationsmodulen platzieren, da es 2 Differenzsignale ausgibt und somit 4 Glasfaserkabel benötigt. Eine Lösung wäre also, mit UART (von der Hauptplatine zum Kommunikationsmodul und zum Gateway über Glasfaser) zu übertragen, also 2 Fasern zu verwenden und es am Glasfaser-zu-Ethernet-Konverter in SPI (mit SC16IS740) zu konvertieren, wo W5500 würde gelegt werden-gestellt werden-plaziert werden. In diesem Fall wäre der Master von SC16IS740 W5500, aber das ist nicht akzeptabel.

Andere Lösungen: Übertragen Sie SPI-Daten über Glasfaser (nicht akzeptabel, da 3 Fasern erforderlich sind), verwenden Sie einen anderen Controller, um die UART-zu-SPI-Übersetzung durchzuführen.

Idealfall: auf dem Kommunikationsmodul einen Ethernet-Controller mit Ausgängen für Lichtwellenleiter platzieren (solche Controller kenne ich nicht) und am Gateway einen passenden Konverter haben.

Ich könnte einen Teil Ihrer Frage beantworten, aber nicht alle, daher kann ich keine vollständige Antwort schreiben. Das liegt daran, dass Ihre Terminologie verwirrend erscheint. Der SC16IS740 würde normalerweise nicht als UART-SPI-Konverter bezeichnet, sondern als genaues Gegenteil, dh es ist ein SPI (Host-Schnittstelle) zu UART (externes Gerät). Das ist nicht das, was Sie wollen, da Ihr "externes Gerät" SPI ist. Daher möchten Sie meiner Meinung nach auch nicht nach einer "SPI-UART" -Brücke fragen, sondern nach einer [etwas] -zu-SPI-Brücke, um SPI mit Ihrem W5500 zu "sprechen". Ist das korrekt? Es wäre auch hilfreich zu wissen, was Ihr Host-Gerät ist und warum es SPI nicht direkt verwenden kann.
@SamGibson Siehe aktualisierte Frage.
Danke für das Update. Leider gibt es zu viele Unklarheiten, als dass ich das System verstehen könnte (ein Diagramm würde wahrscheinlich helfen). Außerdem schien das Update meine Frage nicht zu beantworten, warum die MCU, die "das Gateway" ist, keine direkte Verbindung mit dem W5500 über SPI herstellen kann und daher die Notwendigkeit der UART <-> SPI-Konvertierung, nach der Sie gefragt haben, vermieden wird. Das Update bestätigt also, dass ich das Gesamtproblem nicht genug verstehe, um zu versuchen, es zu beantworten. Hoffentlich versteht jemand anderes Ihr System besser als ich!
@SamGibson Weil das Gateway im Grunde wie eine Weiterübertragungseinheit fungiert und Glasfaser-Ethernet in Kabel-Ethernet umwandelt, das vom LAN verwendet wird. Seine Ausgänge werden mit einem Schalter verbunden. Ich wollte vermeiden, hier einen Controller zu platzieren, wo nur eine physische Medienkonvertierung erforderlich ist. Das ideale Szenario wäre also: W5500 auf dem Kommunikationsmodul platziert und Verwendung von 2 Fasern zur Verbindung mit der Weiterübertragungseinheit, aber dies ist nicht möglich, da es 2 Differenzsignale ausgibt. Um also 2 Fasern zu verwenden, wäre eine Lösung, UART zu senden und bei Retrans in SPI umzuwandeln. wo der W5500 aufgestellt wird.
@CristianM Ich habe auch Probleme zu verstehen, wie Sie versuchen, dies zu erstellen. Bitte tun Sie den Leuten hier und sich selbst einen Gefallen und zeichnen Sie ein Diagramm, in dem Sie die verschiedenen Links und Verbindungstypen (dh Ethernet, SPI usw.) und Ihre Sensoren angeben usw. Versuchen Sie, so detailliert wie möglich zu sein.
@CristianM Ich habe vergessen zu erwähnen, dass SPI einen Master benötigt, bitte geben Sie Ihren Master im Diagramm an.
@CristianM ach und hast du eigentlich gerade was am Laufen oder ist das alles auf dem „Zeichenbrett“? Sind Ihre Sensoren „out of the box“ mit dem W5500 verbunden?
@ user1890202 Ich habe die Frage aktualisiert. Das ist vorerst nur auf dem Reißbrett.

Antworten (1)

Ihr Problem beruht auf einem Missverständnis, Sie behaupten, dass:

Praktisch kann ich W5500 nicht auf den Kommunikationsmodulen platzieren, da es 2 Differenzsignale ausgibt und somit 4 Glasfaserkabel benötigt.

Dies ist jedoch nicht wahr, Standard-Ethernet (10BASE-T, 100BASE-TX usw.) verwendet differenzielle Signalisierung über verdrillte Paare, um Interferenzen zu verringern, zwei Paare der vier verfügbaren, um genau zu sein. Ein Paar zum Senden und eines zum Empfangen. Differenzielle Signalisierung bedeutet, dass die Drähte in jedem Paar die gleichen Daten übertragen, jedoch mit umgekehrter Polarität. Wikipedia hat einen Artikel zu diesem Thema.

Aber Sachen in der physikalischen Ethernet-Schicht zu machen ist nicht trivial, darf ich vorschlagen, dass Sie stattdessen ein Paar Glasfaser-Medienkonverter kaufen? Auf diese Weise können Sie "Knoten" mit einer Standard-Ethernet-Verbindung entwerfen und bei Bedarf Glasfaser verwenden, indem Sie nur "Standardprodukte" verwenden.

Vielleicht möchten Sie auch Wireless in Betracht ziehen, das viel billiger als optisch ist, es sei denn, die Glasfaser ist bereits vorhanden.

Oh, ich hätte fast die ursprüngliche Frage vergessen! SC16IS740 ist ein UART mit SPI-Schnittstelle (Slave). Es ist kein "SPI-zu-UART-Konverter" (und macht eine solche Komponente auch nicht viel Sinn). Wie man es "programmiert", habe ich keine Ahnung, aber es braucht offensichtlich einen Master (Ihren Mikrocontroller), der für die Schnittstelle programmiert ist. Mikrocontroller haben heutzutage üblicherweise UARTs eingebaut, daher sehe ich sowieso nicht viel Sinn darin, einen zu verwenden.

Viel Glück!