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 | ||
tpdacspi [2015/02/18 23:23] bvandepo [gestion interruption timer arduino] |
tpdacspi [2017/02/20 16:56] (Version actuelle) bvandepo [Implémenter le contrôle du DAC] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ===== Documentation du composant===== | ||
+ | https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwjJ9tSfjPzKAhWK2BoKHe-HAZQQFggkMAA&url=http%3A%2F%2Fwww.ti.com%2Flit%2Fds%2Fsymlink%2Ftlv5637.pdf&usg=AFQjCNEeLRCx4uL9DCKrbjuLasJNodv4lg&cad=rja | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{http://homepages.laas.fr/bvandepo/files/iut/tp_dacspi/TPCOMDACSPI.png}} | ||
+ | |||
+ | {{http://homepages.laas.fr/bvandepo/files/iut/tp_dacspi/schema.png}} | ||
+ | |||
+ | |||
+ | fichiers eagle: http://homepages.laas.fr/bvandepo/files/iut/tp_dacspi/carte-arduino-tlv56-8.sch et http://homepages.laas.fr/bvandepo/files/iut/tp_dacspi/carte-arduino-tlv56-8.brd | ||
+ | |||
+ | |||
+ | ==== Implémenter le contrôle du DAC ===== | ||
+ | |||
+ | Mettre en oeuvre les méthodes de contrôle de du DAC SPI comme vus en TD. | ||
+ | |||
+ | <color #FF0000>**Il est demandé d'utiliser le mode SPI 2 même si l'analyse de la documentation du composant nous dit que les modes 1 et 2 conviennent, sinon la commande simultanée des 2 voies du DAC ne fonctionne pas!**</color> | ||
+ | |||
+ | |||
+ | Ecrire le code pour générer une rampe qui couvre la dynamique du DAC avec un delai de 100µs entre chaque pas. | ||
+ | |||
+ | ==== Génération de signaux ==== | ||
+ | |||
+ | Utiliser le DAC pour générer un signal sinusoïdal sur la voie A (en utilisant la fonction sin) et un signal sinusoïdal déphasé de 90 degrés sur la voie B (en utilisant la fonction cos). | ||
+ | |||
+ | ==== Recopie de signaux ==== | ||
+ | |||
+ | Implémenter la recopie d'un signal capturé sur la voie 0 du convertisseur analogique numérique de l'Arduino. | ||
=====gestion interruption timer arduino===== | =====gestion interruption timer arduino===== | ||
- | <ifauth @admin> | + | <ifauth @prof> |
+ | |||
+ | ====Méthode par utilisation librairie arduino Timer==== | ||
+ | http://playground.arduino.cc/Code/Timer1 | ||
+ | |||
+ | |||
+ | utilisant la librairie MsTimer2 décrite ici : http://www.arduino.cc/playground/Main/MsTimer2 | ||
+ | |||
+ | http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoInitiationInterruptionsTemporisationTimer2UneSeconde | ||
+ | ====Méthode par configuration des registres==== | ||
http://www.instructables.com/id/Arduino-Timer-Interrupts/?ALLSTEPS | http://www.instructables.com/id/Arduino-Timer-Interrupts/?ALLSTEPS | ||
Ligne 131: | Ligne 172: | ||
</ifauth> | </ifauth> | ||
- | =====spi bitbang===== | + | =====gestion interruption matérielle sur broches 2 et 3===== |
- | <ifauth @admin> | + | http://arduino.cc/en/Reference/AttachInterrupt |
+ | |||
+ | =====SPI Matériel===== | ||
+ | http://arduino.cc/en/Reference/SPI | ||
+ | |||
+ | =====SPI bitbang===== | ||
+ | <ifauth @prof> | ||
http://little-scale.blogspot.fr/2007/07/spi-by-hand.html | http://little-scale.blogspot.fr/2007/07/spi-by-hand.html | ||
- | </ifauth> | + | |
+ | déjà implémenté correctement: http://arduino.cc/en/Reference/shiftOut | ||
+ | |||
+ | </ifauth> | ||
+ | |||
+ | |||
+ | =====Librairie TLV5637===== | ||
+ | <ifauth @prof> | ||
+ | http://homepages.laas.fr/bvandepo/files/iut/tp_dacspi/Tlv5637.zip | ||
+ | |||
+ | |||
+ | La version 1.6 stocke les librairies dans ~/Arduino/libraries | ||
+ | |||
+ | alors que la 1.0.5 stocke les librairies dans ~/sketchbook/libraries | ||
+ | |||
+ | </ifauth> |