La tarjeta Digilent Zybo está construida alrededor de parte de Zynq SoC (System on Chip) de Xilinx. Este IC tiene doble núcleo Arm A9 (denominado PS - sistema de procesamiento) que funcionan como cualquier otro microcontrolador. Lo que la hace especial es que también tiene hardware FPGA (denominado PL - programable de la lógica) en el mismo IC como el PS, lo que permite al usuario crear periféricos personalizados para PS.
Este tutorial fue escrito desde mi experiencia en CPE439 de Cal Poly SLO: curso sistemas embebidos en tiempo Real. Una buena aplicación para esta parte de Zynq es un osciloscopio: la PS puede manejar el menor tiempo las operaciones críticas (interfaz de usuario, gráficos de dibujo), mientras que la PL puede manejar las operaciones críticas del tiempo (entrada ADC tampón, disparo, señales de temporización de VGA). Este osciloscopio fue diseñado para cumplir con algunas especificaciones básicas:
-Utiliza una sonda de alcance estándar de 10:1
-De entrada rango de voltaje de - 10V a + 10V
-Ancho de banda = 100kHz [limitada por construido en la frecuencia de muestreo ADC = 1 MHz]
-Pantalla de monitor VGA, resolución de ~ 640 x 480
-Entrada usuario a través de encod rotatorio
Este osciloscopio se compone de varios bloques principales. Estos son:
-Analog Front End: Atenuar y las señales de entrada cambio de nivel a un nivel utilizable por el Zynq construcción en ADC. A cabo con varios op amp filtros y amplificadores.
-Buffer ADC / mecanismo del disparador: valores muestreados por el ADC se muestrean continuamente en una memoria intermedia. Cuando ocurre el evento de disparo (que pasa por una cierta tensión con pendiente positiva / negativa seleccionada), el buffer se llena y señala que ahora está completo y listo para ser leído en.
-Usuario proceso de entrada: Entrada de usuario para este osciloscopio se toma en forma de señales de encoder y botón rotativas. Las señales de encoder deben ser procesadas para dar datos útiles de rotación y estos datos y el botón de datos deben ser enviados a la unidad de procesamiento.
-Sistema: El usuario de entrada y datos de búfer de ADC son procesados y valores se escriben en el controlador de video para generar la interfaz gráfica de usuario (GUI).
-Controlador: Un frame buffer (memoria manteniendo los valores de cada píxel de la pantalla) se escribe por el sistema de procesamiento. Un controlador VGA genera las señales de tiempo requeridas por el protocolo VGA, así como los valores de lectura desde el frame buffer a la pantalla.