cómo implementar Ethernet con PIC, PIC18F97J60, PIC32MX (795F512L), ENC624J600, LAN8720A

2

Mi proyecto es una tarjeta de registrador de datos que debe montar un PIC de algún tipo para proporcionar USB y Ethernet como un medio para comunicarse con la tarjeta. Puedo desarrollar este sistema en dos productos: una versión de gama baja que proporciona 10Mbps (10BaseT) y una más destacada que debe proporcionar 100Mbps (100BaseT) para cumplir con LXI (LAN eXtension for Instrumentation).

Para la versión de gama baja que uso

PIC18F97J60

Esta parte ofrece el camino de menor resistencia. Obtengo todo en un chip incluyendo la capa PHY. Solo necesito agregar magnéticos y usar la pila MICROCHIP TCP / IP en el firmware para hacer el trabajo. Sin embargo, esto proporciona 10Mbps (10BaseT) solamente y el producto basado en esta solución no puede ser compatible con LXI.

Para la versión más destacada, quiero usar un miembro adecuado de

PIC32MX

Con el PIC32MX podría usar uno de los siguientes PHY

  1. LAN8720A / LAN8720Ai
  2. ENC424J600 / 624J600
  3. LAN9220, LAN9221 o similar

En pocas palabras, ¿cuáles son las principales diferencias y casos de uso entre estos PHY?

¿Hay un miembro de la familia PIC32MX que sea equivalente al PIC18F97J60 al ofrecer MAC y PHY todos integrados en un chip?

Gracias por tu ayuda

Saludos

    
pregunta D76X

2 respuestas

2

Por lo que sé, no hay versiones de 32 bits del chip PIC18F97J60. Creo que Luminary Micro (ahora TI) tenía uno, pero no estoy seguro de si todavía están disponibles (creo que leí en algún lugar donde se hicieron EOL).

Los chips ENC424J600 / 624J600 proporcionan MAC + PHY en 1 chip, y se comunican a través de SPI o interfaz paralela a cualquier microcontrolador. Sin embargo, debe transportar todos los datos de trama a través de esta interfaz SPI / paralela. La interfaz SPI solo puede ejecutarse a 20MHz aproximadamente, por lo que el búfer SRAM se desbordará a un rendimiento de medio a alto. Es bueno que el chip pueda comunicarse en redes de 100Mbps, pero no puede mantener esa velocidad de datos. Para evitar esto, puede ejecutar la interfaz a través de paralelo (que puede transferir hasta 80 / 160Mbps entre MCU y el controlador de Ethernet), pero eso implicará una docena o más de conexiones entre los chips.

El chip LAN9220 es muy similar al ENC624J600, pero solo es compatible con el paralelo.

Sugeriría buscar en los "chips Phy MII / RMII" si puede especificar uno de los chips PIC32MX6xx o 7xx de gama alta (o parte ARM alternativa). Incluyen el controlador MAC dentro del microcontrolador, con buffers de trama asignados dentro de su MCU RAM. Solo necesita un chip PHY externo barato, que básicamente traduce los datos MAC a señales Ethernet compatibles. Lo mejor de todo, RMII / MII no es exclusivo de Microchip. Muchos microcontroladores ARM también admiten interfaces de Ethernet RMII / MII. La mayor ventaja es que todos los movimientos de datos principales son manejados por hardware o DMA. Una vez que se le solicite a la pila de software / ethernet un nuevo paquete, ya está en la memoria RAM de la MCU lista para ser procesada. Esto produce un rendimiento muy bueno / decente y la latencia más baja del grupo.

MII es básicamente dos buses de datos de 4 bits separados que se ejecutan a 25MHz. Solo atarlos juntos al MCU y listo. RMII divide a la mitad el bus de 4 bits a 2 bits (menos señales), pero funciona a 50MHz.

    
respondido por el Hans
2

La mejor manera de ver la diferencia es ver este gráfico en la Ayuda de la pila TCP / IP de Microchip. No puedo decir dónde está esto en las versiones más nuevas de MAL, pero en v2012-10-15, se puede encontrar en C: \ Microchip Solutions v2012-10-15 \ Microchip \ Help \ TCPIP Stack Help.chm. Hay un bonito gráfico en Notas de la versión - > Rendimiento de pila. El MAL se puede encontrar aquí , incluidos los archivos.

En resumen, aquí hay algunos de los valores máximos básicos de LAN UDP (Kbytes / seg).

PIC18F97J60 = 113

PIC32MX795F512L + ENC624J600 = 784

PIC32MX795F512L + DP83848 = 8449

El DP83848 es un phy de TI, que actuará de manera similar al lan8720.

El Lan9220 parece ser algo equivalente en acción a una serie encj624, ya que es un Mac + Phy, pero quizás mucho más rápido.

Todas las series pic32mx solo tienen un mac. No permita que esto lo disuada de usar un phy separado, ya que existen razones lógicas para separarlos. Las combinaciones integradas de mac + phy en los PIC18 no siempre son fáciles de cumplir con los estándares de emisiones de la parte 15 de la FCC, por ejemplo.

La pila MAL de microchip es buena para usar con buenos documentos. Si ya está utilizando el PIC18F97J60, probablemente no tendrá mucho tiempo para actualizar a cualquier configuración compatible con MAL.

    
respondido por el Erik Friesen

Lea otras preguntas en las etiquetas