Le Conseil Digilent Zybo est construit autour de Xilinx Zynq SoC (System on Chip). Cette IC a deux cœurs Arm-A9 (dénommés ch - Processing System) qui se comportent comme n’importe quel autre microcontrôleur. Ce qui la rend si spéciale, c’est qu’il a aussi matériel FPGA (dénommé PL - automates programmables industriels) sur l’IC même comme le PS, permettant à l’utilisateur de créer des périphériques personnalisés pour le PS.
Ce tutoriel a été écrit d’après mon expérience en CPE439 de Cal Poly SLO : cours de systèmes embarqués temps réel. Une bonne application de cette partie de Zynq est un oscilloscope : le PS peut gérer les moins opérations critiques (interface utilisateur, dessiner des graphiques), tandis que le PL peut gérer les opérations critiques de temps (ADC mémoire tampon d’entrée, de déclenchement, les signaux de synchronisation VGA). Cet oscilloscope a été conçu pour répondre à certaines spécifications de base :
-Utilise une sonde standard 10:1 domaine d’application
-Tension d’entrée de - 10V à + 10V
-Bande passante = 100kHz [limité par construit dans la fréquence d’échantillonnage ADC = 1 MHz]
-Écran d’affichage, résolution ~ 640 x 480 VGA
-User Input par encod rotatif
Cet oscilloscope est composé de plusieurs blocs principaux. Ce sont :
-Front-End analogique : Atténuer et signaux d’entrée de décalage de niveau à un niveau utilisable par de le Zynq construit en ADC. Mis en œuvre avec plusieurs op amp filtres/amplificateurs.
-Tampon ADC / Trigger : valeurs échantillonnées par le connecteur Active Directory sont échantillonnées en permanence dans une mémoire tampon. Lorsque l’événement déclencheur (passant par une certaine tension avec une pente positive / négative sélectionnée), le tampon se remplit et signale qu’il est maintenant complet et prêt à lire.
-User Input transformation : Entrée d’utilisateur pour cet oscilloscope est prise en la forme de signaux de codeur et bouton rotatifs. Les signaux de l’encodeur doivent être traités pour donner des données utiles de rotationnels et ces données et le bouton données doivent être envoyées à l’unité de traitement.
-Traitement système : L’utilisateur d’entrée et ADC tampon données sont traitées et les valeurs sont écrites dans le pilote vidéo pour générer l’interface utilisateur graphique (GUI).
-Pilote vidéo : Une mémoire (mémoire contenant des valeurs de chaque pixel de l’écran) est écrites dans le système de traitement. Un pilote VGA génère les signaux de synchronisation requis par le protocole VGA, ainsi que des valeurs de lecture de la mémoire tampon de trame pour être envoyés à l’écran.