0
\$\begingroup\$

Hello) I need a solution for a board with 8 100/10 ethernet ports (with copper/fiber switching capabilities, PTP and idealy also with PRP, HSR protocol capabilities). I've found KSZ8999I switch, but I think it doesn't support PTP (according to the datasheet it doesn't). I also looked at KSZ8463 switch, it supports PTP but it has only 2 ports. So, I didn't manage to find an ethernet switch that i need. Do such switches even exist and where can i find them? I also thought about decisions based on FPGA or ethernet controllers... Could somebody give me a clue for a more chip and easy solution? Thanks)

Thank you for the answers) We nearly managed to find a suitable chip for our task (by the way we are pursuing IEEE 61850 standard where PTPv2/HSR/PRP protocols are required) - KSZ9477S. That chip has PTPv2 timestamping, HSR hardware handling, VLAN support and it can be connected through SGMII port to another KSZ9477S (so we can get 10 ports in total). The only disadvantage that this chip has is that its PHYs appear to work only in copper mode (they can't be switched into the fiber mode). So, maybe there are some ICs witch we can connect to KSZ9477S MDI ports and witch can convert copper signal to fiber signal and vise versa. Do somebody know such IC? (like media converter maybe). Or maybe somebody can recommend ethernet switch ICs suitable for our application? Is it even possible to find such IC or we are bound to use FPGA based solution?

\$\endgroup\$
1
\$\begingroup\$

Ethernet switch ASICs broadly fall into two categories: Small, low port-count unmanaged switches with rudimentary features, and big, high port count, highly sophisticated managed switches. There is not much in the middle--or at least not much that is accessible in low volumes. If you are looking to build this device in large enough quantities any of the major networking manufacturers will be happy to provide you with advice or samples. Different manufacturers will have different ideas of what "large enough quantities" means.

If this is a low quantity project, you have a few options here, based on what I've seen when looking for off-the-shelf switch ICs for my own projects:

  • Use the KSZ8999 or a similar non-PTP switch, attach a microcontroller to its MII interface, and implement PTP on the microcontroller. Many MCUs with built-in Ethernet MACs can do hardware timestamping which should be helpful in implementing PTP. I'm not sufficiently familiar with PTP to know if implementing it this way versus directly in the switch presents any substantial downside; I imagine it depends on your required precision.

  • Use two or more lower port-count PTP-enabled switches, and connect them together. For instance, if you can find a switch with four PHYs plus an MII, you can usually connect two of these back-to-back via the MII. In networking terms, it's still two switches, but they can be neatly packaged into a single box. This will probably require that each switch IC have its own MAC address.

  • Use a single, more sophisticated managed switch. Many of these sophisticated parts have dedicated processors built-in to facilitate complex control of the switching engine, but you can also program them to do whatever you want. The upside is flexibility--you can implement any features you want. The downside is you have to write the software, although the manufacturer will probably have some resources to help you get started there. The other downside is that this category of part can be challenging in terms of hardware as well--it's not uncommon for high performance parts to require external DDR3, or expose most of their ports via QSGMII, for instance.

\$\endgroup\$
1
\$\begingroup\$

You need to clearly distinguish and separate these technologies: PTP, PRP, HSR, and the following things related to them:

  • PTP-enabled switch
  • PTP-enabled node (node = terminal device)
  • PRP-enabled switch
  • PRP-enabled node
  • PRP-related redundancy box
  • HSR-enabled switch
  • HSR-enabled node
  • HSR-related redundancy box

PTP-enabled 8-port Ethernet switch based on KSZ8999 and KSZ8462 -- i changed KSZ8463 you mentioned above to KSZ8462 because KSZ8462 has a parallel bus interface and eight KSZ8462s could be connected to a MPU/PCU with at least one parallel bus onboard.

enter image description here

PTP-enabled node typically implements only one Ethernet port and therefore has a trivial design -- KSZ8462/KSZ8463 could be used here solely.

PRP-enabled switch is a set of two common IEEE 802.1-compatible bridges (switches, named A and B) working in parallel to each other: they connect the same nodes but not each other in any case.

PRP-enabled node implements two independent ports named A and B, connected respectively to two independent (i.e. isolated from each other) networks or switches. Additional attention should be made when you design a PRP-enabled node: be careful if you select a switching IC to implement two Ethernet ports in your device--that IC must have its switching engine OFF after power-up and only controlling host (MCU/MPU) shall be source/destination of the frames at the device ports. Because of KSZ8462/KSZ8463 has its switching engine ON after power-up, KSZ8462/KSZ8463 is not suitable to implement a PRP-enabled node. The best way to implement a PRP-enabled node is to use an MPU/MCU with two independent MACs.

PRP-related redundancy box, or PRP RedBox is intended to connect a conventional (non-PRP-enabled) node or switch/network to a PRP-enabled network. It presents a PRP-enabled node at the PRP side and therefore has the same design restrictions listed above.

HSR-enabled switch acts like HSR-related RedBox described below. Note that HSR uses a daisy-chain-like topology, instead of a star topology used in PRP and conventional IEEE 802.1 networks.

HSR-enabled node implements two Ethernet ports to organize a daisy-chain which could be internally "connected" before the host (MCU/MPU) starts up. Therefore, KSZ8462/KSZ8463 (having its switching engine ON after power-up) is suitable to implement an HSR-enabled node and is a good way to do so.

HSR-related redundancy box is intended to connect a conventional (non-HSR-enabled) node or switch/network to an HSR-enabled network. It presents an HSR-enabled node at the HSR side and a conventional Ethernet node at the conventional side. Because HSR and IEEE 802.1 are not compatible, the two sides must be isolated from each other before the "translating means" in between of them starts up completely.

Tips:

  • To connect a PRP network to an IEEE 802.1 network, use a PRP RedBox.
  • To connect an HSR network to an IEEE 802.1 network, use an HSR RedBox.
  • To connect a PRP network to an HSR network, use a series of PRP RedBox and HSR RedBox.

PTP is an above-MAC layer protocol with a PHY layer hardware assistance, and therefore topology neutral (however, its accuracy is still topology/networking dependent): it could be used in any of IEEE 802.1, PRP, or HSR networks (LANs).

The exception to this is PTPv2 Transparent Clock functionality which requires support from the switch. Here the switch needs to adjust the PTPv2 Sync/Follow-Up packets with the time the packet has spent inside the switch. As the specific PTP protocol data location differs in case of plain Ethernet and HSR/PRP protocols, the switch needs to support PTPv2 Transparent Clock over HSR/PRP.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.