Cours:InfoEmbarqueeConcommationMicroC
Révision datée du 23 septembre 2024 à 16:54 par Bjacquot (discussion | contributions) (→Ressources)
Media:Systèmes_embarqués_1.pdf
https://descartes.net/package_drazzy.com_index.json
Attiny841
support utilisé
Voici le schéma de la carte que vous utiliserez :
Sleep modes
Afin de limiter la consommation de la carte, nous allons utiliser les modes d'économie d'énergie disponibles sur le µcontrôleur utilisé.
Le principe sera le suivant :
- On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation
- Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
- On allume 1 led
- Retour au mode faible consommation après quelques secondes, en prenant soin d'éteindre la led
Vous vous servirez des fonctions disponibles dans le fichier avr/sleep.h pour passer en économie d'énergie.
Les différents modes sont détaillés Attiny841.pdf dans la partie 7. Le tableau donne la correspondance entre le mode de consommation et la valeur à utiliser dans les fonctions du fichier avr/sleep.h.
Sleep Mode | valeur programme c |
---|---|
idle | SLEEP_MODE_IDLE |
ADC Noise Reduction | SLEEP_MODE_ADC |
Standby | SLEEP_MODE_PWR_DOWN |
Power-Down | SLEEP_MODE_STANDBY |
Ressources
- Registres utiles
- DDR(A/B/C..) : direction
- 1 -> sortie
- 0 -> entrée
- PIN(A/B/C..) : état des entrées
- #include <util/sfr_defs.h>
- if bit_is_set(PINA,PA0) ... (bit_is_clear)
- loop_until_bit_is_set
- PORT(A/B/C..) : modifier les sorties
- DDR(A/B/C..) : direction
- générer le fichier lss
avr-objdump -S Blink.cpp.elf
Travail à réaliser
clock source partie 6
Fréquence | Fmax | Fmax | 8MHz | 1MHz | 1MHz | 32kHz | 32kHz |
---|---|---|---|---|---|---|---|
Tension | 5V | Umin | 5V | 5V | 3,3V | 3,3V | 1,7V |
Consommation |
Bilan
- Influence de Ualim
- consommation statique/dynamique (commutation)
- Fmax
- Influence de Fcpu
- consommation statique/dynamique (commutation)
- Umini