Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| howtos:papilio_duo [2015/06/11 16:18] – hackens | howtos:papilio_duo [2025/09/20 14:34] (Version actuelle) – hackens-pub | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Troubleshooting ====== | + | < |
| - | * L'AVR s' | + | ====== Papilio Duo ====== |
| + | |||
| + | ===== Troubleshooting ===== | ||
| + | |||
| + | ==== Je n' | ||
| + | |||
| + | `sudo modprobe cdc-acm` | ||
| + | |||
| + | ==== L'AVR ne marche pas comme prévu ==== | ||
| + | |||
| + | Appuyer sur le bouton RESET du FPGA ne reset pas l'AVR ! | ||
| + | |||
| + | ==== L'AVR n' | ||
| + | |||
| + | Attention, sur le pinout, c'est pas parce qu'un pin a un numéro d' | ||
| + | |||
| + | ==== L'AVR s' | ||
| Ne pas oublier que le FPGA doit driver ARD_RESET à 1 pour que l'AVR reste allumé ! | Ne pas oublier que le FPGA doit driver ARD_RESET à 1 pour que l'AVR reste allumé ! | ||
| - | * J' | + | ==== J' |
| Essayer de programmer le FPGA avec les ports 7 et 8 en inout, assignés à 1'bZ (haute impédance). Sinon le FPGA drive les ports LOW. | Essayer de programmer le FPGA avec les ports 7 et 8 en inout, assignés à 1'bZ (haute impédance). Sinon le FPGA drive les ports LOW. | ||
| + | |||
| + | ==== Comment communiquer entre l'AVR et le FPGA ? ==== | ||
| + | |||
| + | Le plus simple que j'ai trouvé est un protocole série sur deux pins communs. Malheureusement, | ||
| + | |||
| + | Coté FPGA, j'ai utilisé le " | ||
| + | |||
| + | Ca marche plutot bien à 9600 baud, mais pas trop au-delà (sans doute à cause du soft serial de l' | ||
| + | |||
| + | ==== Comment utiliser la SRAM ? ==== | ||
| + | |||
| + | La datasheet est ici : http:// | ||
| + | |||
| + | Ouhlà, il n'y a pas plus simple ? | ||
| + | Non. | ||
| + | |||
| + | ==== Bouhou il n'y a rien qui marche : le fpga fait des trucs complètement aléatoires, | ||
| + | |||
| + | Vérifier que le fichier de contraintes .ucf est bien lié au module courant dans ISE. Pour le déplacer dans la hiérarchie : | ||
| + | * Project -> manual compile order | ||
| + | * Clic droit-propriétés sur le .ucf et changer le " | ||
| + | * Décocher Project -> manual compile order | ||
| + | |||
| + | ==== Le FPGA n' | ||
| + | * Vérifier que le .ucf est bien associé au module courant | ||
| + | * Enlever toute charge du pin. Le drive est très faible, s'il y a besoin de résistance de PULLUP, utiliser au moins 100KOhm (je pense) | ||
| + | |||
| + | ==== Je n' | ||
| + | |||
| + | J'ai eu ce problème. Workaround : sélectionner le port FPGA et utiliser AVR- No USB - ISP. | ||
| + | Cela permet d' | ||
| + | |||
| + | ==== Comment parler en serial depuis le FPGA via le cable ? ==== | ||
| + | |||
| + | Je n'ai pas réussi à le faire... Les pins TX/RX (1/0) ne communiquent pas directement avec l'USB mais passent par une puce cheloue... | ||
| + | |||
| + | Par contre, ça marche très bien avec le cable FTDI en utilisant le module " | ||
| + | On peut aussi parler à l'AVR en serial puis le laisser répéter via le cable serial " | ||
| + | |||
| + | L' | ||
| + | |||
| + | ==== Mon design ne marche pas, c'est à cause des sorties 3.3V ? ==== | ||
| + | |||
| + | Parfois il est nécessaire de convertir les sorties 3.3V en sorties 5V avec un transistor, mais (de ce que j'en ai vécu) c'est surtout source de problème. N' | ||
| + | |||
| + | ==== Mon programme simule bien mais ISE ne veut pas générer le bitfile ! ==== | ||
| + | |||
| + | Verilog est un langage puissant et certaines de ses fonctions (par exemple la division ou le délai (#)) ne sont pas synthétisables, | ||
| + | |||
| + | ==== Le FPGA n' | ||
| + | |||
| + | Changer de cable | ||
| + | |||
| + | ==== Comment on flashe ? ==== | ||
| + | |||
| + | http:// | ||
| + | |||