2 votos

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

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

Para la versión de gama baja utilizo

PIC18F97J60

Esta parte ofrece el camino de menor resistencia. Lo tengo todo en un solo chip, incluida la capa PHY. Sólo necesito añadir magnetismo y utilizar la pila MICROCHIP TCP/IP gratuita 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 utilizar un miembro adecuado de

PIC32MX

Con el PIC32MX podría utilizar uno de los siguientes PHYs

  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 algún miembro de la familia PIC32MX que sea equivalente al PIC18F97J60 ofreciendo MAC y PHY todo integrado en un solo chip?

Gracias por su ayuda

Saludos

2voto

Avner Puntos 2065

Que yo sepa 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 alguna parte que se fue EOL).

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

El chip LAN9220 es muy similar al ENC624J600, pero sólo soporta el modo paralelo.

Yo sugeriría buscar en los "chips MII/RMII Phy" si puedes especificar uno de los chips de gama alta de la serie PIC32MX6xx o 7xx (o una parte alternativa de ARM). Incluyen el controlador MAC dentro del microcontrolador, con búferes de trama asignados dentro de la RAM de tu MCU. Sólo necesitas un chip PHY externo barato, que básicamente traduce los datos MAC a señales Ethernet compatibles. Lo mejor de todo es que RMII/MII no es exclusivo de Microchip. Muchos microcontroladores ARM también soportan interfaces ethernet RMII/MII. La mayor ventaja es que los principales movimientos de datos se gestionan por hardware o DMA. Una vez que la pila de software/ethernet es avisada de un nuevo paquete, éste ya está en la RAM del MCU listo para ser procesado. Esto produce un rendimiento muy decente/bueno y la latencia más baja del grupo.

MII es básicamente dos buses de datos de 4 bits separados que funcionan a 25MHz. Sólo hay que unirlos a la MCU y ya está. RMII reduce el bus de 4 bits a 2 bits (menos señales), pero funciona a 50MHz.

2voto

Ranjit Puntos 51

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 la MAL, pero en la v2012-10-15, se puede encontrar en C:\Microchip Soluciones v2012-10-15 \Microchip\Help\TCPIP Ayuda de la pila.chm. Hay un bonito gráfico en Release Notes->Stack Performance. El La MAL se puede encontrar aquí incluyendo los archivos.

En resumen, he aquí algunos rendimientos máximos LAN UDP (Kbytes/seg).

PIC18F97J60 = 113

PIC32MX795F512L + ENC624J600 = 784

PIC32MX795F512L + DP83848 = 8449

El DP83848 es un phy de TI, que va a actuar de forma similar al lan8720.

El Lan9220 parece ser algo equivalente en acción a un encj624 series, ya que es un mac + phy, pero mucho más rápido quizás.

Todas las series pic32mx sólo tienen un mac. No dejes que esto te disuada de usar un phy separado, ya que hay razones lógicas para tenerlos separados. Las combinaciones de mac+phy integradas en los PIC18 no siempre tienen facilidad para cumplir con las normas de emisiones de la parte 15 de la FCC, por ejemplo.

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X