Buscar este blog

miércoles, 19 de noviembre de 2014

PRACTICA # 10 ETHERNET


  • La simulación hardware-in-the-loop (HIL) es una técnica usada para el desarrollo y comprobación de sistemas embebidos en tiempo real complejos. La simulación HIL constituye una plataforma efectiva porque incluye toda la complejidad de la planta que controla el sistema embebido. Esto lo realiza mediante modelos matemáticos de todos los sistemas dinámicos relacionados con la planta bajo control, formando lo que se denomina como "simulación de la planta". El sistema embebido que se está comprobando interactúa con esta simulación de la planta.


  • HARDWARE IN THE LOOP EN LA PLATAFORMA ZEDBOARD (ZYNQ-7000)


La implementación del HIL en la Zedboard se llevó a cabo con los siguientes elementos:

HARDWARE:
     
       1) ZYNQ-7000
 2) Bus de comunicación Ethernet

      SOFTWARE:

        1) FreeRTOS
        2) VIVADO
        3)   SDK XILINX
        4)   MATLAB (SIMULINK)
        5) VISUAL STUDIO C++
        6)  NI LABVIEW


  •         PASOS PARA CORRER HIL EN ZEDBOARD:


          1) Montar sistema FreeRTOS con IWIP habilitada. Ver documento Word Implementación de FreeRTOS.

            2) Abrir el proyecto Project_FreeRTOS_IwIP.zip donde está montado ya todo el sistema. En caso de que no pueda abrirse correctamente el SDK. Revisar el documento word (pasos para correr el SDK cuando compartes proyecto).

              3) Asignarle una dirección IP y mascara a tu conexión local de tu pc.



           4) Conectar el cable Ethernet entre tu PC y la Zedboard.
     
     5)  Programar el FPGA (.bit) y el correr el ARM (.elf)



EJEMPLOS:
  • MATLAB (código .m)
Abrir el archivo zedboard.m y comprobar que hace correctamente lo de la siguiente figura.

Se envía el string Hola Carlos y el valor 26. Y la tarjeta Zedboard responde con ECO lo mismo.


  • MATLAB (simulink)


Se construye el diagrama de bloque como en la siguiente figura, donde básicamente se están enviando 4 valores (1, 80, 125, 255). Y por ECO de la tarjeta Zedboard se recibe lo mismo en el bloque del display.




  • VISUAL STUDIO C++

Se hace un programa con el compilador visual studio en C++. Se hace la conexión con la IP y puerto de la ZedBoard. Y se envía como ejemplo 8 datos (1,..8). Los cuales se vuelven a recibir y se imprimen.





  • NI LABVIEW

 Se crea los diagramas de bloques necesarios en labview por medio de socket para hacer la conexión y envió de datos exactamente igual que en visual C++.




  • TERMINAL TCP/IP

 Rapido conexion y envio de datos por medio de una terminal como Comm Operator. Se muestra en la parte de abajo la IP y puerto de conexión y como enviamos un string de caracteres y recivimos lo mismo de la tarjeta zedboard.



  • IMPLEMENTACION EXITOSA!












1 comentario:

  1. Buenos dias, donde puedo encotrar el codigo de este programa? gracias

    ResponderBorrar