Hinzufügen eines Ethernet-Switch-Chips zum Projekt basierend auf PIC18F97J60

Wir haben ein mit Ethernet verbundenes Gerät entwickelt, das den Controller PIC18F97J60 von Microchip verwendet. Dieser spezielle PIC enthält die PHY, die es uns ermöglicht, den Chip einfach mit Ethernet-Magneten und dann mit der Außenwelt zu verbinden.

Eine zusätzliche Komplikation ist, dass dieses Gerät PoE-betrieben ist.

Unser Kunde möchte nun, dass wir einen Pass-Through-Port bereitstellen, der es ermöglicht, mehrere Einheiten in Reihe zu schalten, ohne dass er (der Kunde) einen Ethernet-Switch installieren muss.

Die Datenrate ist recht gering; deutlich weniger als 10 Mbit/s.

Offensichtlich müssen wir jetzt einen Ethernet-Switch in unser Gerät integrieren. Ich habe nach einfachen Optionen gesucht und eine, die an die Spitze gesprudelt ist, ist die Micrel KSX8863-Familie. Dies ist ein 3-Port-Switch mit zwei integrierten PHY-Schnittstellen sowie einem Mii-Port. Der Gedanke war, dass wir diesen Mii-Port vielleicht direkt mit dem PIC-Controller verbinden könnten.

Leider würde alles, was ich über Ethernet-Hardware weiß, auf den Kopf einer sehr kleinen Stecknadel passen. Betrachten Sie mich in dieser Hinsicht als absoluten Neuling.

Ich vermute jedoch, dass eine direkte Verbindung zwischen dem PHY des PIC und dem Mii-Port des KSZ-Chips nicht möglich ist, da unser PIC-Controller bereits über einen integrierten PHY verfügt und keinen direkten Zugriff auf den Mii-Port im PIC zu bieten scheint.

Ich bitte um Klärung: Muss ich entweder nach einem anderen PIC-Controller (der den PHY nicht enthält) oder einem anderen Ethernet-Switch mit drei PHY-Ports suchen?

Oder: Gibt es eine Möglichkeit, den PIC18F97J60 direkt an den mii-Port des KSZ8863-Ethernet-Switch anzuschließen?

Ja, du brauchst einen anderen Schalter.

Antworten (1)

Du brauchst nicht unbedingt einen Schalter. Wenn es nicht viele Geräte in Ihrem Netzwerk gibt und die Datenmenge gering ist, reicht der Hub möglicherweise aus. Sie müssten Kollisionen in der Software behandeln, zB indem Sie die Daten nach einer zufälligen Verzögerung erneut senden.

Hier ist ein Beispiel für einen einfachen Hub: http://www.zen22142.zen.co.uk/Circuits/Interface/pethhub.htm . Sie haben den von Ihnen verwendeten PoE-Modus nicht erwähnt, aber mit dieser Lösung ist Modus B (Einschalten von Nicht-Datenpaaren) einfach zu implementieren.