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 [2022/05/05 07:40] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | * L'AVR s' | + | ===== 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:// | ||
+ |