Vous êtes sur la page 1sur 27

Présentation de la carte

Arduino MKR Vidor 4000

Filière : Système Embarquer

2022/2023

Realiser par:
Ikram Berrada
Salma ElM’kaddem
I. Initialisation et présentation de la carte FPGA
MKR VIDOR 4000

1- Objectifs :
 Présentation de la carte MKR VIDOR 4000.
 Se familiariser avec la conception de la carte ;
 Initiation à propos de la procédure de création d’une description
matérielle.
 Se familiariser avec le logiciel Intel Quartus.

2- Présentation de la carte MKR VIDOR 4000 :

L'Arduino MKR Vidor 4000 est un nouveau type de carte de développement qui combine les
hautes performances et la flexibilité d'un FPGA avec la facilité d'utilisation de l'Arduino. Elle
est basée sur un microcontrôleur SAMD21 et intègre également un FPGA (Field-
Programmable Gate Array) Intel Cyclone 10.

Cette combinaison unique de microcontrôleur et de FPGA offre aux utilisateurs une grande
flexibilité et des possibilités d'expérimentation avancées.

La carte MKR Vidor 4000 est conçue pour offrir une combinaison unique de microcontrôleur
et de FPGA, permettant ainsi aux développeurs d'exploiter les avantages de la logique
programmable et du traitement en temps réel. Elle est adaptée à une variété d'applications,
allant de l'Internet des objets (IoT) à l'intelligence artificielle embarquée et aux systèmes de
contrôle avancés.
Cette carte est basée sur le FPGA Cyclone 10CL016YU256C8G de Intel est qui se caractérise
par :

 Microcontrôleur :
 Microcontrôleur SAMD21 Cortex-M0+ 32 bits fonctionnant à 48 MHz.
 256 Ko de mémoire flash.
 32 Ko de RAM.
 FPGA :
 FPGA Intel Cyclone 10CL016 avec 16 000 éléments logiques (LE).
 504 Ko de mémoire embarquée (RAM).
 Connectivitéé :
 Wi-Fi 802.11b/g/n 2.4 GHz.
 Bluetooth Low Energy (BLE) .
 Interfaces :
 22 broches d'entrée/sortie numériques (dont 12 peuvent être utilisées comme
