Le module PmodOLEDrgb de Digilent est composé d’un petit écran OLED de 96×64 pixels avec une interface SPI. Pour l’utiliser dans votre projet, vous devez d’abord intégrer un contrôleur de bus SPI.
En plus du bus SPI, ce module possède des broches supplémentaires qui doivent être pilotées séparément. Elles correspondent à la rangée du bas (broches 7 à 10) des connecteurs Pmod de la carte Basys3.
Computer
Dans le fichier Computer.vhd
, complétez l’entité Computer
en déclarant
les ports du connecteur d’extension que vous avez choisi.
Le tableau ci-dessous donne la liste des ports disponibles et leur rôle.
Ils sont tous de type std_logic
.
Rôle | JA |
JB |
JC |
JXADC |
Mode |
---|---|---|---|---|---|
Data/Command | pmod_a7 |
pmod_b7 |
pmod_c7 |
pmod_xadc7 |
out |
Reset | pmod_a8 |
pmod_b8 |
pmod_c8 |
pmod_xadc8 |
out |
Vcc Enable | pmod_a9 |
pmod_b9 |
pmod_c9 |
pmod_xadc9 |
out |
Pmod Enable | pmod_a10 |
pmod_b10 |
pmod_c10 |
pmod_xadc10 |
out |
Structural
Pour ne pas compliquer inutilement l’architecture, nous allons compléter la gestion
des sorties que nous avons mise en place dans l’activité Mon premier système embarqué.
L’architecture gère déjà 16 bits de sortie sur le port leds_o
, dont la mise à jour est
activée par le signal io_valid
(voir figure ci-dessous).
Nous allons simplement ajouter 4 bits de sortie supplémentaires.
Nous avons résumé ci-dessous les signaux utilisées pour piloter la mise à jour des
sorties du point de vue du processeur (remplacer pmod_X
par le nom du port que vous avez choisi) :
Sorties | Validation | Sélection | Données |
---|---|---|---|
leds_o(7 downto 0) |
io_valid |
core_write(0) |
core_wdata(7 downto 0) |
leds_o(15 downto 0) |
io_valid |
core_write(1) |
core_wdata(15 downto 8) |
pmod_X10 à pmod_X7 |
io_valid |
core_write(2) |
core_wdata(19 downto 16) |
Complétez le schéma en ajoutant la gestion des quatre ports de sortie correspondant aux bits 7 à 10 du connecteur Pmod que vous avez choisi.
À quelle adresse faudra-t-il écrire pour déclencher une mise à jour de ces quatre ports ?
Dans le fichier Computer.vhd
, complétez l’architecture en ajoutant un processus de gestion de ces ports.
Ils devront être mis à '1'
lors d’une réinitialisation du système.
Dans Vivado, générez le fichier binaire à charger dans le FPGA : Flow Navigator → Program and Debug → Generate Bitstream.
Si ce n’est pas déjà fait, reliez le connecteur micro-USB de la carte à un port USB de votre PC et mettez la carte sous tension.
Connectez Vivado à votre carte Basys3 : Flow Navigator → Program and Debug → Open Hardware Manager → Open Target → Auto-connect.
Configurez le FPGA : Flow Navigator → Program and Debug → Open Hardware Manager → Program Device.
Si vous n’avez pas d’autre périphérique à ajouter, vous pouvez passer à la section Développement logiciel embarqué.