Uso de Temac Core - XIilinx Virtex 5 board

2

Tengo la intención de enviar paquetes de datos desde mi PC a una placa Virtex-5 a través de un cable Ethernet. Encontré tres maneras de lograr esto: 1. Utilice el núcleo del procesador Microblaze, utilizando las herramientas EDK y SDK. (Sin embargo, utilizará una gran cantidad de recursos del dispositivo) 2. Crea una instancia del núcleo de Temac. 3. Construya su propia implementación basada en LUT para enviar los paquetes. (recurso eficiente, pero requerido para construir su propio bloque)

Voy por el enfoque basado en el núcleo de Temac, pero no pude encontrar mucha documentación / proyectos en esta área. Tengo un servidor que se ejecuta en mi PC y estoy usando una conexión de socket para enviar paquetes a través de ethenet. ¿Cómo puedo saber la dirección MAC de la placa? Y una vez que se haya creado una instancia del núcleo de Temac, ¿todo el procesamiento de datos se realizará por él? Tengo la intención de usar la comunicación TCP / IP, pero UDP / IP también está bien. No tengo mucha experiencia en el manejo de núcleos Xilinx, y tal vez me equivoque en algún momento. Por favor ayuda !!!

    
pregunta mac93

1 respuesta

2

He usado el núcleo de TEMAC directamente instanciado en la lógica, por lo que probablemente pueda darte algunas ideas y respuestas.

Documentación

En primer lugar, Xilinx proporciona una gran cantidad de documentos para cada uno de sus núcleos IP. También conservan documentos para diferentes versiones del núcleo, así que tenga cuidado de elegir el documento correcto. Una búsqueda de los documentos de soporte de Xilinx surgió con esta colección de documentos:

Documentación Xilinx TEMAC

El documento principal que desea consultar es el manual del usuario. Es MUY detallado y debe tener todo lo necesario para usar el núcleo en un proyecto. Dicho esto, puede ser bastante difícil analizar y obtener la información que desea.

Basándome en v4.5 del núcleo, creo que es la versión de instanciación directa más reciente (no el bus AXI). Los núcleos que puede usar dependerán de cuán actualizada esté su versión de ISE, pero no cambiarán los conceptos básicos entre las versiones.

El manual del usuario de TEMAC v4.5 se encuentra en enlace

Licencia

El núcleo de TEMAC requiere una licencia para usar. Una licencia de evaluación es gratuita y completamente funcional, pero deja de funcionar después de un tiempo

  

El núcleo se puede probar en el dispositivo de destino durante un tiempo limitado antes de que se agote el tiempo de espera (que deje de funcionar), momento en el que se puede reactivar mediante la reconfiguración del dispositivo.

En el dispositivo Spartan-6 utilicé el núcleo con un reloj de 50 MHz, el núcleo funcionó durante aproximadamente 8 horas, pero no hay documentación sobre cómo funciona exactamente el tiempo de espera.

Me gustaría obtener una cotización para una licencia antes de que trabajes demasiado con el núcleo, ¡cuesta un poco de dinero!

Función

Hay un diagrama de bloques del núcleo en la página 52 del documento.

EstolemuestraloquehaceelTEMACenlajergadeEthernet,perobásicamentelasinterfacescentralesentrelalógicadelusuarioylaEthernetPHY(quecontrolalasseñalesdelíneareales)enunabasedepaqueteporpaquete.

Laclavedelamayoríadesuspreguntasescómofuncionala"interfaz de cliente". Esta es la interfaz de su lógica y está bien descrita. Eche un vistazo a ese capítulo para ver cómo son los datos de entrada y salida de la interfaz.

Respuestas

Para responder a sus preguntas específicas:

  

¿Cómo puedo saber la dirección MAC de la placa?

El TEMAC toma la dirección MAC que le das y la usa, por lo que tendrás que proporcionarla desde algún lugar. Muchas placas de desarrollo proporcionan un chip EEPROM de dirección MAC que tiene almacenada una dirección única para que usted pueda leer y usar. Si no tiene una dirección MAC disponible en la placa, puede codificar una, pero tenga en cuenta que esto va en contra de las reglas y podría causar un problema si otro dispositivo en su red tiene esa dirección. Una solución bastante elegante es encontrar un dispositivo Ethernet antiguo que ya no usas y solo usar su dirección para las pruebas.

  

Y una vez que se haya creado una instancia del núcleo de Temac, ¿todo el procesamiento de datos se realizará por él?

No, en realidad no. Las interfaces del receptor y el transmisor funcionan a un nivel de paquete de Ethernet individual, por lo que su lógica debe proporcionar paquetes individuales. Esta es la capa 2 en el modelo OSI . Tendrá que crear otra lógica o usar otro núcleo para manejar cualquier protocolo de nivel superior que desee usar (como TCP o UDP).

He usado este núcleo para hacer que un sistema funcione, incluido escribir mis propios módulos para interactuar con la interfaz del cliente, y me complace responder a cualquier otra pregunta. Desafortunadamente, mi código es propiedad de la compañía para la que trabajo, pero puedo hablar de ello en general.

    
respondido por el Xcodo

Lea otras preguntas en las etiquetas