sorties PWM).
 7 entrées analogiques 12 bits.
 1 sortie stéréo PWM.
 1 interface micro HDMI.
 1 connecteur USB 2.0.
 1 connecteur I2S (pour l'audio).
 1 connecteur MIPI-DSI (pour l'affichage).
 1 connecteur MIPI-CSI (pour la caméra).
 Interfaces UART, SPI, I2C.
 Alimentation:
 Tension d'alimentation : 5V.
 Alimentation via USB ou connecteur d'alimentation externe (7V à 21V).

 Autres caractéristiques:
 Horloge temps réel (RTC) intégrée.
 Cryptographie matérielle intégrée pour la sécurité des données.
 Support de l'environnement de développement Arduino.
 Dimensions : 67.64 mm x 25 mm.

3- Principaux composant de la carte :

Cette carte utilise le facteur de forme et le brochage de la famille MKR sur les broches
analogiques et numériques standard. Il dispose d'une multitude de nouvelles fonctionnalités
disponibles via un ensemble de nouveaux composants et connecteurs, comme le montre
l'image ci-dessous :
 USB : Sur le dessus de la carte, vous trouverez un port micro USB standard,
directement connecté au MÊME microcontrôleur. Ce port est considéré par
l'ordinateur hôte comme un port de communication virtuel et il peut être utilisé pour
envoyer et recevoir des messages avec la fonction habituelle Serial () et le moniteur
série du logiciel Arduino (IDE). Sur le côté gauche du connecteur USB, vous
trouverez la LED INTÉGRÉE qui est rouge; sur le côté droit, une LED verte s'allume
lorsque l'alimentation est appliquée à la carte. Cette LED ne s'allume pas lorsque la
carte est alimentée par la batterie LiPo .

 LiPo Connector : Il s'agit du connecteur standard à deux pôles pour les batteries
LiPo. L'Arduino MKR Vidor 4000 est capable de fonctionner sur une batterie de 3,3 V
et a été conçu pour supporter des capacités d'au moins 500 mAh. Lorsque la carte est
connectée en USB, elle charge automatiquement la batterie LiPo. Le temps de charge
dépendra de la capacité de la batterie.

 I2C : Le connecteur à cinq pôles en haut à droite est notre connecteur ESLOV.
C'est un port I2C avec un signal d'interruption supplémentaire. De haut en bas, vous
avez:

1- VCC (3,3 volts continu)


2- WAKE
3- SCL
4- SDA
5- GND

Veuillez noter que cette interface utilise des niveaux de 3,3 V et fonctionne avec les
périphériques I2C prenant en charge les périphériques 3,3 V. Les périphériques 5V
nécessitent un circuit de décalage de niveau.
 Micro HDMI : Il s'agit d'un port vidéo standard qui vous permet de connecter un
moniteur. Si vous connectez une caméra MIPI à la carte, la sortie de ce port est l'image
capturée par la caméra lorsque vous chargez la bibliothèque Vid or graphique et le
streaming camera sketch.

 MIPI Camera Connector : l'Arduino MKR Vidor 4000 est conçu pour piloter
une caméra Omni vision OV5647. Le connecteur de caméra MIPI est un format
standard que vous trouvez sur plusieurs produits commerciaux. Ce type de connecteur
permet l'insertion facile du câble plat qui est verrouillé en appuyant sur le curseur noir
vers le connecteur. Pour déverrouiller le câble, vous devez retirer le curseur noir du
connecteur des deux côtés. Ne tirez jamais sur le câble de connexion plat avec le
curseur en position verrouillée.

 NINA-W102 Wifi : L'antenne WiFi intégrée au module u-blox NINA-W102 est


conçue pour les produits embarqués et ne doit pas être touchée. Appliquer une
pression ou une force dessus pourrait causer des dommages. Sa position devrait déjà
offrir une certaine protection, mais vous devez être prudent lorsque vous branchez et
débranchez les blindages car toute force de traction vers le haut appliqué à l'antenne
métallique pourrait la détacher.

Et voilà une autre figure qui explique bien la composition du carte MKR VIDOR 4000.
II. Configuration de la carte avec l’IDE d’Arduino
Si vous souhaitez programmer votre MKR Vidor 4000 hors ligne, vous devez installer l'IDE
de bureau Arduino et y ajouter le noyau Atmel SAMD pour Vidor. Cette procédure simple se
fait en sélectionnant le menu Outils, puis les cartes et le dernier Gestionnaire de cartes,
comme documenté dans la page Gestionnaire de cartes Arduino.

Ici, vous pouvez rechercher Vidor pour trouver le noyau bêta SAMD21 pour la carte. Cliquez
sur sa case et cliquez sur le bouton Installer. Dans la barre inférieure de la fenêtre, vous
pouvez suivre la procédure de téléchargement et d'installation.

Après il faut installer les bibliothèques nécessaires pour l’utilisation de la carte MKR VIDOR
4000
Voilà les quatre bibliothèques qu’il faut installer avant d’utiliser la carte :

 USBBLASTER : la bibliothèque USB Blaster est généralement associée à un


matériel spécifique, à savoir le programmateur USB Blaster, qui est utilisé pour la
programmation et le débogage des dispositifs FPGA d’Altera (maintenant Intel
FPGA).

 VidorGraphics : VidorGraphics est une bibliothèque conçue spécifiquement pour


la carte Arduino MKR Vidor 4000. Elle permet aux utilisateurs de créer et de
manipuler des éléments graphiques sur l'écran intégré à la carte. Avec
VidorGraphics, vous pouvez facilement dessiner des formes géométriques, afficher
du texte et des images, et gérer les entrées tactiles sur l'écran.

 VidorPeripherals : VidorPeripherals, vous pouvez facilement interagir avec des


composants matériels supplémentaires tels que des capteurs, des actionneurs et des
modules de communication.

 WIFININA : WIFININA est une bibliothèque pour les cartes Arduino qui utilisent
le module Wi-Fi NINA, telles que l'Arduino MKR VIDOR 4000. Cette bibliothèque
facilite la gestion des fonctionnalités Wi-Fi de la carte, vous permettant de vous
connecter à des réseaux sans fil, d'effectuer des requêtes HTTP, d'envoyer et de
recevoir des données sur Internet, et bien plus encore.

Après si vous voulez tester votre carte vous pouvez essayer d’allumer la led rouge intégrer
dans la MKR Vidor 4000.

1er étape : il faut choisir la carte et le port où il est connecté :

-Le choix de la carte :

 Tools > Board > Arduino samd Board > Arduino MKR VIDOR 4000.

-Le choix du port:

 Tools > Port > COM (ARDUINO MKR VIDOR 4000).

2eme étape : il faut ajouter le code pour le téléchargera à la carte.

On va juste choisir un simple code d’après les exemples d’arduino pour allumer la led .

 File > exemple > Basics > Blink.

Après il faut télécharger le code dans la carte.


Ce message afficher montre que le code a été bien télécharger dans la carte.

Voilà le clignotement de la led rouge.


III. Configuration de la carte MKR VIDOR 4000
avec le logiciel Intel Quartus .
Ce tutoriel et conçue pour aider les nouveaux utilisateurs à se familiariser avec la carte

Arduino Mkr vidor 4000 et de s’avoir comment la programmer à l’aide du logiciel Intel

Quartus . Le tutoriel présente les étapes suivantes :

1. Faire une description matérielle, a l’aide de Schematic ou en VHDL a pour but


l’exécution d’une logique combinatoire.

2. Faire une connexion des entrées et sorties du programme avec les pins de la carte
MKR Vidor 4000.

3. Télécharger le programme sur la carte MKR Vidor 4000 a l’aide du logiciel.

3.1 - Procédure de création de la description matérielle :


3.1.1 - Création d’un nouveau projet :

 Démarrez le logiciel Quartus Prime lite est suivre les étapes suivantes :

File New Project Wizard


 Après la création d’un nouveau projet il vous invite à choisir la location du projet et
son nom qu’il faut être même que le nom du l’entity du programme.

La location

Le nom du projet

 Après vous passer à la fenêtre Projet Type il faut choisir un projet vide (Empty
project) ensuite vous cliquer sur next.

 Ensuite vous diriger à la troisième fenêtre (Add Files) qui est réserver si vous avez
déjà des fichiers que vous voulez ajouter à votre projet mais dans notre cas en vas
juste passer cette étape.
 Dans la fenêtre suivante family, devices & board setting, vous devez choisir les
propriétés de la carte MkR Vidor 4000. Comme montre la figure suivante :

La famille
du
dispositive

Nom du
dispositif

Pour le nom de dispositif se trouve au niveau de la puce FPGA intégrer dans la carte c’est la
première ligne.

 Cliquez sur Next pour passer à la page qui Résume le projet Project Summary", puis
sur "Finish" pour sortir de l'assistant création de projet.

 Pour créer le code source de la description matérielle sélectionner.


File New.
Comme montre les figures suivantes.
 Sélectionner le type de fichier que vous désirez :

 VHDL File : pour une description matérielle à base du langage


VHDL.
 Block Diagramme/Schematic File : pour une description à base de
bloc logiques.

3.1.2 Utilisation de l'éditeur graphique (Schematic) comme méthode de conception:

Après la création de notre fichier ‘ Block1.bdf ’, on commence pour utiliser l’éditeur


graphique pour la réalisation notre montage. Comme montre les figures suivantes :

 1er partie : Pour le choix des portes logiques est des compteurs vous les trouvez dans
le symbole suivant :

 2eme partie : Et pour ajouter vos entres et sorties de système vous les trouves au
niveau du symbole suivant :
 3eme partie : Et finalement pour faire la liaison entre tous les composant se trouve au
niveau des symboles :

Et après savoir tous les composant qui pourrait en avoir besoin dans votre projet voilà
l’interface de l’éditeur en entier.

 Pour renommer les ports des entrées/sorties, on double clic sur la broche et on change
son nom dans la fenêtre "Symbol Propreties" qui apparait comme le montre la
figure suivante :

3.1.3 Création du fichier source en langage VHDL :

 Après la création du projet et du fichier source "Vhdl1.vhd", il apparaitre dans


l’écran comme il montre la figure suivante :
 Après vous pouvez ajouter votre d’description matérielle en langage VHDL qui se
compose de trois parties :

 1er partie : Déclaration des bibliothèques nécessaires.


 2eme partie : la déclaration des ports d'entrée/sortie dans l’entity.
 3eme partie : la description de notre système.

Voilà une figure montre la structure d’un programme en VHDL.


Library
Entity

Architecture

 Après avoir modifié et en registrer le fichier source Vhdl1.vhd, l'étape suivante consiste à vérifier la
syntaxe afin de vérifier que le code VHDL a été entré correctement :
 Passant à la compilation du code qui se montre dans les figures suivantes.

3.1.4. Assignation des broches des entrées/sorties :

Nous devons déclarés les pins d’entrées est sorties de la description matérielle du fichiers
‘Vhdl1.vhd’pour être compatible avec les pins de la carte MKR Vidor 4000 après savoir
compiler le code. Pour cette étape il suivre la procédure suivante :

Assignments Pin planer Location.


Nom du port Pin de carte Nom du port Pin de carte
PIN_C2 A0 PIN_T3 4
PIN_C3 A1 PIN_T2 5
PIN_C6 A2 PIN_G16 6
PIN_D1 A3 PIN_G15 7
PIN_D3 A4 PIN_F16 8
PIN_F3 A5 PIN_F15 9
PIN_G2 A6 PIN_C16 10
PIN_G1 0 PIN_C15 11
PIN_N3 1 PIN_B16 12
PIN_P3 2 PIN_C11 13
PIN_R3 3 PIN_A13 14

3.2 Téléchargement et test de la conception sur la carte de développement


MKR Vidor 4000

La prochaine étape consiste à télécharger la conception vers le kit de développement et de la


tester sur le matériel en temps réel.

 Après avoir installé le logiciel Quartus prime lite, connecter le connecteur Micro
USB du câble USB à la carte du kit de démarrage MKR Vidor 4000, comme indiqué à
la figure suivante.

 Lorsque le pilote du câble USB est correctement installé et que la carte est correctement connectée à
l’ordinateur. Une led verte intégrer dans la carte s’allume.

3.2.1. Téléchargement de la conception :

 Avant l’implémentation u programme dans la carte il faut ajouter un driver pour que le logiciel peut
connaitre la carte qui se montre dans les étapes suivantes :

 1 er étape : télécharger un code arduino dans la carte qui vous le trouves dans

File Exemples USBBlaster


Voici le code :

 Apres l’implémentation du code dans il faut installer un driver du code dans le


gestionnaire des périphériques et pour le télécharger suivre les étapes montres
dans les figures suivantes :

 Avant il faut choisir d’après les contrôleurs de bus USB laquelle a le


chemin convenable qui se montre dans les figures suivantes

2
Le chemin convenable

7
8

Voila le driver

 2eme étape : Dans la fenêtre du logiciel ‘Tasks’, click droit à Program


Device et choisir Open.
 3eme étape : choisir le matérielle convenable

 4eme étape : cliquer sur Start pour commençais la simulation.


IV. Manipulations.

4.1 – bouton poussoir avec une led .

Dans cette manipulation on va essayer de faire Controller l’allumage d’une led a l’aide d’un
bouton poussoir s’il est enfoncé (état haut) implique l’allumage de la led.

Pour effectuer cette manipulation il faut suivre les étapes suivantes :

 Tout d'abord, définissez les broches nécessaires dans votre code VHDL. Vous
aurez besoin d'une broche d'entrée pour le bouton poussoir et d'une broche de
sortie pour la LED.

 Déclarez une variable pour stocker l'état du bouton poussoir, par exemple
"inputsignal".

 Utilisez une instruction de processus pour détecter les changements d'état du


bouton poussoir. Lorsque le bouton poussoir est enfoncé (état haut), mettez à
jour la variable "inputsignal" en conséquence.

 À l'intérieur du processus, utilisez une instruction if-then-else pour déterminer


l'état de la LED en fonction de la variable "inputsignal". Par exemple, si
"inputsignal" est à l'état haut, activez la broche de sortie de la LED pour
l'allumer. Sinon, désactivez la broche de sortie pour éteindre la LED.

 Compilez votre code VHDL et configurez votre FPGA pour exécuter le


circuit.

-Voici le programme VHDL de notre système


Le montage des composant :

La réalisation :

4.2 Bouton poussoir avec deux leds :

Dans cette manipulation on va essayer de faire contrôler l’allumage de deux leds


a l’aide d’un bouton poussoir.

Le principe de cette manipulation c’est quand on appui sur le bouton poussoir


une led s’allume et l’autre s’éteindre et vice versa quand en relâche le bouton
poussoir.

- Le programme VHDL de la manipulation


Le montage :

La réalisation :

4.3 Additionneur 1 bit :

Dans cette manipulation en va essayer de simuler le résultat d’un additionneur 1


bit a l’aide du tesbench

Considérons un additionneur 1 bit qui se composent :


 3 entrées : A, B et la retenu d’entrée Cin chacune sur un bit
 2 sorties : S (la somme) et la retenu de sortie Cout chacune sur un bit
également.
- Le Programme VHDL du système

 Création d’un testbench


Pour faire une simulation a l’aide du testbench il suivre la procédure
suivante :

File New Verification /Debugging file University program VWF

 Après la création d’un testebnch il vous faut choisir une période précise et combien de
ns seconde vous voulez visualiser le résultat.
Edit Set end time : pour choisir la période totale de la simulation.
 Le choix du période de changement de de résultat.

 Ensuit on va ajouter les entres et les sorties du notre système :


Edit Insert Insert Node or Bus Node finder List
1

 Après en lance la simulation par:

Simulation Run functional simulation


- Voici la simulation d’un additionneur 1 bit.

A l’instant t =0 ns.

A l’instant t = 4 ns.

Pour changer la période

Vous aimerez peut-être aussi