Cómo conectar Ethernet Switch IC con CPU ARM9

2

Estoy planeando desarrollar una placa Linux basada en ARM9 como un dispositivo enrutador Ethernet con cable.

Seleccioné EP9302 de Cirrus Logic como CPU ARM9 y RTL8305 de RealTek como el conmutador Ethernet / Hub Hub.

Pero tengo un problema serio al diseñar el enrutador con esas cosas. Necesito 1 * puerto WAN para Internet y 4 * puertos LAN para encender el dispositivo. Para eso, el RTL8305 debe estar conectado con dos interfaces MII. Me refiero a que EP9302 debería proporcionar dos interfaces Ethernet (como eth0, eht1). Pero, desafortunadamente, el EP9302 solo tiene una interfaz Ethernet.

¿Hay alguna solución para este problema?

Escuché que puedo controlar Ethernet Switch Chip con pines GPIO. Pero no sé cómo configurarlos y cómo conectarlos.

    
pregunta Claude

2 respuestas

3

Hay al menos tres soluciones:

  • Solución 2 (difícil) como lo describe Xiong, solo lo estoy imaginando:

  • Solución1(fácil)comorecomiendaXiong,laimagenes:

  • Solución 0 (lista para ejecutar): tome un SoC con 1xARM9, 1xWAN y conmutador 4xLAN todos integrados:

    enlace

Me sorprende ver que esta pregunta sea rechazada porque aborda una arquitectura muy popular incluso hoy en día. Y me sorprende ver que la respuesta de Xiong ha sido rechazada también porque, con la excepción de escribir mal "PHY" en lugar de "SWITCH" (que podría corregirse desde el contexto, imo), tenía toda la razón.

    
respondido por el alex
1

Debe cambiar a una MCU de dos Ethernet o configurar dos VLAN para su único puerto Ethernet.

Solución 1 (fácil): Simplemente compre otra MCU con dos puertos Ethernet.

Solución 2 (difícil): Asegúrese de que su PHY sea compatible con VLAN (802.11q). Si la respuesta es No, solo compra otra PHY. Ahora ha confirmado que su PHY es compatible con VLAN. Entonces necesitas un chip de switch que también admita VLAN. No tengo tiempo para leer la hoja de datos de su chip de conmutación (RTL8305), así que asumo que es compatible con VLAN. En primer lugar, configure el chip de su conmutador para habilitar la VLAN basada en puerto. Supongamos que ha conectado su MCU con el puerto 0 de su chip de conmutador, el puerto 1 se configurará como WAN y el puerto 2-5 se configurará como LAN. Así que configure su chip de conmutador para configurar port0 como troncal, port1 como VLAN1 y port2-5 como VLAN2. Luego, en el Linux de su ARM9, configure dos NIC virtuales mediante vconfig. Por ejemplo, eth0.1 como VLAN1 y eth0.2 como VLAN2. Después de todo, puede usar eth0.1 como su WAN y eth0.2 como su LAN.

Lo siento por mi mal inglés.

    
respondido por el Lingfeng Xiong

Lea otras preguntas en las etiquetas